Skip to content

Commit db59c0e

Browse files
kinglongmeeJ. Bruce Fields
authored and
J. Bruce Fields
committed
NFSD: Take care the return value from nfsd4_decode_stateid
Return status after nfsd4_decode_stateid failed. Signed-off-by: Kinglong Mee <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
1 parent 6f8f28e commit db59c0e

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

fs/nfsd/nfs4xdr.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,11 @@ nfsd4_decode_layoutget(struct nfsd4_compoundargs *argp,
15621562
p = xdr_decode_hyper(p, &lgp->lg_seg.offset);
15631563
p = xdr_decode_hyper(p, &lgp->lg_seg.length);
15641564
p = xdr_decode_hyper(p, &lgp->lg_minlength);
1565-
nfsd4_decode_stateid(argp, &lgp->lg_sid);
1565+
1566+
status = nfsd4_decode_stateid(argp, &lgp->lg_sid);
1567+
if (status)
1568+
return status;
1569+
15661570
READ_BUF(4);
15671571
lgp->lg_maxcount = be32_to_cpup(p++);
15681572

@@ -1580,7 +1584,11 @@ nfsd4_decode_layoutcommit(struct nfsd4_compoundargs *argp,
15801584
p = xdr_decode_hyper(p, &lcp->lc_seg.offset);
15811585
p = xdr_decode_hyper(p, &lcp->lc_seg.length);
15821586
lcp->lc_reclaim = be32_to_cpup(p++);
1583-
nfsd4_decode_stateid(argp, &lcp->lc_sid);
1587+
1588+
status = nfsd4_decode_stateid(argp, &lcp->lc_sid);
1589+
if (status)
1590+
return status;
1591+
15841592
READ_BUF(4);
15851593
lcp->lc_newoffset = be32_to_cpup(p++);
15861594
if (lcp->lc_newoffset) {
@@ -1628,7 +1636,11 @@ nfsd4_decode_layoutreturn(struct nfsd4_compoundargs *argp,
16281636
READ_BUF(16);
16291637
p = xdr_decode_hyper(p, &lrp->lr_seg.offset);
16301638
p = xdr_decode_hyper(p, &lrp->lr_seg.length);
1631-
nfsd4_decode_stateid(argp, &lrp->lr_sid);
1639+
1640+
status = nfsd4_decode_stateid(argp, &lrp->lr_sid);
1641+
if (status)
1642+
return status;
1643+
16321644
READ_BUF(4);
16331645
lrp->lrf_body_len = be32_to_cpup(p++);
16341646
if (lrp->lrf_body_len > 0) {

0 commit comments

Comments
 (0)