diff options
author | J. Bruce Fields <bfields@redhat.com> | 2013-03-26 14:11:13 -0400 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-04-10 03:20:03 +0100 |
commit | 509d8d1dcefb35111b3f1e24f56be7d956cef439 (patch) | |
tree | 030e446483e1f6eed8a8542e24625b2f6e05ef7f /fs | |
parent | 27e7a09afa00b846300efd2b024bd4447689b74b (diff) |
nfsd4: reject "negative" acl lengths
commit 64a817cfbded8674f345d1117b117f942a351a69 upstream.
Since we only enforce an upper bound, not a lower bound, a "negative"
length can get through here.
The symptom seen was a warning when we attempt to a kmalloc with an
excessive size.
Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 800c215c95a5..24afa96de4fa 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -280,7 +280,7 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, iattr->ia_valid |= ATTR_SIZE; } if (bmval[0] & FATTR4_WORD0_ACL) { - int nace; + u32 nace; struct nfs4_ace *ace; READ_BUF(4); len += 4; |