diff options
author | Patrick McHardy <kaber@trash.net> | 2008-05-07 10:32:28 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-07-10 08:35:11 -0400 |
commit | 94eaa1bd7ca67e8f57919da96cbb41c215ef20cb (patch) | |
tree | 62aa9f538cc928e090baf714b75b0fa6125c9991 /drivers/crypto/hifn_795x.c | |
parent | 9e70a408ad66846bc98dc026efe0384ef68373fc (diff) |
[HIFN]: Handle ablkcipher_walk errors
ablkcipher_walk may return a negative error value, handle this properly
instead of treating it as a huge number of scatter-gather elements.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/hifn_795x.c')
-rw-r--r-- | drivers/crypto/hifn_795x.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c index cce6e6f1baa5..4e89cd8f664f 100644 --- a/drivers/crypto/hifn_795x.c +++ b/drivers/crypto/hifn_795x.c | |||
@@ -1602,7 +1602,10 @@ static int hifn_setup_session(struct ablkcipher_request *req) | |||
1602 | idx = 0; | 1602 | idx = 0; |
1603 | 1603 | ||
1604 | sg_num = ablkcipher_walk(req, &ctx->walk); | 1604 | sg_num = ablkcipher_walk(req, &ctx->walk); |
1605 | 1605 | if (sg_num < 0) { | |
1606 | err = sg_num; | ||
1607 | goto err_out_exit; | ||
1608 | } | ||
1606 | atomic_set(&ctx->sg_num, sg_num); | 1609 | atomic_set(&ctx->sg_num, sg_num); |
1607 | 1610 | ||
1608 | spin_lock_irqsave(&dev->lock, flags); | 1611 | spin_lock_irqsave(&dev->lock, flags); |