swiotlb: avoid potential left shift overflow
stable inclusion from stable-v5.10.143 commit 1a2742552372585e3c865ce6837624f320985ef6 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I6D0U6 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1a2742552372585e3c865ce6837624f320985ef6 -------------------------------- [ Upstream commit 3f046161 ] The second operand passed to slot_addr() is declared as int or unsigned int in all call sites. The left-shift to get the offset of a slot can overflow if swiotlb size is larger than 4G. Convert the macro to an inline function and declare the second argument as phys_addr_t to avoid the potential overflow. Fixes: 26a7e094 ("swiotlb: refactor swiotlb_tbl_map_single") Signed-off-by:Chao Gao <chao.gao@intel.com> Reviewed-by:
Dongli Zhang <dongli.zhang@oracle.com> Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Jialin Zhang <zhangjialin11@huawei.com> Reviewed-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment