在 this question ,我了解到尝试不在环 0 中运行特权指令可能会导致用户进程中出现类似于段错误的情况,我有两个后续问题。
- 所有特权指令都是如此吗?
- 还有哪些其他类型的错误可能导致假段错误,但与尝试读取内存无关?
最佳答案
通读指令集引用并查看在哪里列出了非内存问题的 #GP
。不完整列表:CLI
、CLTS
、HLT
、IN
、INT
(带有无效向量)、INVD
、INVLPG
、IRET
(在某些情况下)、LDMXCSR
(设置保留位)、LGDT
,LIDT
,LLDT
,LMSW
,LTR
,MONITOR
code>(使用 ECX != 0
)、MOV
(到 CRx
或 DRx
)、MWAIT
(ECX
无效)、OUT
、RDMSR
、RDPMC
、SWAPGS
、SYSEXIT
、SYSRET
、WBINVD
、WRMSR
、XGETBV
(无效 ECX
),XRSTOR
,XSETBV
关于linux - 当错误与内存访问无关时,是否会显示 `segfaults` 错误列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292963/