kernel - Fix signal delivery races
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 29 Jul 2011 08:19:29 +0000 (01:19 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 29 Jul 2011 08:19:29 +0000 (01:19 -0700)
commitfc509460adef494b5b84b40cf6fbdd498d5a9a8b
tree9ac125a6b64e6acf09427fd1b0b69024ad118048
parent728faa081444ad1f372eb8bd9bb5c9b4a21a2378
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