svn commit: r198590 - head/sys/kern

Konstantin Belousov kib at FreeBSD.org
Thu Oct 29 14:34:25 UTC 2009


Author: kib
Date: Thu Oct 29 14:34:24 2009
New Revision: 198590
URL: http://svn.freebsd.org/changeset/base/198590

Log:
  Trapsignal() calls kern_sigprocmask() when delivering catched signal
  with proc lock held.
  
  Reported and tested by:	Mykola Dzham  freebsd at levsha org ua
  MFC after:	1 month

Modified:
  head/sys/kern/kern_sig.c

Modified: head/sys/kern/kern_sig.c
==============================================================================
--- head/sys/kern/kern_sig.c	Thu Oct 29 14:34:02 2009	(r198589)
+++ head/sys/kern/kern_sig.c	Thu Oct 29 14:34:24 2009	(r198590)
@@ -1863,7 +1863,8 @@ trapsignal(struct thread *td, ksiginfo_t
 		if (!SIGISMEMBER(ps->ps_signodefer, sig)) {
 			SIGEMPTYSET(mask);
 			SIGADDSET(mask, sig);
-			kern_sigprocmask(td, SIG_BLOCK, &mask, NULL, 0);
+			kern_sigprocmask(td, SIG_BLOCK, &mask, NULL,
+			    SIGPROCMASK_PROC_LOCKED);
 		}
 		if (SIGISMEMBER(ps->ps_sigreset, sig)) {
 			/*


More information about the svn-src-head mailing list