diff options
author | Bin Liu <b-liu@ti.com> | 2018-04-17 14:53:13 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-06-16 09:18:24 +0200 |
commit | e1b1c10701331265c684ba52ea25e382b66e0d2f (patch) | |
tree | ce4e62e609882ddc3e774a80e2d3fa018058b0bd | |
parent | 0603cc8258fe6baea7af253281ef736f019dc6ea (diff) | |
download | talos-obmc-linux-e1b1c10701331265c684ba52ea25e382b66e0d2f.tar.gz talos-obmc-linux-e1b1c10701331265c684ba52ea25e382b66e0d2f.zip |
crypto: omap-sham - fix memleak
commit 9dbc8a0328efa485a6f5b68b867f9f523a3fbeff upstream.
Fixes: 8043bb1ae03cb ("crypto: omap-sham - convert driver logic to use sgs for data xmit")
The memory pages freed in omap_sham_finish_req() were less than those
allocated in omap_sham_copy_sgs().
Cc: stable@vger.kernel.org
Signed-off-by: Bin Liu <b-liu@ti.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/crypto/omap-sham.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index ad02aa63b519..d1a1c74fb56a 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c @@ -1087,7 +1087,7 @@ static void omap_sham_finish_req(struct ahash_request *req, int err) if (test_bit(FLAGS_SGS_COPIED, &dd->flags)) free_pages((unsigned long)sg_virt(ctx->sg), - get_order(ctx->sg->length)); + get_order(ctx->sg->length + ctx->bufcnt)); if (test_bit(FLAGS_SGS_ALLOCED, &dd->flags)) kfree(ctx->sg); |