[Lguest] rmmod lg causes system to crash
Balaji Rao
balajirrao at gmail.com
Fri Dec 28 19:39:50 EST 2007
Hi rusty,
I get an error saying bad pgd 00637027 when i do an rmmod lg and sooner or
later i get a recursive fault and the system hangs.
I traced this to the function unmap_kernel_range which unmaps pgds, puds,
pmds , finally the ptes. the ptes.
What happens is, when it tries to unmap pmds, the pmd_none_or_clear_bad prints
out this message. What i found surprising is, in the 2-level page table
setup, where pgd == pmd == pud, neither pgd_none_or_clear_bad or
pud_none_or_clear_bad indicate an error but pmd_none_or_clear_bad does.
I run the kernel in qemu where I do an 'info mem' in the monitor, and i see
two mappings that are above ffc00000 (is it the vDSO or something ?).
ffe16000 - ffe17000 and
ffffb000 - ffffc000
And I think when map_switcher tries to get a vmarea around ffc0000, it uses
the pgd_entry of the above mentioned mappings which is BAD according to
pmd_none_or_clear_bad.
Are the above mentioned mappings are causing the problem ?If they are the
vDSO, can we disable them ?
Please help me fix this.
regards,
balaji rao
More information about the Lguest
mailing list