|
@@ -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
|