Commit 3d61e387 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] nfsd: deleting symlinks over nfs causes oops on unmount

From: "J. Bruce Fields" <bfields@fieldses.org>
From: Neil Brown <neilb@cse.unsw.edu.au>

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: default avatarAndrew Morton <akpm@osdl.org>
parent 3b15e36b
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment