Skip to content

Commit

Permalink
nfsd4: fail when delegreturn gets a non-delegation stateid
Browse files Browse the repository at this point in the history
Previous cleanup reveals an obvious (though harmless) bug: when
delegreturn gets a stateid that isn't for a delegation, it should return
an error rather than doing nothing.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
  • Loading branch information
J. Bruce Fields committed Mar 18, 2009
1 parent 203a8c8 commit 7e0f7cf
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions fs/nfsd/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -2418,10 +2418,9 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
status = nfserr_stale_stateid;
if (STALE_STATEID(stateid))
goto out;
status = nfs_ok;
status = nfserr_bad_stateid;
if (!is_delegation_stateid(stateid))
goto out;
status = nfserr_bad_stateid;
dp = find_delegation_stateid(inode, stateid);
if (!dp)
goto out;
Expand Down

0 comments on commit 7e0f7cf

Please sign in to comment.