aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-10-27 17:19:04 -0400
committerJ. Bruce Fields <bfields@redhat.com>2010-11-19 18:35:11 -0500
commit43b0178eda1e7e5d1e205bbfd076ab5d6ecacc02 (patch)
tree522d3a6e49ff805eea06c5e1633b0e949a90a49b /fs/nfsd
parente53beacd23d9cb47590da6a7a7f6d417b941a994 (diff)
nfsd: fix NULL dereference in setattr()
The original code would oops if this were called from nfsd4_setattr() because "filpp" is NULL. (Note this case is currently impossible, as long as we only give out read delegations.) Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index ad2bfa68d53..2d191293e6a 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3081,9 +3081,10 @@ nfs4_preprocess_stateid_op(struct nfsd4_compound_state *cstate,
3081 if (status) 3081 if (status)
3082 goto out; 3082 goto out;
3083 renew_client(dp->dl_client); 3083 renew_client(dp->dl_client);
3084 if (filpp) 3084 if (filpp) {
3085 *filpp = find_readable_file(dp->dl_file); 3085 *filpp = find_readable_file(dp->dl_file);
3086 BUG_ON(!*filpp); 3086 BUG_ON(!*filpp);
3087 }
3087 } else { /* open or lock stateid */ 3088 } else { /* open or lock stateid */
3088 stp = find_stateid(stateid, flags); 3089 stp = find_stateid(stateid, flags);
3089 if (!stp) 3090 if (!stp)