Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d6ea68d

Browse files
Fix punctuation and phrasing
This commit addresses several minor grammatical and punctuation issues throughout the document to improve readability. Signed-off-by: Chia-Hao Chiu <jordan871130@gmail.com>
1 parent a8b652b commit d6ea68d

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

‎lkmpg.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ \subsection{Before We Begin}
160160
Variances exist among individuals' systems, and distinct personal approaches are evident.
161161
The achievement of successful compilation and loading of the inaugural ``hello world'' program may,
162162
at times, present challenges.
163-
It is reassuring to note that overcoming the initial obstacle in the first attempt paves the way for subsequent endeavors to proceed seamlessly.
163+
It is reassuring to note that overcoming the initial obstacle on the first attempt paves the way for subsequent endeavors to proceed seamlessly.
164164

165165
\begin{enumerate}
166166
\item Modversioning.
@@ -208,7 +208,7 @@ \section{Headers}
208208
apt-cache search linux-headers-`uname -r`
209209
\end{codebash}
210210

211-
The following command provides information on the available kernel header files.
211+
The following command provides information about the available kernel header files.
212212
Then, for example:
213213
\begin{codebash}
214214
sudo apt-get install linux-headers-`uname -r`
@@ -278,7 +278,7 @@ \subsection{The Simplest Module}
278278
This is because some environment variables are specified by the security policy and cannot be inherited.
279279
The default security policy is \verb|sudoers|.
280280
In the \verb|sudoers| security policy, \verb|env_reset| is enabled by default, which restricts environment variables.
281-
Specifically, path variables are not retained from the user environment; they are set to default values (for more information see: \href{https://www.sudo.ws/docs/man/sudoers.man/}{sudoers manual}).
281+
Specifically, path variables are not retained from the user environment; they are set to default values (for more information, see: \href{https://www.sudo.ws/docs/man/sudoers.man/}{sudoers manual}).
282282
You can see the environment variable settings by:
283283

284284
\begin{verbatim}
@@ -1437,7 +1437,7 @@ \section{System Calls}
14371437
Then, you are mostly on your own.
14381438

14391439
Notice that this example has been unavailable since Linux v6.9.
1440-
Specifically after this \href{https://github.com/torvalds/linux/commit/1e3ad78334a69b36e107232e337f9d693dcc9df2#diff-4a16bf89a09b4f49669a30d54540f0b936ea0224dc6ee9edfa7700deb16c3e11R52}{commit}, due to the system call table changing the implementation from an indirect function call table to a switch statement for security issues, such as Branch History Injection (BHI) attack.
1440+
Specifically, after this \href{https://github.com/torvalds/linux/commit/1e3ad78334a69b36e107232e337f9d693dcc9df2#diff-4a16bf89a09b4f49669a30d54540f0b936ea0224dc6ee9edfa7700deb16c3e11R52}{commit}, due to the system call table changing the implementation from an indirect function call table to a switch statement for security issues, such as Branch History Injection (BHI) attack.
14411441
See more information \href{https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2060909}{here}.
14421442

14431443
Should one choose not to use a virtual machine, kernel programming can become risky.
@@ -1845,7 +1845,7 @@ \subsection{Flashing keyboard LEDs}
18451845
Thus, it is better to use a unique prototype to separate from the cluster that takes an \cpp|unsigned long| argument.
18461846
The timer callback should be passed a pointer to the \cpp|timer_list| structure rather than an \cpp|unsigned long| argument.
18471847
Then, it wraps all the information the callback needs, including the \cpp|timer_list| structure, into a larger structure, and it can use the \cpp|container_of| macro instead of the \cpp|unsigned long| value.
1848-
For more information see: \href{https://lwn.net/Articles/735887/}{Improving the kernel timers API}.
1848+
For more information, see: \href{https://lwn.net/Articles/735887/}{Improving the kernel timers API}.
18491849

18501850
Before Linux v4.14, \cpp|setup_timer| was used to initialize the timer and the \cpp|timer_list| structure looked like:
18511851
\begin{code}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /