diff options
author | Gilad Ben-Yossef <gilad@benyossef.com> | 2018-01-07 12:14:24 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-20 09:48:53 +0200 |
commit | 8e6173c1246786d344548db3d10745ae250adb41 (patch) | |
tree | c6bddf81f4c8711bc3b957cc667b8a2ec0041cd5 /drivers | |
parent | 61377bc808612a9ff40fb4929a5a7bc662c531a3 (diff) | |
download | linux-stable-8e6173c1246786d344548db3d10745ae250adb41.tar.gz linux-stable-8e6173c1246786d344548db3d10745ae250adb41.tar.bz2 linux-stable-8e6173c1246786d344548db3d10745ae250adb41.zip |
staging: ccree: check DMA pool buf !NULL before free
commit 2f7caf6b02145bd9cd9d0b56204f51a5fefe7790 upstream.
If we ran out of DMA pool buffers, we get into the unmap
code path with a NULL before. Deal with this by checking
the virtual mapping is not NULL.
Cc: stable@vger.kernel.org
Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/ccree/ssi_buffer_mgr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/ccree/ssi_buffer_mgr.c b/drivers/staging/ccree/ssi_buffer_mgr.c index 63936091d524..4ba6e9c422c4 100644 --- a/drivers/staging/ccree/ssi_buffer_mgr.c +++ b/drivers/staging/ccree/ssi_buffer_mgr.c @@ -492,7 +492,8 @@ void ssi_buffer_mgr_unmap_blkcipher_request( DMA_TO_DEVICE); } /* Release pool */ - if (req_ctx->dma_buf_type == SSI_DMA_BUF_MLLI) { + if (req_ctx->dma_buf_type == SSI_DMA_BUF_MLLI && + req_ctx->mlli_params.mlli_virt_addr) { dma_pool_free(req_ctx->mlli_params.curr_pool, req_ctx->mlli_params.mlli_virt_addr, req_ctx->mlli_params.mlli_dma_addr); |