1
linux/arch/ia64/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
..
cpufreq [IA64] Fix processor_get_freq 2007-08-15 13:20:38 -07:00
acpi-ext.c
acpi-processor.c [IA64] Fix using uninitialized data in _PDC setup 2007-05-24 10:14:30 -07:00
acpi.c [IA64] Fix wrong assumption in acpi_gsi_to_irq 2007-07-26 14:27:42 -07:00
asm-offsets.c [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
brl_emu.c
crash_dump.c [IA64] kexec: Minor enhancement to includes in crash.c 2007-02-05 11:31:04 -08:00
crash.c [IA64] kdump on INIT needs multi-nodes sync-up (v.2) 2007-05-14 15:55:39 -07:00
cyclone.c cyclone.c: silly use of volatile, __iomem fixes 2007-07-26 11:11:57 -07:00
efi_stub.S
efi.c handle kernelcore=: generic 2007-07-17 10:22:59 -07:00
entry.h
entry.S [IA64] fallocate system call 2007-07-19 13:48:00 -07:00
err_inject.c [IA64] typo s/kenrel/kernel/ 2007-05-10 09:35:30 -07:00
esi_stub.S
esi.c
fsys.S [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
fsyscall_gtod_data.h [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
gate-data.S
gate.lds.S
gate.S [IA64] Stop bit for brl instruction 2007-07-09 13:37:44 -07:00
head.S [IA64] fix section mismatch warnings 2007-07-25 13:08:26 -07:00
ia64_ksyms.c
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
iosapic.c [IA64] Fix wrong access to irq_desc[] in iosapic_register_intr(). 2007-08-01 11:57:59 -07:00
irq_ia64.c [IA64] Fix unexpected interrupt vector handling 2007-08-28 16:01:21 -07:00
irq_lsapic.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
irq.c [IA64] SN2 needs platform specific irq_to_vector() function. 2007-08-13 10:31:26 -07:00
ivt.S [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
jprobes.S
kprobes.c jprobes: make jprobes a little safer for users 2007-07-19 10:04:44 -07:00
machine_kexec.c [IA64] Fix NULL-pointer dereference in ia64_machine_kexec() 2007-02-05 14:06:44 -08:00
machvec.c [IA64] Ensure that machvec is set up takes place before serial console 2007-07-25 11:12:47 -07:00
Makefile [IA64] Itanium MC Error Injection Tool: Makefile changes 2007-01-29 15:27:07 -08:00
mca_asm.S [IA64] Support multiple CPUs going through OS_MCA 2007-07-11 11:50:11 -07:00
mca_drv_asm.S [IA64] Don't set psr.ic and psr.i simultaneously 2007-07-09 10:30:28 -07:00
mca_drv.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
mca_drv.h
mca.c [IA64] Clean up CPE handler registration 2007-08-13 13:22:45 -07:00
minstate.h
module.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
msi_ia64.c [IA64] Support irq migration across domain 2007-07-17 09:57:42 -07:00
numa.c
pal.S
palinfo.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
patch.c [IA64] remove per-cpu ia64_phys_stacked_size_p8 2007-02-06 15:04:18 -08:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
perfmon_montecito.h
perfmon.c remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
process.c [IA64] disable irq's and check need_resched before safe_halt 2007-08-13 10:17:23 -07:00
ptrace.c Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH 2007-09-10 18:57:47 -07:00
relocate_kernel.S [IA64] Removal of percpu TR cleanup in kexec code 2007-05-08 10:00:28 -07:00
sal.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
salinfo.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
semaphore.c
setup.c [IA64] Enable early console for Ski simulator 2007-09-01 02:50:39 -07:00
sigframe.h [IA64] Add TIF_RESTORE_SIGMASK 2007-05-08 14:51:59 -07:00
signal.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2007-05-09 13:38:45 -07:00
smp.c [IA64] Allow smp_call_function_single() to current cpu 2007-07-30 16:26:45 -07:00
smpboot.c [IA64] SN: Add support for CPU disable 2007-09-01 02:49:57 -07:00
sys_ia64.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
time.c [IA64] ITC: Reduce rating for ITC clock if ITCs are drifty 2007-08-01 14:02:36 -07:00
topology.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
traps.c Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
unaligned.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
uncached.c
unwind_decoder.c
unwind_i.h
unwind.c [IA64] Correct unwind validation code 2007-06-26 13:33:10 -07:00
vmlinux.lds.S [IA64] get back PT_IA_64_UNWIND program header 2007-08-13 14:50:35 -07:00