Nikita Zhandarovich
2bf98cc76b
mfd: sm501: Switch to BIT() to mitigate integer overflows
...
[ Upstream commit 2d8cb9ffe18c2f1e5bd07a19cbce85b26c1d0cf0 ]
If offset end up being high enough, right hand expression in functions
like sm501_gpio_set() shifted left for that number of bits, may
not fit in int type.
Just in case, fix that by using BIT() both as an option safe from
overflow issues and to make this step look similar to other gpio
drivers.
Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.
Fixes: f61be273d3 ("sm501: add gpiolib support")
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Link: https://lore.kernel.org/r/20250115171206.20308-1-n.zhandarovich@fintech.ru
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-04-10 14:29:41 +02:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c
ab3100-core.c
ab3100-otp.c
ab8500-core.c
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
act8945a.c
adp5520.c
altera-a10sr.c
altera-sysmgr.c
mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
2024-03-26 18:22:21 -04:00
arizona-core.c
mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
2023-03-11 16:44:13 +01:00
arizona-i2c.c
arizona-irq.c
arizona-spi.c
arizona.h
as3711.c
as3722.c
asic3.c
at91-usart.c
atmel-flexcom.c
atmel-hlcdc.c
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c
bcm590xx.c
bcm2835-pm.c
bd9571mwv.c
cros_ec_dev.c
cs47l15-tables.c
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs47l92-tables.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
mfd: da9052-spi: Change read-mask to write-mask
2024-12-14 19:44:28 +01:00
da9055-core.c
da9055-i2c.c
da9062-core.c
da9063-core.c
da9063-i2c.c
da9063-irq.c
da9150-core.c
davinci_voicecodec.c
mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
2022-06-14 18:11:42 +02:00
db8500-prcmu.c
dbx500-prcmu-regs.h
dln2.c
mfd: dln2: Fix double put in dln2_probe
2023-11-20 10:30:13 +01:00
dm355evm_msp.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
mfd: fsl-imx25: Fix check for platform_get_irq() errors
2022-10-26 13:22:42 +02:00
hi655x-pmic.c
hi6421-pmic-core.c
htc-i2cpld.c
htc-pasic3.c
intel-lpss-acpi.c
mfd: intel-lpss: Add missing check for platform_get_resource
2023-07-27 08:37:21 +02:00
intel-lpss-pci.c
intel-lpss.c
intel-lpss.h
intel_msic.c
intel_quark_i2c_gpio.c
intel_soc_pmic_bxtwc.c
mfd: intel_soc_pmic_bxtwc: Use IRQ domain for PMIC devices
2024-12-14 19:44:29 +01:00
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c
intel_soc_pmic_core.c
mfd: intel_soc_pmic: Fix an error handling path in intel_soc_pmic_i2c_probe()
2022-10-26 13:22:41 +02:00
intel_soc_pmic_core.h
intel_soc_pmic_crc.c
intel_soc_pmic_mrfld.c
ipaq-micro.c
mfd: ipaq-micro: Fix error check return value of platform_get_irq()
2022-06-14 18:11:40 +02:00
janz-cmodio.c
Kconfig
mfd: ti_am335x_tscadc: Fix TI SoC dependencies
2024-02-23 08:25:02 +01:00
kempld-core.c
lm3533-core.c
lm3533-ctrlbank.c
lochnagar-i2c.c
lp873x.c
lp3943.c
lp8788-irq.c
mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init()
2022-10-26 13:22:42 +02:00
lp8788.c
mfd: lp8788: Fix an error handling path in lp8788_probe()
2022-10-26 13:22:42 +02:00
lp87565.c
lpc_ich.c
mfd: lpc_ich: Add another Gemini Lake ISA bridge PCI device-id
2025-03-13 12:43:03 +01:00
lpc_sch.c
madera-core.c
madera-i2c.c
madera-spi.c
madera.h
Makefile
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77620.c
mfd: max77620: Fix refcount leak in max77620_initialise_fps
2022-08-25 11:18:04 +02:00
max77650.c
max77686.c
max77693.c
max77843.c
mc13xxx-core.c
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c
motorola-cpcap.c
mt6397-core.c
mt6397-irq.c
mxs-lradc.c
omap-usb-host.c
omap-usb-tll.c
mfd: omap-usb-tll: Use struct_size to allocate tll
2024-08-19 05:33:32 +02:00
omap-usb.h
palmas.c
pcf50633-adc.c
mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
2023-03-11 16:43:50 +01:00
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
qcom-pm8xxx.c
qcom-spmi-pmic.c
qcom_rpm.c
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c
rn5t618.c
rohm-bd718x7.c
rohm-bd70528.c
rt5033.c
mfd: rt5033: Fix missing regmap_del_irq_chip()
2024-12-14 19:44:29 +01:00
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sky81452.c
sm501.c
mfd: sm501: Switch to BIT() to mitigate integer overflows
2025-04-10 14:29:41 +02:00
smsc-ece1099.c
sprd-sc27xx-spi.c
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c
stmfx.c
mfd: stmfx: Fix error path in stmfx_chip_init
2023-07-27 08:37:21 +02:00
stmpe-i2c.c
stmpe-spi.c
stmpe.c
mfd: stmpe: Only disable the regulators if they are enabled
2023-07-27 08:37:22 +02:00
stmpe.h
stpmic1.c
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c
mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
2024-03-26 18:22:21 -04:00
t7l66xb.c
mfd: t7l66xb: Drop platform disable callback
2022-08-25 11:18:04 +02:00
tc3589x.c
tc6387xb.c
tc6393xb.c
ti-lmu.c
ti_am335x_tscadc.c
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c
tps6507x.c
tps6586x.c
tps65010.c
mfd: tps65010: Use IRQF_NO_AUTOEN flag in request_irq() to fix race
2024-12-14 19:44:28 +01:00
tps65086.c
tps65090.c
tps65217.c
tps65218.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c
tps68470.c
tps80031.c
tqmx86.c
twl-core.c
twl-core.h
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wl1273-core.c
wm97xx-core.c
wm831x-auxadc.c
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c