crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test
[ Upstream commit 9195189e00
]
The libkcapi test which causes kernel panic is
aead asynchronous vmsplice multiple test.
./bin/kcapi -v -d 4 -x 10 -c "ccm(aes)"
-q 4edb58e8d5eb6bc711c43a6f3693daebde2e5524f1b55297abb29f003236e43d
-t a7877c99 -n 674742abd0f5ba -k 2861fd0253705d7875c95ba8a53171b4
-a fb7bc304a3909e66e2e0c5ef952712dd884ce3e7324171369f2c5db1adc48c7d
This patch avoids dma_mapping of a zero length sg which causes the panic,
by using sg_nents_for_len which maps only upto a specific length
Signed-off-by: Ayush Sawal <ayush.sawal@chelsio.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
671e6c9c6b
commit
1841613e97
@ -2480,8 +2480,9 @@ int chcr_aead_dma_map(struct device *dev,
|
|||||||
else
|
else
|
||||||
reqctx->b0_dma = 0;
|
reqctx->b0_dma = 0;
|
||||||
if (req->src == req->dst) {
|
if (req->src == req->dst) {
|
||||||
error = dma_map_sg(dev, req->src, sg_nents(req->src),
|
error = dma_map_sg(dev, req->src,
|
||||||
DMA_BIDIRECTIONAL);
|
sg_nents_for_len(req->src, dst_size),
|
||||||
|
DMA_BIDIRECTIONAL);
|
||||||
if (!error)
|
if (!error)
|
||||||
goto err;
|
goto err;
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user