summaryrefslogtreecommitdiffstats
path: root/sys/net/rtsock.c
diff options
context:
space:
mode:
authorthib <thib@openbsd.org>2008-05-23 15:51:12 +0000
committerthib <thib@openbsd.org>2008-05-23 15:51:12 +0000
commit621c015e2fbe65fdf3205e452a522f5ed4896427 (patch)
tree55b799dfbba135124ee55d9ea801968c48dce9b3 /sys/net/rtsock.c
parent- remove USER_LDT, it was never in a state where it would copile, nor will (diff)
downloadwireguard-openbsd-621c015e2fbe65fdf3205e452a522f5ed4896427.tar.xz
wireguard-openbsd-621c015e2fbe65fdf3205e452a522f5ed4896427.zip
Deal with the situation when TCP nfs mounts timeout and processes
get hung in nfs_reconnect() because they do not have the proper privilages to bind to a socket, by adding a struct proc * argument to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind) and do the sobind() with proc0 in nfs_connect. OK markus@, blambert@. "go ahead" deraadt@. Fixes an issue reported by bernd@ (Tested by bernd@). Fixes PR5135 too.
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r--sys/net/rtsock.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index 72d8b07446f..a193d931a52 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtsock.c,v 1.70 2008/05/07 05:14:21 claudio Exp $ */
+/* $OpenBSD: rtsock.c,v 1.71 2008/05/23 15:51:12 thib Exp $ */
/* $NetBSD: rtsock.c,v 1.18 1996/03/29 00:32:10 cgd Exp $ */
/*
@@ -111,7 +111,7 @@ struct rt_msghdr *rtmsg_3to4(struct mbuf *, int *);
int
route_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam,
- struct mbuf *control)
+ struct mbuf *control, struct proc *p)
{
int error = 0;
struct rawcb *rp = sotorawcb(so);
@@ -141,7 +141,7 @@ route_usrreq(struct socket *so, int req, struct mbuf *m, struct mbuf *nam,
else
error = raw_attach(so, (int)(long)nam);
} else
- error = raw_usrreq(so, req, m, nam, control);
+ error = raw_usrreq(so, req, m, nam, control, p);
rp = sotorawcb(so);
if (req == PRU_ATTACH && rp) {