mirror of https://gitee.com/openkylin/linux.git
bd1d6e2451
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> |
||
---|---|---|
.. | ||
Makefile | ||
binfmt_elf32.c | ||
elfcore32.h | ||
ia32_entry.S | ||
ia32_ioctl.c | ||
ia32_ldt.c | ||
ia32_signal.c | ||
ia32_support.c | ||
ia32_traps.c | ||
ia32priv.h | ||
sys_ia32.c |