summaryrefslogtreecommitdiff
path: root/sys/nfsclient/nfs_nfsiod.c
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2000-11-18 21:01:04 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2000-11-18 21:01:04 +0000
commit279d7226048c39b48b788e5ea5607c0dbc042acd (patch)
tree8d32488eeb453793eb19bb380ffcc26e97ca77fd /sys/nfsclient/nfs_nfsiod.c
parentd641426e5acce54fd775c3be86ddb9c2e78e8540 (diff)
Notes
Diffstat (limited to 'sys/nfsclient/nfs_nfsiod.c')
-rw-r--r--sys/nfsclient/nfs_nfsiod.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c
index 1e0162fc8bab..83cc56bdcb98 100644
--- a/sys/nfsclient/nfs_nfsiod.c
+++ b/sys/nfsclient/nfs_nfsiod.c
@@ -194,7 +194,7 @@ nfssvc(p, uap)
error = copyin(uap->argp, (caddr_t)&nfsdarg, sizeof(nfsdarg));
if (error)
return (error);
- error = getsock(p->p_fd, nfsdarg.sock, &fp);
+ error = holdsock(p->p_fd, nfsdarg.sock, &fp);
if (error)
return (error);
/*
@@ -205,10 +205,13 @@ nfssvc(p, uap)
else {
error = getsockaddr(&nam, nfsdarg.name,
nfsdarg.namelen);
- if (error)
+ if (error) {
+ fdrop(fp, p);
return (error);
+ }
}
error = nfssvc_addsock(fp, nam, p);
+ fdrop(fp, p);
} else {
error = copyin(uap->argp, (caddr_t)nsd, sizeof (*nsd));
if (error)