最近我遇到了一个错误“地址ffff88007eccb080损坏的页面表”,其中包含Oops:0009 [#1]。使用http://lxr.linux.no/#linux+v3.9.4/arch/x86/mm/fault.c#L29
中的信息Page fault error code bits:
bit 0 == 0: no page found 1: protection fault
bit 1 == 0: read access 1: write access
bit 2 == 0: kernel-mode access 1: user-mode access
bit 3 == 1: use of reserved bit detected
bit 4 == 1: fault was an instruction fetch
错误是由于保护错误和使用检测到的保留位造成的。这些来源是否真的导致地址ffff88007eccb080损坏的页面表?
我是否可以确定此虚拟地址映射到哪个进程并导致该地址损坏?
谢谢
答案 0 :(得分:0)
来自https://bugzilla.redhat.com/show_bug.cgi?id=859188#c43:
错误代码具有“损坏的页表”消息 PF_RSVD位置1。
因此,use of reserved bit detected
位会导致Oops。
地址ffff88007eccb080属于内核空间(在所有进程中共享),而不属于任何用户进程的专用虚拟地址空间。