问个内核页表的问题
内核在建立临时内核页表的时候 页表的属性是 7,也即是 存在 用户 可读可写。
在建立最终页表的时候,代码段和数据段 页表的属性 都不同。
但是在x86平台上,如果cpu在ring0级别是绕过了 页表的保护机制的。 内核页表 指定了 U/S 或者 W/R都没有意义哦。
[解决办法]
主要是cr0下的第十六位wp位,当wp=0,那么ring0就具备更改的权利,如果wp=1,那ring0就不具备读写权利了。