summaryrefslogtreecommitdiff
path: root/sys/nfs
diff options
context:
space:
mode:
authorPhilip Guenthe <guenther@cvs.openbsd.org>2011-07-05 04:48:03 +0000
committerPhilip Guenthe <guenther@cvs.openbsd.org>2011-07-05 04:48:03 +0000
commit0e36778a06f5746ef60cadc41c445d6f5b6cc647 (patch)
tree28f4fa5e7600b312b1d6084db8548e11c7f9d783 /sys/nfs
parenta7942e7ec8d68c52b4e9833fffb6c7810fde7f15 (diff)
Recommit the reverted sigacts change now that the NFS use-after-free
problem has been tracked down. This fixes the sharing of the signal handling state: shared bits go in sigacts, per-rthread bits goes in struct proc. ok deraadt@
Diffstat (limited to 'sys/nfs')
-rw-r--r--sys/nfs/nfs_socket.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/nfs/nfs_socket.c b/sys/nfs/nfs_socket.c
index a4abf4848c3..e0f28e48ef4 100644
--- a/sys/nfs/nfs_socket.c
+++ b/sys/nfs/nfs_socket.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nfs_socket.c,v 1.100 2011/04/18 21:44:56 guenther Exp $ */
+/* $OpenBSD: nfs_socket.c,v 1.101 2011/07/05 04:48:02 guenther Exp $ */
/* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */
/*
@@ -48,6 +48,7 @@
#include <sys/vnode.h>
#include <sys/domain.h>
#include <sys/protosw.h>
+#include <sys/signalvar.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/syslog.h>
@@ -1233,7 +1234,7 @@ nfs_sigintr(struct nfsmount *nmp, struct nfsreq *rep, struct proc *p)
if (!(nmp->nm_flag & NFSMNT_INT))
return (0);
if (p && p->p_siglist &&
- (((p->p_siglist & ~p->p_sigmask) & ~p->p_sigignore) &
+ (((p->p_siglist & ~p->p_sigmask) & ~p->p_sigacts->ps_sigignore) &
NFSINT_SIGMASK))
return (EINTR);
return (0);