diff options
author | Andi Kleen <ak@muc.de> | 2005-04-16 15:24:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:24:55 -0700 |
commit | 1e01441051dda3bb01c455b6e20bce6d00563d82 (patch) | |
tree | 5dc4c69dd4522ca569f70ead0ecbb923f1451891 /arch/x86_64/mm/fault.c | |
parent | 35faa71484287fc150b8498cd5acae59ad17a356 (diff) | |
download | talos-op-linux-1e01441051dda3bb01c455b6e20bce6d00563d82.tar.gz talos-op-linux-1e01441051dda3bb01c455b6e20bce6d00563d82.zip |
[PATCH] x86_64: Use a VMA for the 32bit vsyscall
Use a real VMA to map the 32bit vsyscall page
This interacts better with Hugh's upcomming VMA walk optimization
Also removes some ugly special cases.
Code roughly modelled after the ppc64 vdso version from Ben Herrenschmidt.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/mm/fault.c')
-rw-r--r-- | arch/x86_64/mm/fault.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c index 5724370475cc..d4676ca09144 100644 --- a/arch/x86_64/mm/fault.c +++ b/arch/x86_64/mm/fault.c @@ -458,17 +458,6 @@ bad_area: up_read(&mm->mmap_sem); bad_area_nosemaphore: - -#ifdef CONFIG_IA32_EMULATION - /* 32bit vsyscall. map on demand. */ - if (test_thread_flag(TIF_IA32) && - address >= VSYSCALL32_BASE && address < VSYSCALL32_END) { - if (map_syscall32(mm, address) < 0) - goto out_of_memory2; - return; - } -#endif - /* User mode accesses just cause a SIGSEGV */ if (error_code & 4) { if (is_prefetch(regs, address, error_code)) @@ -550,7 +539,6 @@ no_context: */ out_of_memory: up_read(&mm->mmap_sem); -out_of_memory2: if (current->pid == 1) { yield(); goto again; |