From 8242807f8930b18d8701a4e491fc87c75cb91018 Mon Sep 17 00:00:00 2001 From: Lin Jinhan Date: Fri, 14 Mar 2025 14:24:52 +0800 Subject: [PATCH] soc: rockchip: decompress_user fix scatter list check rules sg_phys(sgl) == SZ_4G must be regarded as an illegal value because the address space exceeds 32 bits. Change-Id: I50dca3970654ea8ce4d60ea20ced7d5dcc843724 Signed-off-by: Lin Jinhan --- drivers/soc/rockchip/rockchip_decompress_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/rockchip/rockchip_decompress_user.c b/drivers/soc/rockchip/rockchip_decompress_user.c index c07aff98cd2a..c7602f494f16 100644 --- a/drivers/soc/rockchip/rockchip_decompress_user.c +++ b/drivers/soc/rockchip/rockchip_decompress_user.c @@ -57,7 +57,7 @@ static bool check_scatter_list(unsigned int max_size, struct sg_table *sg_tbl) return false; for_each_sgtable_sg(sg_tbl, sgl, i) { - if (sg_phys(sgl) > SZ_4G || sg_phys(sgl) + sg_dma_len(sgl) > SZ_4G) + if (sg_phys(sgl) >= SZ_4G || sg_phys(sgl) + sg_dma_len(sgl) > SZ_4G) return false; if (i && next_addr != sg_dma_address(sgl))