RE: Page Fault
양원혁
kjhg4321 at naver.com
Wed Apr 22 23:44:50 EDT 2020
I'm sorry I said the wrong thing.
First of all, page fault isn't blocked by cli instuction.
Page fault is a type of fulat(not a interrupt)
This log is printed from the page fault handler.
> [ 4024.792614] #PF: supervisor write access in kernel mode
> [ 4024.793944] #PF: error_code(0x0002) - not-present page
> [ 4024.794920] PGD 0 P4D 0
But, the strange thing is that the address where the page fault occurred is a strange address(0x000000008004020b).
This address looks similar to the value of cr0. Adding 8*59 to this cr0 value immediately
results in the address where the page fault occurred.
cr0 = 0x0000000080040033
cr2 = 0x000000008004020B
cr2 == cr0[59]
This is because the rax register was missing from the clobber field of the inline assembly.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20200423/f10dab77/attachment.html>
More information about the Kernelnewbies
mailing list