mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 20:10:23 +09:00
crypto: qat - unmap buffer before free for DH
[ Upstream commiteb7713f5ca] The callback function for DH frees the memory allocated for the destination buffer before unmapping it. This sequence is wrong. Change the cleanup sequence to unmap the buffer before freeing it. Fixes:029aa4624a("crypto: qat - remove dma_free_coherent() for DH") Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj@intel.com> Co-developed-by: Bolemx Sivanagaleela <bolemx.sivanagaleela@intel.com> Signed-off-by: Bolemx Sivanagaleela <bolemx.sivanagaleela@intel.com> Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3894f5880f
commit
718f30e30b
@@ -170,15 +170,14 @@ static void qat_dh_cb(struct icp_qat_fw_pke_resp *resp)
|
||||
}
|
||||
|
||||
areq->dst_len = req->ctx.dh->p_size;
|
||||
dma_unmap_single(dev, req->out.dh.r, req->ctx.dh->p_size,
|
||||
DMA_FROM_DEVICE);
|
||||
if (req->dst_align) {
|
||||
scatterwalk_map_and_copy(req->dst_align, areq->dst, 0,
|
||||
areq->dst_len, 1);
|
||||
kfree_sensitive(req->dst_align);
|
||||
}
|
||||
|
||||
dma_unmap_single(dev, req->out.dh.r, req->ctx.dh->p_size,
|
||||
DMA_FROM_DEVICE);
|
||||
|
||||
dma_unmap_single(dev, req->phy_in, sizeof(struct qat_dh_input_params),
|
||||
DMA_TO_DEVICE);
|
||||
dma_unmap_single(dev, req->phy_out,
|
||||
|
||||
Reference in New Issue
Block a user