aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRobin Holt <holt@sgi.com>2005-12-05 20:02:31 -0600
committerTony Luck <tony.luck@intel.com>2005-12-06 09:12:34 -0800
commitbd1d6e2451f2bb0132416fda4d129c4f57a827bc (patch)
tree64fc1ba7d4734ea5ecec8942795b32a32e4623a4 /include
parent[IA64] Limit the maximum NODEDATA_ALIGN() offset (diff)
downloadlinux-dev-bd1d6e2451f2bb0132416fda4d129c4f57a827bc.tar.xz
linux-dev-bd1d6e2451f2bb0132416fda4d129c4f57a827bc.zip
[IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c.
We have a customer application which trips a bug. The problem arises when a driver attempts to call do_munmap on an area which is mapped, but because current->thread.task_size has been set to 0xC0000000, the call to do_munmap fails thinking it is an unmap beyond the user's address space. The comment in fs/binfmt_elf.c in load_elf_library() before the call to SET_PERSONALITY() indicates that task_size must not be changed for the running application until flush_thread, but is for ia64 executing ia32 binaries. This patch moves the setting of task_size from SET_PERSONALITY() to flush_thread() as indicated. The customer application no longer is able to trip the bug. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-ia64/ia32.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-ia64/ia32.h b/include/asm-ia64/ia32.h
index 8e746b2413a6..f8044a1169cd 100644
--- a/include/asm-ia64/ia32.h
+++ b/include/asm-ia64/ia32.h
@@ -13,6 +13,8 @@
# ifdef CONFIG_IA32_SUPPORT
+#define IA32_PAGE_OFFSET 0xc0000000
+
extern void ia32_cpu_init (void);
extern void ia32_mem_init (void);
extern void ia32_gdt_init (void);