You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lkmpg.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1475,7 +1475,7 @@ \section{System Calls}
1475
1475
A control register is a processor register that changes or controls the general behavior of the CPU.
1476
1476
For x86 architecture, the \verb|cr0| register has various control flags that modify the basic operation of the processor.
1477
1477
The \verb|WP| flag in \verb|cr0| stands for write protection.
1478
-
Once the \verb|WP| flag is set, the processor disallows further write attempts to the read-only sections
1478
+
Once the \verb|WP| flag is set, the processor disallows further write attempts to the read-only sections.
1479
1479
Therefore, we must disable the \verb|WP| flag before modifying \cpp|sys_call_table|.
1480
1480
Since Linux v5.3, the \cpp|write_cr0| function cannot be used because of the sensitive \verb|cr0| bits pinned by the security issue, the attacker may write into CPU control registers to disable CPU protections like write protection.
1481
1481
As a result, we have to provide the custom assembly routine to bypass it.
0 commit comments