[IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c.
authorRobin Holt <holt@sgi.com>
Tue, 6 Dec 2005 02:02:31 +0000 (20:02 -0600)
committerTony Luck <tony.luck@intel.com>
Tue, 6 Dec 2005 17:12:34 +0000 (09:12 -0800)
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>

No differences found