From 3d61e38740b49885e4b13ef6501b9ecc6432e4df Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 26 May 2004 17:36:46 -0700 Subject: [PATCH] [PATCH] nfsd: deleting symlinks over nfs causes oops on unmount From: "J. Bruce Fields" From: Neil Brown This fixes an oops on unmount (failure of the assertation at fs/ext3/super.c:421). Probably reproduceable just by creating and deleting a single symlink over nfs and then unmounting the exported filesystem. Recent change to fh_compose means dentry reference is *not* consumed, and so usually has to be explicitly dput afterwards. One usage was missed in that patch, so this dput is needed. Signed-off-by: Andrew Morton --- fs/nfsd/vfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 2010c432c51df..bd4ff828074ee 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -1228,8 +1228,8 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp, err = nfserrno(err); fh_unlock(fhp); - /* Compose the fh so the dentry will be freed ... */ cerr = fh_compose(resfhp, fhp->fh_export, dnew, fhp); + dput(dnew); if (err==0) err = cerr; out: return err; -- 2.53.0