Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=476c6c11a9ee4610ff0e4941e3851729f7caf062
Commit:     476c6c11a9ee4610ff0e4941e3851729f7caf062
Parent:     e697789d64f8748cb219d7f5c413c512953802cc
Author:     Rusty Russell <[EMAIL PROTECTED]>
AuthorDate: Tue Jan 1 21:48:36 2008 +1100
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Jan 1 11:30:35 2008 -0800

    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 <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 arch/x86/kernel/head_32.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index ac0637a..fbad51f 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -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) */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to