diff options
author | Philip Guenthe <guenther@cvs.openbsd.org> | 2011-07-05 04:48:03 +0000 |
---|---|---|
committer | Philip Guenthe <guenther@cvs.openbsd.org> | 2011-07-05 04:48:03 +0000 |
commit | 0e36778a06f5746ef60cadc41c445d6f5b6cc647 (patch) | |
tree | 28f4fa5e7600b312b1d6084db8548e11c7f9d783 /sys/nfs | |
parent | a7942e7ec8d68c52b4e9833fffb6c7810fde7f15 (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.c | 5 |
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); |