kernel - Fix signal delivery races
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 29 Jul 2011 08:19:29 +0000 (01:19 -0700)
committerVenkatesh Srinivas <me@endeavour.zapto.org>
Sat, 30 Jul 2011 10:47:47 +0000 (03:47 -0700)
commit025d695a653d667f8d06e460e9e0e625ded69efb
tree10771d0e4eda446cdbae37c76e386c557f6337fe
parent11a57093d959dcdf317be42fbb7ad442c9a800d6
kernel - Fix signal delivery races

* The send side was using p->p_token but the processing code from trap
  was still using the mp_lock.  Fix the trap processing code to use
  p->p_token.

* This fixes several nasty races that can cause signals to be lost and
  vkernels to freeze, and possibly other programs which depend on signals
  between threads.
sys/kern/kern_sig.c
sys/platform/pc32/i386/trap.c
sys/platform/pc64/x86_64/trap.c
sys/platform/vkernel/i386/trap.c
sys/platform/vkernel64/x86_64/trap.c