RE: Page Fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux