summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_socket.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/kern/sys_socket.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/kern/sys_socket.c')
-rw-r--r--sys/kern/sys_socket.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index 0bde91ca287..9ebffb76bc8 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sys_socket.c,v 1.11 2007/02/26 23:53:33 kurt Exp $ */
+/* $OpenBSD: sys_socket.c,v 1.12 2008/05/23 15:51:12 thib Exp $ */
/* $NetBSD: sys_socket.c,v 1.13 1995/08/12 23:59:09 mycroft Exp $ */
/*
@@ -124,7 +124,7 @@ soo_ioctl(struct file *fp, u_long cmd, caddr_t data, struct proc *p)
if (IOCGROUP(cmd) == 'r')
return (rtioctl(cmd, data, p));
return ((*so->so_proto->pr_usrreq)(so, PRU_CONTROL,
- (struct mbuf *)cmd, (struct mbuf *)data, (struct mbuf *)0));
+ (struct mbuf *)cmd, (struct mbuf *)data, (struct mbuf *)0, p));
}
int
@@ -169,7 +169,7 @@ soo_stat(struct file *fp, struct stat *ub, struct proc *p)
ub->st_mode = S_IFSOCK;
return ((*so->so_proto->pr_usrreq)(so, PRU_SENSE,
(struct mbuf *)ub, (struct mbuf *)0,
- (struct mbuf *)0));
+ (struct mbuf *)0, p));
}
/* ARGSUSED */