Skip to content

Commit d299770

Browse files
committed
Rewrite a statement
The wording could be improved, rewrite it. Reported-by: Cheng-Yang Chou <[email protected]>
1 parent 1dd1666 commit d299770

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

lkmpg.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1840,7 +1840,7 @@ \subsection{Flashing keyboard LEDs}
18401840

18411841
From v4.14 to v4.15, the timer API made a series of changes to improve memory safety.
18421842
A buffer overflow in the area of a \cpp|timer_list| structure may be able to overwrite the \cpp|function| and \cpp|data| fields, providing the attacker with a way to use return-oriented programming (ROP) to call arbitrary functions within the kernel.
1843-
Also, the function prototype of the callback, containing an \cpp|unsigned long| argument, will prevent work from any type checking.
1843+
Also, the function prototype of the callback, containing an \cpp|unsigned long| argument, will prevent the compiler from performing type checking.
18441844
Furthermore, the function prototype with \cpp|unsigned long| argument may be an obstacle to the forward-edge protection of \textit{control-flow integrity}.
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.

0 commit comments

Comments
 (0)