summaryrefslogtreecommitdiff
path: root/drivers/crypto/tegra-se.c
diff options
context:
space:
mode:
authorMallikarjun Kasoju <mkasoju@nvidia.com>2012-03-12 09:21:25 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-03-12 08:24:11 -0700
commit50d651b6cc7b3fdc31b49d81ad3684510e5a16a3 (patch)
tree1d6a141c4e8914c6faa009043410d35ca1f72818 /drivers/crypto/tegra-se.c
parent527efd9d01dc6c14b9b3ed21ae2165e99cd19ae2 (diff)
crypto: tegra-se: Check for valid reqeusted buffer size
Added check for valid requested process buffer size. Bug 928454 Change-Id: I2dc389af64cb3de2f0a0a3f0bbc5057dd9bd676c Reviewed-on: http://git-master/r/89381 Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers/crypto/tegra-se.c')
-rw-r--r--drivers/crypto/tegra-se.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/crypto/tegra-se.c b/drivers/crypto/tegra-se.c
index 4dde9310d512..3d2e9187b949 100644
--- a/drivers/crypto/tegra-se.c
+++ b/drivers/crypto/tegra-se.c
@@ -846,6 +846,9 @@ static int tegra_se_aes_queue_req(struct ablkcipher_request *req)
bool idle = true;
int err = 0;
+ if (!req->nbytes)
+ return -EINVAL;
+
spin_lock_irqsave(&se_dev->lock, flags);
err = ablkcipher_enqueue_request(&se_dev->queue, req);
if (se_dev->work_q_busy)
@@ -1203,6 +1206,9 @@ int tegra_se_sha_final(struct ahash_request *req)
u32 total, num_sgs;
int err = 0;
+ if (!req->nbytes)
+ return -EINVAL;
+
if (crypto_ahash_digestsize(tfm) == SHA1_DIGEST_SIZE)
sha_ctx->op_mode = SE_AES_OP_MODE_SHA1;