]>
Commit | Line | Data |
---|---|---|
9d3deba8 GKH |
1 | From 9dbc8a0328efa485a6f5b68b867f9f523a3fbeff Mon Sep 17 00:00:00 2001 |
2 | From: Bin Liu <b-liu@ti.com> | |
3 | Date: Tue, 17 Apr 2018 14:53:13 -0500 | |
4 | Subject: crypto: omap-sham - fix memleak | |
5 | ||
6 | From: Bin Liu <b-liu@ti.com> | |
7 | ||
8 | commit 9dbc8a0328efa485a6f5b68b867f9f523a3fbeff upstream. | |
9 | ||
10 | Fixes: 8043bb1ae03cb ("crypto: omap-sham - convert driver logic to use sgs for data xmit") | |
11 | ||
12 | The memory pages freed in omap_sham_finish_req() were less than those | |
13 | allocated in omap_sham_copy_sgs(). | |
14 | ||
15 | Cc: stable@vger.kernel.org | |
16 | Signed-off-by: Bin Liu <b-liu@ti.com> | |
17 | Acked-by: Tero Kristo <t-kristo@ti.com> | |
18 | Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> | |
19 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
20 | ||
21 | --- | |
22 | drivers/crypto/omap-sham.c | 2 +- | |
23 | 1 file changed, 1 insertion(+), 1 deletion(-) | |
24 | ||
25 | --- a/drivers/crypto/omap-sham.c | |
26 | +++ b/drivers/crypto/omap-sham.c | |
27 | @@ -1081,7 +1081,7 @@ static void omap_sham_finish_req(struct | |
28 | ||
29 | if (test_bit(FLAGS_SGS_COPIED, &dd->flags)) | |
30 | free_pages((unsigned long)sg_virt(ctx->sg), | |
31 | - get_order(ctx->sg->length)); | |
32 | + get_order(ctx->sg->length + ctx->bufcnt)); | |
33 | ||
34 | if (test_bit(FLAGS_SGS_ALLOCED, &dd->flags)) | |
35 | kfree(ctx->sg); |