summaryrefslogtreecommitdiff
path: root/net/rxrpc/ar-key.c
diff options
context:
space:
mode:
authorNathaniel W Filardo <nwf@cs.jhu.edu>2014-05-15 14:51:22 (GMT)
committerDavid S. Miller <davem@davemloft.net>2014-05-16 19:24:47 (GMT)
commitfde0133b9cfa4e01b275e942ffc32fd78e27d27c (patch)
treeddb95ce510f1d4f1920ba80a77bead614e62a874 /net/rxrpc/ar-key.c
parent6e14a5eeb158215881ef4507833a3574d0dbad19 (diff)
downloadlinux-fde0133b9cfa4e01b275e942ffc32fd78e27d27c.tar.xz
af_rxrpc: Fix XDR length check in rxrpc key demarshalling.
There may be padding on the ticket contained in the key payload, so just ensure that the claimed token length is large enough, rather than exactly the right size. Signed-off-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rxrpc/ar-key.c')
-rw-r--r--net/rxrpc/ar-key.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rxrpc/ar-key.c b/net/rxrpc/ar-key.c
index 7633a75..0ad0807 100644
--- a/net/rxrpc/ar-key.c
+++ b/net/rxrpc/ar-key.c
@@ -99,7 +99,7 @@ static int rxrpc_instantiate_xdr_rxkad(struct key *key, const __be32 *xdr,
_debug("tktlen: %x", tktlen);
if (tktlen > AFSTOKEN_RK_TIX_MAX)
return -EKEYREJECTED;
- if (8 * 4 + tktlen != toklen)
+ if (toklen < 8 * 4 + tktlen)
return -EKEYREJECTED;
plen = sizeof(*token) + sizeof(*token->kad) + tktlen;