diff options
Diffstat (limited to 'sys/rpc/clnt_vc.c')
-rw-r--r-- | sys/rpc/clnt_vc.c | 9 |
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; |