Skip to content

Commit 0d9881f

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

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)