Skip to content

Commit

Permalink
SUNRPC: Don't use variable length automatic arrays in kernel code
Browse files Browse the repository at this point in the history
Replace the variable length array in the RPCSEC_GSS crypto code with
a fixed length one. The size should be bounded by the variable
GSS_KRB5_MAX_BLOCKSIZE, so use that.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
  • Loading branch information
Trond Myklebust authored and Trond Myklebust committed Mar 12, 2012
1 parent 11588f4 commit 0097143
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions net/sunrpc/auth_gss/gss_krb5_crypto.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,11 +600,14 @@ gss_krb5_cts_crypt(struct crypto_blkcipher *cipher, struct xdr_buf *buf,
u32 ret;
struct scatterlist sg[1];
struct blkcipher_desc desc = { .tfm = cipher, .info = iv };
u8 data[crypto_blkcipher_blocksize(cipher) * 2];
u8 data[GSS_KRB5_MAX_BLOCKSIZE * 2];
struct page **save_pages;
u32 len = buf->len - offset;

BUG_ON(len > crypto_blkcipher_blocksize(cipher) * 2);
if (len > ARRAY_SIZE(data)) {
WARN_ON(0);
return -ENOMEM;
}

/*
* For encryption, we want to read from the cleartext
Expand Down

0 comments on commit 0097143

Please sign in to comment.