diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index eb920f855969f70d960ce7ce62f51d359303ae8a..72900b89cf84cf0bcbe981701ebc764847fd6c05 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -6058,7 +6058,11 @@ nfs4_preprocess_stateid_op(struct svc_rqst *rqstp, *nfp = NULL; if (ZERO_STATEID(stateid) || ONE_STATEID(stateid)) { - status = check_special_stateids(net, fhp, stateid, flags); + if (cstid) + status = nfserr_bad_stateid; + else + status = check_special_stateids(net, fhp, stateid, + flags); goto done; }