REPOST patch 25/38: SERVER: wipe out all evidence in fh_put()

Kendrick M. Smith (kmsmith@umich.edu)
Wed, 14 Aug 2002 16:48:35 -0400 (EDT)


When a filehandle is cleared with fh_put(), wipe out all traces by
clearing ->fh_pre_saved and ->fh_post_saved. This prevents
fill_post_wcc() from complaining if the filehandle is later reused.
(This could happen to CURRENT_FH if, for example, LOOKUP LOOKUP
occurs in a COMPOUND.)

--- old/fs/nfsd/nfsfh.c Sun Aug 11 22:54:17 2002
+++ new/fs/nfsd/nfsfh.c Sun Aug 11 22:55:44 2002
@@ -438,6 +438,10 @@ fh_put(struct svc_fh *fhp)
fh_unlock(fhp);
fhp->fh_dentry = NULL;
dput(dentry);
+#ifdef CONFIG_NFSD_V3
+ fhp->fh_pre_saved = 0;
+ fhp->fh_post_saved = 0;
+#endif
nfsd_nr_put++;
}
return;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/