diff options
author | Takashi Iwai <tiwai@suse.de> | 2016-09-11 09:33:12 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2016-09-11 09:33:12 +0200 |
commit | 3d2f4d0c0d4f3b676ecca504a3916b8e9843a181 (patch) | |
tree | f72e05df59734bb1deeba510283072e16c056640 /fs/nfsd/vfs.c | |
parent | 09da111aef57c022ac28bb8974f41c1729102d11 (diff) | |
parent | 3f640970a41429f0a076c01270bbd014c9eae61c (diff) | |
download | linux-3d2f4d0c0d4f3b676ecca504a3916b8e9843a181.tar.bz2 |
Merge branch 'for-linus' into for-next
Back-merge from for-linus just to make the further development easier.
Diffstat (limited to 'fs/nfsd/vfs.c')
-rw-r--r-- | fs/nfsd/vfs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index ba944123167b..ff476e654b8f 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -1252,10 +1252,13 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp, if (IS_ERR(dchild)) return nfserrno(host_err); err = fh_compose(resfhp, fhp->fh_export, dchild, fhp); - if (err) { - dput(dchild); + /* + * We unconditionally drop our ref to dchild as fh_compose will have + * already grabbed its own ref for it. + */ + dput(dchild); + if (err) return err; - } return nfsd_create_locked(rqstp, fhp, fname, flen, iap, type, rdev, resfhp); } |