1
linux/arch/sh/kernel
Frederic Weisbecker e0ac8457d0 sh, hw_breakpoints: Fix racy access to ptrace breakpoints
While the tracer accesses ptrace breakpoints, the child task may
concurrently exit due to a SIGKILL and thus release its breakpoints
at the same time. We can then dereference some freed pointers.

To fix this, hold a reference on the child breakpoints before
manipulating them.

Reported-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Prasad <prasad@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1302284067-7860-6-git-send-email-fweisbec@gmail.com
2011-04-25 17:36:12 +02:00
..
cpu Fix common misspellings 2011-03-31 11:26:23 -03:00
vsyscall mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
.gitignore
asm-offsets.c
cpufreq.c
crash_dump.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
debugtraps.S
disassemble.c
dma-nommu.c
dumpstack.c
dwarf.c sh: handle early calls to return_address() when using dwarf unwinder. 2010-05-25 16:16:40 +09:00
entry-common.S
ftrace.c
head_32.S sh: boot kernel with SR.BL set 2010-09-30 09:43:32 +09:00
head_64.S
hw_breakpoint.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-05-19 11:36:03 -07:00
idle.c sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
init_task.c
io_trapped.c sh: wire up perf alignment and emulation faults. 2010-10-13 06:55:26 +09:00
io.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
iomap.c sh: machvec IO death. 2010-11-01 09:49:04 -04:00
ioport.c sh: machvec IO death. 2010-11-01 09:49:04 -04:00
irq_32.c Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
irq_64.c sh64: update for IRQ flag handling naming changes. 2010-10-27 15:34:51 +09:00
irq.c Fix common misspellings 2011-03-31 11:26:23 -03:00
kdebugfs.c sh: provide generic arch_debugfs_dir. 2010-09-24 04:04:26 +09:00
kgdb.c kgdb,sh: update superh kgdb exception handling 2010-05-20 21:04:20 -05:00
kprobes.c sh: kprobes SMP support. 2010-06-14 17:06:10 +09:00
localtimer.c sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
machine_kexec.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
machvec.c sh: machvec IO death. 2010-11-01 09:49:04 -04:00
Makefile Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-06 16:50:35 -08:00
module.c modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
nmi_debug.c
perf_callchain.c perf: Factorize callchain context handling 2010-08-19 01:32:11 +02:00
perf_event.c perf: Dynamic pmu types 2010-12-16 11:36:43 +01:00
process_32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process_64.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process.c sh: Fix build alloc_thread_info_node function 2011-03-24 15:19:14 +09:00
ptrace_32.c sh, hw_breakpoints: Fix racy access to ptrace breakpoints 2011-04-25 17:36:12 +02:00
ptrace_64.c sh: Fix ptrace fpu state initialisation 2011-03-23 22:17:52 +09:00
ptrace.c sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
reboot.c sh: Provide a global TLB flush for U/I-TLB clear. 2010-07-02 15:44:09 +09:00
relocate_kernel.S
return_address.c sh: handle early calls to return_address() when using dwarf unwinder. 2010-05-25 16:16:40 +09:00
setup.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sh_bios.c
sh_ksyms_32.c
sh_ksyms_64.c
signal_32.c
signal_64.c
smp.c sh: native_cpu_disable() build error when CONFIG_HOTPLUG_CPU=n 2010-04-29 23:28:38 +09:00
stacktrace.c
swsusp.c
sys_sh32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_sh64.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_sh.c sh: avoid to flush all cache in sys_cacheflush 2010-11-17 17:55:30 +09:00
syscalls_32.S sh: wire up sys_syncfs. 2011-03-22 21:56:08 +09:00
syscalls_64.S sh: wire up sys_syncfs. 2011-03-22 21:56:08 +09:00
time.c
topology.c sh: Fix sh build failure when CONFIG_SFC=m 2011-01-19 12:16:55 +09:00
traps_32.c sh: wire up perf alignment and emulation faults. 2010-10-13 06:55:26 +09:00
traps_64.c sh: wire up perf alignment and emulation faults. 2010-10-13 06:55:26 +09:00
traps.c
unwinder.c
vmlinux.lds.S percpu: align percpu readmostly subsection to cacheline 2011-01-25 14:26:50 +01:00