如何找出哪些寄存器受 Linux 内核保护以防止用户程序集写入它们?
问问题
1292 次
1 回答
18
首先,请注意 Linux 内核本身并没有真正保护寄存器。它所做的只是确保用户应用程序以 3 级特权(最低特权)运行。从那时起,执行寄存器保护的是处理器。
以下是只能从特权级别 0(即,从内核)访问的寄存器列表:
- 控制寄存器 (
CR0
-CR4
) GDTR
,LDTR
和IDTR
(全局/局部/中断描述符表寄存器)TR
(任务寄存器)- 调试寄存器 (
DR0
-DR7
) - 所有型号特定的寄存器(
MSR
s)
您应该阅读Intel 系统编程手册的第 5 章,了解有关 x86 保护的详细说明。
于 2012-04-17T07:23:22.057 回答