diff options
author | David S. Miller <davem@davemloft.net> | 2009-05-07 18:36:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-07 18:36:13 -0400 |
commit | d3584183d2f40f40371e288ceef187d04da213b5 (patch) | |
tree | e49f88bd366a48e2bb431a0dbaaf48e18353421a /arch/sparc | |
parent | 956d039a2537cf79ca608450d36cc70e0e515482 (diff) |
sparc64: Fix SET_PERSONALITY to not clip bits outside of PER_MASK.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/include/asm/elf_64.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h index 425c2f9be6d5..d42e393078c4 100644 --- a/arch/sparc/include/asm/elf_64.h +++ b/arch/sparc/include/asm/elf_64.h | |||
@@ -208,8 +208,9 @@ do { unsigned long new_flags = current_thread_info()->flags; \ | |||
208 | else \ | 208 | else \ |
209 | clear_thread_flag(TIF_ABI_PENDING); \ | 209 | clear_thread_flag(TIF_ABI_PENDING); \ |
210 | /* flush_thread will update pgd cache */ \ | 210 | /* flush_thread will update pgd cache */ \ |
211 | if (current->personality != PER_LINUX32) \ | 211 | if (personality(current->personality) != PER_LINUX32) \ |
212 | set_personality(PER_LINUX); \ | 212 | set_personality(PER_LINUX | \ |
213 | (current->personality & (~PER_MASK))); \ | ||
213 | } while (0) | 214 | } while (0) |
214 | 215 | ||
215 | #endif /* !(__ASM_SPARC64_ELF_H) */ | 216 | #endif /* !(__ASM_SPARC64_ELF_H) */ |