fix lguest rmmod "bad pgd"
After 17d57a9206b4de6ad082ac9f2d2346985abbd2aa ("x86: fix x86-32 early fixmap initialization.") removing lg.ko caused a printk from vunmap: mm/memory.c:115: bad pgd 004b3027. On the second use after module load, the kernel crashes. This fixes the immediate problem (accessed and dirty bits not set as expected in pmd_none_or_clear_bad). I can't see why this would cause a crash, but I haven't been able to reproduce it once this is applied. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e697789d64
commit
476c6c11a9
@ -196,7 +196,7 @@ default_entry:
|
||||
/* Do an early initialization of the fixmap area */
|
||||
movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
|
||||
movl $(swapper_pg_pmd - __PAGE_OFFSET), %eax
|
||||
addl $0x007, %eax /* 0x007 = PRESENT+RW+USER */
|
||||
addl $0x67, %eax /* 0x67 == _PAGE_TABLE */
|
||||
movl %eax, 4092(%edx)
|
||||
|
||||
xorl %ebx,%ebx /* This is the boot CPU (BSP) */
|
||||
|
Loading…
x
Reference in New Issue
Block a user