Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

David Miller and committed by
Linus Torvalds
94673e96 05d43ed8

+4 -21
+3 -10
arch/sparc/include/asm/elf_64.h
··· 195 195 #define ELF_PLATFORM (NULL) 196 196 197 197 #define SET_PERSONALITY(ex) \ 198 - do { unsigned long new_flags = current_thread_info()->flags; \ 199 - new_flags &= _TIF_32BIT; \ 200 - if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ 201 - new_flags |= _TIF_32BIT; \ 198 + do { if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ 199 + set_thread_flag(TIF_32BIT); \ 202 200 else \ 203 - new_flags &= ~_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); \ 201 + clear_thread_flag(TIF_32BIT); \ 209 202 /* flush_thread will update pgd cache */ \ 210 203 if (personality(current->personality) != PER_LINUX32) \ 211 204 set_personality(PER_LINUX | \
+1 -3
arch/sparc/include/asm/thread_info_64.h
··· 228 228 #define TIF_SECCOMP 9 /* secure computing */ 229 229 #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */ 230 230 #define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */ 231 - /* flag bit 11 is available */ 232 231 /* NOTE: Thread flags >= 12 should be ones we have no interest 233 232 * in using in assembly, else we can't use the mask as 234 233 * an immediate value in instructions such as andcc. 235 234 */ 236 - #define TIF_ABI_PENDING 12 235 + /* flag bit 12 is available */ 237 236 #define TIF_MEMDIE 13 238 237 #define TIF_POLLING_NRFLAG 14 239 238 #define TIF_FREEZE 15 /* is freezing for suspend */ ··· 247 248 #define _TIF_SECCOMP (1<<TIF_SECCOMP) 248 249 #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT) 249 250 #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) 250 - #define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING) 251 251 #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG) 252 252 #define _TIF_FREEZE (1<<TIF_FREEZE) 253 253
-8
arch/sparc/kernel/process_64.c
··· 365 365 struct thread_info *t = current_thread_info(); 366 366 struct mm_struct *mm; 367 367 368 - if (test_ti_thread_flag(t, TIF_ABI_PENDING)) { 369 - clear_ti_thread_flag(t, TIF_ABI_PENDING); 370 - if (test_ti_thread_flag(t, TIF_32BIT)) 371 - clear_ti_thread_flag(t, TIF_32BIT); 372 - else 373 - set_ti_thread_flag(t, TIF_32BIT); 374 - } 375 - 376 368 mm = t->task->mm; 377 369 if (mm) 378 370 tsb_context_switch(mm);