diff options
author | David Miller <davem@davemloft.net> | 2010-01-29 00:42:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-01-29 11:22:01 -0500 |
commit | 94673e968cbcce07fa78dac4b0ae05d24b5816e1 (patch) | |
tree | e09e561f6188801b1f5cc3b37b880931ecbaf12b /arch/sparc/include | |
parent | 05d43ed8a89c159ff641d472f970e3f1baa66318 (diff) |
sparc: TIF_ABI_PENDING bit removal
Here are the sparc bits to remove TIF_ABI_PENDING now that
set_personality() is called at the appropriate place in exec.
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/elf_64.h | 13 | ||||
-rw-r--r-- | arch/sparc/include/asm/thread_info_64.h | 4 |
2 files changed, 4 insertions, 13 deletions
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h index ff66bb88537b..e67880381b84 100644 --- a/arch/sparc/include/asm/elf_64.h +++ b/arch/sparc/include/asm/elf_64.h | |||
@@ -195,17 +195,10 @@ static inline unsigned int sparc64_elf_hwcap(void) | |||
195 | #define ELF_PLATFORM (NULL) | 195 | #define ELF_PLATFORM (NULL) |
196 | 196 | ||
197 | #define SET_PERSONALITY(ex) \ | 197 | #define SET_PERSONALITY(ex) \ |
198 | do { unsigned long new_flags = current_thread_info()->flags; \ | 198 | do { if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ |
199 | new_flags &= _TIF_32BIT; \ | 199 | set_thread_flag(TIF_32BIT); \ |
200 | if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ | ||
201 | new_flags |= _TIF_32BIT; \ | ||
202 | else \ | 200 | else \ |
203 | new_flags &= ~_TIF_32BIT; \ | 201 | clear_thread_flag(TIF_32BIT); \ |
204 | if ((current_thread_info()->flags & _TIF_32BIT) \ | ||
205 | != new_flags) \ | ||
206 | set_thread_flag(TIF_ABI_PENDING); \ | ||
207 | else \ | ||
208 | clear_thread_flag(TIF_ABI_PENDING); \ | ||
209 | /* flush_thread will update pgd cache */ \ | 202 | /* flush_thread will update pgd cache */ \ |
210 | if (personality(current->personality) != PER_LINUX32) \ | 203 | if (personality(current->personality) != PER_LINUX32) \ |
211 | set_personality(PER_LINUX | \ | 204 | set_personality(PER_LINUX | \ |
diff --git a/arch/sparc/include/asm/thread_info_64.h b/arch/sparc/include/asm/thread_info_64.h index 7257ebb8f394..39be9f256e5a 100644 --- a/arch/sparc/include/asm/thread_info_64.h +++ b/arch/sparc/include/asm/thread_info_64.h | |||
@@ -228,12 +228,11 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
228 | #define TIF_SECCOMP 9 /* secure computing */ | 228 | #define TIF_SECCOMP 9 /* secure computing */ |
229 | #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ | 229 | #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ |
230 | #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ | 230 | #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ |
231 | /* flag bit 11 is available */ | ||
232 | /* NOTE: Thread flags >= 12 should be ones we have no interest | 231 | /* NOTE: Thread flags >= 12 should be ones we have no interest |
233 | * in using in assembly, else we can't use the mask as | 232 | * in using in assembly, else we can't use the mask as |
234 | * an immediate value in instructions such as andcc. | 233 | * an immediate value in instructions such as andcc. |
235 | */ | 234 | */ |
236 | #define TIF_ABI_PENDING 12 | 235 | /* flag bit 12 is available */ |
237 | #define TIF_MEMDIE 13 | 236 | #define TIF_MEMDIE 13 |
238 | #define TIF_POLLING_NRFLAG 14 | 237 | #define TIF_POLLING_NRFLAG 14 |
239 | #define TIF_FREEZE 15 /* is freezing for suspend */ | 238 | #define TIF_FREEZE 15 /* is freezing for suspend */ |
@@ -248,7 +247,6 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
248 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) | 247 | #define _TIF_SECCOMP (1<<TIF_SECCOMP) |
249 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) | 248 | #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) |
250 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) | 249 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) |
251 | #define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING) | ||
252 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) | 250 | #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) |
253 | #define _TIF_FREEZE (1<<TIF_FREEZE) | 251 | #define _TIF_FREEZE (1<<TIF_FREEZE) |
254 | 252 | ||