• Robin Holt's avatar
    [IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c. · bd1d6e24
    Robin Holt authored
    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: default avatarRobin Holt <holt@sgi.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    bd1d6e24
binfmt_elf32.c 7.95 KB