From: "J. Bruce Fields" <bfields@xxxxxxxxxx> If a compound reply comes too close to filling up this first page, the gss code may end up dropping it, resulting in a client hang in the krb5i/krb5p case. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> --- fs/nfsd/nfs4proc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 9d1c5db..f45096e 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1202,7 +1202,13 @@ nfsd4_proc_compound(struct svc_rqst *rqstp, resp->tagp = resp->p; /* reserve space for: taglen, tag, and opcnt */ resp->p += 2 + XDR_QUADLEN(args->taglen); - resp->end = rqstp->rq_res.head[0].iov_base + PAGE_SIZE; + /* + * In the integrity and privacy cases we need to reserve a + * little extra space for a tail (see svcauth_gss_wrap_resp_priv + * and svcauth_gss_wrap_resp_integ): + */ + resp->end = rqstp->rq_res.head[0].iov_base + PAGE_SIZE + - 2 * RPC_MAX_AUTH_SIZE; resp->taglen = args->taglen; resp->tag = args->tag; resp->opcnt = 0; -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html