kmap_atomic() gives only the page address of the input page.
Driver should take care of adding the offset of the scatterlist
within the page to the returned page address.
omap-sham driver is not adding the offset to page and directly operates
on the return vale of kmap_atomic(), because of which the following
error comes when running crypto tests:
00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf
[ 2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1
[ 2.344008] alg: hash: Chunking test 1 failed for omap-sha256
So adding the scatterlist offset to vaddr.
Signed-off-by: Lokesh Vutla <[email protected]>
---
- Tested on BBB. Logs below.
Without this patch: http://pastebin.ubuntu.com/10722994/
With this patch: http://pastebin.ubuntu.com/10722992/
drivers/crypto/omap-sham.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
index 21fd515..4d63e0d 100644
--- a/drivers/crypto/omap-sham.c
+++ b/drivers/crypto/omap-sham.c
@@ -640,6 +640,7 @@ static size_t omap_sham_append_sg(struct omap_sham_reqctx *ctx)
while (ctx->sg) {
vaddr = kmap_atomic(sg_page(ctx->sg));
+ vaddr += ctx->sg->offset;
count = omap_sham_append_buffer(ctx,
vaddr + ctx->offset,
--
1.9.1
On Thu, Apr 02, 2015 at 03:32:45PM +0530, Lokesh Vutla wrote:
> kmap_atomic() gives only the page address of the input page.
> Driver should take care of adding the offset of the scatterlist
> within the page to the returned page address.
> omap-sham driver is not adding the offset to page and directly operates
> on the return vale of kmap_atomic(), because of which the following
> error comes when running crypto tests:
>
> 00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf
> [ 2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1
> [ 2.344008] alg: hash: Chunking test 1 failed for omap-sha256
>
> So adding the scatterlist offset to vaddr.
>
> Signed-off-by: Lokesh Vutla <[email protected]>
Patch applied. Thanks!
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt