summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4proc.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2014-01-21 11:06:52 -0500
committerJ. Bruce Fields <bfields@redhat.com>2014-05-23 09:03:47 -0400
commit1802a67894fab3ff90a3ef4f484e97a5b4515426 (patch)
tree0624e92555a98611c4216805261e7f0d3aefac20 /fs/nfsd/nfs4proc.c
parent2d124dfaad08733077d2c46755716b2873af65a3 (diff)
downloadop-kernel-dev-1802a67894fab3ff90a3ef4f484e97a5b4515426.zip
op-kernel-dev-1802a67894fab3ff90a3ef4f484e97a5b4515426.tar.gz
nfsd4: reserve head space for krb5 integ/priv info
Currently if the nfs-level part of a reply would be too large, we'll return an error to the client. But if the nfs-level part fits and leaves no room for krb5p or krb5i stuff, then we just drop the request entirely. That's no good. Instead, reserve some slack space at the end of the buffer and make sure we fail outright if we'd come close. The slack space here is a massive overstimate of what's required, we should probably try for a tighter limit at some point. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r--fs/nfsd/nfs4proc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index f809aa8..747d6a8 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -1262,7 +1262,7 @@ static void svcxdr_init_encode(struct svc_rqst *rqstp,
xdr->buf = buf;
xdr->p = head->iov_base + head->iov_len;
- xdr->end = head->iov_base + PAGE_SIZE;
+ xdr->end = head->iov_base + PAGE_SIZE - 2 * RPC_MAX_AUTH_SIZE;
}
/*
OpenPOWER on IntegriCloud