projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4b034e7
)
nfsd4: session needs room for following op to error out
author
J. Bruce Fields
<bfields@redhat.com>
Tue, 28 Jan 2014 21:01:04 +0000
(16:01 -0500)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:55:29 +0000
(07:55 -0700)
commit
4c69d5855a16f7378648c5733632628fa10431db
upstream.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfs4proc.c
patch
|
blob
|
history
diff --git
a/fs/nfsd/nfs4proc.c
b/fs/nfsd/nfs4proc.c
index 27d74a2945151cfbdf76e41cd381b90a0efe4d09..e0bfacd23a8f4290770ea0e86c459b1c94b5452d 100644
(file)
--- a/
fs/nfsd/nfs4proc.c
+++ b/
fs/nfsd/nfs4proc.c
@@
-1307,6
+1307,12
@@
nfsd4_proc_compound(struct svc_rqst *rqstp,
/* If op is non-idempotent */
if (opdesc->op_flags & OP_MODIFIES_SOMETHING) {
plen = opdesc->op_rsize_bop(rqstp, op);
+ /*
+ * If there's still another operation, make sure
+ * we'll have space to at least encode an error:
+ */
+ if (resp->opcnt < args->opcnt)
+ plen += COMPOUND_ERR_SLACK_SPACE;
op->status = nfsd4_check_resp_size(resp, plen);
}