linux/arch/tile/kernel
Oleg Nesterov ceca3c193e tile: do_hardwall_trap: do not play with task->sighand
1. do_hardwall_trap() checks ->sighand != NULL and then takes ->siglock.

   This is unsafe even if the task can't run (I assume it is pinned to
   the same CPU), its parent can reap the task and set ->sighand = NULL
   right after this check. Even if the compiler dosn't read ->sighand
   twice and this memory can't to away __group_send_sig_info() is wrong
   after that. Use do_send_sig_info().

2. Send SIGILL to the thread, not to the whole process. Unless it has
   the handler or blocked this kills the whole thread-group as before.
   IIUC, different threads can be bound to different rect's.

3. Check PF_EXITING instead of ->sighand. A zombie thread can go away
   but its ->sighand can be !NULL.

Reported-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2011-05-04 14:41:53 -04:00
..
asm-offsets.c arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
backtrace.c arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
compat_signal.c arch/tile: handle rt_sigreturn() more cleanly 2010-12-17 16:59:29 -05:00
compat.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
early_printk.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
entry.S arch/tile: use a cleaner technique to enable interrupt for cpu_idle() 2011-03-01 16:20:48 -05:00
hardwall.c tile: do_hardwall_trap: do not play with task->sighand 2011-05-04 14:41:53 -04:00
head_32.S arch/tile: support newer binutils assembler shift semantics 2011-03-17 14:32:06 -04:00
hvglue.lds arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
init_task.c arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
intvec_32.S arch/tile: allow nonatomic stores to interoperate with fast atomic syscalls 2011-05-04 14:40:07 -04:00
irq.c tile: Use generic show_interupts() 2011-03-25 23:06:34 +01:00
machine_kexec.c arch/tile: support 4KB page size as well as 64KB 2011-03-10 13:17:53 -05:00
Makefile pci root complex: support for tile architecture 2010-11-24 13:13:49 -05:00
messaging.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
module.c arch/tile: properly flush the I$ when unloading kernel modules 2011-05-04 14:40:25 -04:00
pci-dma.c tile,mn10300: add device parameter to dma_cache_sync() 2011-05-04 14:41:36 -04:00
pci.c arch/tile: improve support for PCI hotplug 2011-05-04 14:39:53 -04:00
proc.c arch: tile: kernel/proc.c Removed duplicated #include 2010-08-13 08:10:16 -04:00
process.c arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
ptrace.c arch/tile: don't allow user code to set the PL via ptrace or signal return 2010-11-01 15:31:17 -04:00
reboot.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
regs_32.S arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
relocate_kernel.S arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
setup.c arch/tile: tolerate disabling CONFIG_BLK_DEV_INITRD 2011-05-04 14:40:36 -04:00
signal.c arch/tile: handle rt_sigreturn() more cleanly 2010-12-17 16:59:29 -05:00
single_step.c arch/tile: support TIF_NOTIFY_RESUME 2011-05-02 18:53:35 -04:00
smp.c arch/tile: warn and retry if an IPI is not accepted by the target cpu 2011-03-01 16:20:16 -05:00
smpboot.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
stack.c arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
sys.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
tile-desc_32.c arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
time.c arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
tlb.c tile: replace mm->cpu_vm_mask with mm_cpumask() 2011-05-04 14:41:44 -04:00
traps.c arch/tile: enable single-step support for TILE-Gx 2010-10-15 15:38:26 -04:00
vmlinux.lds.S Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2011-03-17 19:34:12 -07:00