aboutsummaryrefslogtreecommitdiff
path: root/sys/rpc/clnt_vc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/rpc/clnt_vc.c')
-rw-r--r--sys/rpc/clnt_vc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c
index 3f15c435c75f..85e89abe5c31 100644
--- a/sys/rpc/clnt_vc.c
+++ b/sys/rpc/clnt_vc.c
@@ -70,6 +70,9 @@ __FBSDID("$FreeBSD$");
#include <sys/syslog.h>
#include <sys/time.h>
#include <sys/uio.h>
+
+#include <net/vnet.h>
+
#include <netinet/tcp.h>
#include <rpc/rpc.h>
@@ -217,8 +220,11 @@ clnt_vc_create(
}
}
- if (!__rpc_socket2sockinfo(so, &si))
+ CURVNET_SET(so->so_vnet);
+ if (!__rpc_socket2sockinfo(so, &si)) {
+ CURVNET_RESTORE();
goto err;
+ }
if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
bzero(&sopt, sizeof(sopt));
@@ -239,6 +245,7 @@ clnt_vc_create(
sopt.sopt_valsize = sizeof(one);
sosetopt(so, &sopt);
}
+ CURVNET_RESTORE();
ct->ct_closeit = FALSE;