From b62866e6226902f60eceee3bfe4465615e50bfeb Mon Sep 17 00:00:00 2001 From: Siddartha Mohanadoss Date: Tue, 11 May 2021 10:13:33 -0700 Subject: [PATCH] pci: msm: Fix out of bound error with find_next_bit() Existing api msm_pcie_write_reg_field() calls find_next_bit() and results in a KASAN out of bounds error for taking in the first parameter by typecasting as unsigned long type. To avoid the KASAN error use __ffs() instead. Change-Id: I9e155248e1233bbcb04ac5e2d1d6d512b3fa5387 Signed-off-by: Siddartha Mohanadoss --- drivers/pci/controller/pci-msm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pci-msm.c b/drivers/pci/controller/pci-msm.c index a9c3dd7c5ecb..3a6e2a7ec708 100644 --- a/drivers/pci/controller/pci-msm.c +++ b/drivers/pci/controller/pci-msm.c @@ -1395,7 +1395,7 @@ static void msm_pcie_write_reg(void __iomem *base, u32 offset, u32 value) static void msm_pcie_write_reg_field(void __iomem *base, u32 offset, const u32 mask, u32 val) { - u32 shift = find_first_bit((void *)&mask, 32); + u32 shift = __ffs(mask); u32 tmp = readl_relaxed(base + offset); tmp &= ~mask; /* clear written bits */