Commit 944d2647 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[PATCH] x86_64: Drop global bit from early low mappings

Drop global bit from early low mappings

Suggested by Linus, originally also proposed by Suresh.

This fixes a race condition with early start of udev, originally
tracked down by Suresh B. Siddha. The problem was that switching
to the user space VM would not clear the global low mappings
for the beginning of memory, which lead to memory corruption.

Drop the global bits.

The kernel mapping stays global because it should stay constant.
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f6e63cfb
...@@ -270,26 +270,26 @@ ENTRY(level3_kernel_pgt) ...@@ -270,26 +270,26 @@ ENTRY(level3_kernel_pgt)
.org 0x4000 .org 0x4000
ENTRY(level2_ident_pgt) ENTRY(level2_ident_pgt)
/* 40MB for bootup. */ /* 40MB for bootup. */
.quad 0x0000000000000183 .quad 0x0000000000000083
.quad 0x0000000000200183 .quad 0x0000000000200083
.quad 0x0000000000400183 .quad 0x0000000000400083
.quad 0x0000000000600183 .quad 0x0000000000600083
.quad 0x0000000000800183 .quad 0x0000000000800083
.quad 0x0000000000A00183 .quad 0x0000000000A00083
.quad 0x0000000000C00183 .quad 0x0000000000C00083
.quad 0x0000000000E00183 .quad 0x0000000000E00083
.quad 0x0000000001000183 .quad 0x0000000001000083
.quad 0x0000000001200183 .quad 0x0000000001200083
.quad 0x0000000001400183 .quad 0x0000000001400083
.quad 0x0000000001600183 .quad 0x0000000001600083
.quad 0x0000000001800183 .quad 0x0000000001800083
.quad 0x0000000001A00183 .quad 0x0000000001A00083
.quad 0x0000000001C00183 .quad 0x0000000001C00083
.quad 0x0000000001E00183 .quad 0x0000000001E00083
.quad 0x0000000002000183 .quad 0x0000000002000083
.quad 0x0000000002200183 .quad 0x0000000002200083
.quad 0x0000000002400183 .quad 0x0000000002400083
.quad 0x0000000002600183 .quad 0x0000000002600083
/* Temporary mappings for the super early allocator in arch/x86_64/mm/init.c */ /* Temporary mappings for the super early allocator in arch/x86_64/mm/init.c */
.globl temp_boot_pmds .globl temp_boot_pmds
temp_boot_pmds: temp_boot_pmds:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment