diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-09-26 16:40:33 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-09-26 16:40:50 +0200 |
commit | f9783ec862ea8ce0071f34a7fd028229d9fd98b4 (patch) | |
tree | 0581c94d3a20924fcf1917caf0a64ab427c05c9f /arch | |
parent | f9d81f61c84aca693bc353dfef4b8c36c2e5e1b5 (diff) | |
download | op-kernel-dev-f9783ec862ea8ce0071f34a7fd028229d9fd98b4.zip op-kernel-dev-f9783ec862ea8ce0071f34a7fd028229d9fd98b4.tar.gz |
[S390] Do not clobber personality flags on exec
Analog to git commit 59e4c3a2fe9cb1681bb2cff508ff79466f7585ba
do not clear the additional personality flags on exec. We
need to inherit the personality bits in PER_MASK across exec.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/include/asm/elf.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index 64b61bf..547f1a6 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h @@ -188,7 +188,8 @@ extern char elf_platform[]; #define SET_PERSONALITY(ex) \ do { \ if (personality(current->personality) != PER_LINUX32) \ - set_personality(PER_LINUX); \ + set_personality(PER_LINUX | \ + (current->personality & ~PER_MASK)); \ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ set_thread_flag(TIF_31BIT); \ else \ |