android_kernel_xiaomi_sm8350/arch/m68k/kernel
Roland McGrath 7d94143291 Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH
When PTRACE_SYSCALL was used and then PTRACE_DETACH is used, the
TIF_SYSCALL_TRACE flag is left set on the formerly-traced task.  This
means that when a new tracer comes along and does PTRACE_ATTACH, it's
possible he gets a syscall tracing stop even though he's never used
PTRACE_SYSCALL.  This happens if the task was in the middle of a system
call when the second PTRACE_ATTACH was done.  The symptom is an
unexpected SIGTRAP when the tracer thinks that only SIGSTOP should have
been provoked by his ptrace calls so far.

A few machines already fixed this in ptrace_disable (i386, ia64, m68k).
But all other machines do not, and still have this bug.  On x86_64, this
constitutes a regression in IA32 compatibility support.

Since all machines now use TIF_SYSCALL_TRACE for this, I put the
clearing of TIF_SYSCALL_TRACE in the generic ptrace_detach code rather
than adding it to every other machine's ptrace_disable.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-09-10 18:57:47 -07:00
..
asm-offsets.c
bios32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dma.c [PATCH] m68k: dma_alloc_coherent() has gfp_t as the last argument 2006-10-06 08:53:41 -07:00
entry.S m68k: reformat various m68k files 2007-05-04 17:59:06 -07:00
head.S m68k: use .text.head 2007-07-20 08:24:49 -07:00
ints.c take declarations of enable_irq() et.al. to linux/interrupt.h 2007-07-22 11:44:00 -07:00
m68k_ksyms.c [PATCH] clean m68k ksyms 2006-10-11 11:17:06 -07:00
Makefile m68k: runtime patching infrastructure 2007-05-31 07:58:13 -07:00
module.c m68k: discontinuous memory support 2007-05-31 07:58:14 -07:00
module.lds m68k: runtime patching infrastructure 2007-05-31 07:58:13 -07:00
process.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
ptrace.c Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH 2007-09-10 18:57:47 -07:00
semaphore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
setup.c m68k: Remove unnecessary m68k_memoffset export and init 2007-08-22 19:52:45 -07:00
signal.c
sun3-head.S m68k: use .text.head 2007-07-20 08:24:49 -07:00
sys_m68k.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
time.c m68k: missing __init 2007-07-20 08:24:49 -07:00
traps.c Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
vmlinux-std.lds m68k: Dont include RODATA into text segment 2007-08-22 19:52:45 -07:00
vmlinux-sun3.lds m68k: use .text.head 2007-07-20 08:24:49 -07:00
vmlinux.lds.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00