• E
    powerpc: Keep 3 high personality bytes across exec · a91a03ee
    Eric B Munson 提交于
    Currently when a 32 bit process is exec'd on a powerpc 64 bit host the
    value in the top three bytes of the personality is clobbered.  patch
    adds a check in the SET_PERSONALITY macro that will carry all the
    values in the top three bytes across the exec.
    
    These three bytes currently carry flags to disable address randomisation,
    limit the address space, force zeroing of an mmapped page, etc.  Should an
    application set any of these bits they will be maintained and honoured on
    homogeneous environment but discarded and ignored on a heterogeneous
    environment.  So if an application requires all mmapped pages to be initialised
    to zero and a wrapper is used to setup the personality and exec the target,
    these flags will remain set on an all 32 or all 64 bit envrionment, but they
    will be lost in the exec on a mixed 32/64 bit environment.  Losing these bits
    means that the same application would behave differently in different
    environments.  Tested on a POWER5+ machine with 64bit kernel and a mixed
    64/32 bit user space.
    Signed-off-by: NEric B Munson <ebmunson@us.ibm.com>
    Signed-off-by: NPaul Mackerras <paulus@samba.org>
    a91a03ee
elf.h 17.8 KB