提交 e81e9c25 编写于 作者: G Gilad Ben-Yossef 提交者: Zheng Zengkai

crypto: ccree - don't attempt 0 len DMA mappings

stable inclusion
from stable-v5.10.110
commit 55259cb3741527b731989bdb7200f11808c1ab5a
bugzilla: https://gitee.com/openeuler/kernel/issues/I574AL

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=55259cb3741527b731989bdb7200f11808c1ab5a

--------------------------------

[ Upstream commit 1fb37b56 ]

Refuse to try mapping zero bytes as this may cause a fault
on some configurations / platforms and it seems the prev.
attempt is not enough and we need to be more explicit.
Signed-off-by: NGilad Ben-Yossef <gilad@benyossef.com>
Reported-by: NCorentin Labbe <clabbe.montjoie@gmail.com>
Fixes: ce0fc6db ("crypto: ccree - protect against empty or NULL
scatterlists")
Tested-by: NCorentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYu Liao <liaoyu15@huawei.com>
Reviewed-by: NWei Li <liwei391@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 0a98b51d
...@@ -258,6 +258,13 @@ static int cc_map_sg(struct device *dev, struct scatterlist *sg, ...@@ -258,6 +258,13 @@ static int cc_map_sg(struct device *dev, struct scatterlist *sg,
{ {
int ret = 0; int ret = 0;
if (!nbytes) {
*mapped_nents = 0;
*lbytes = 0;
*nents = 0;
return 0;
}
*nents = cc_get_sgl_nents(dev, sg, nbytes, lbytes); *nents = cc_get_sgl_nents(dev, sg, nbytes, lbytes);
if (*nents > max_sg_nents) { if (*nents > max_sg_nents) {
*nents = 0; *nents = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册