sst-linux/drivers/mfd
Nikita Zhandarovich d77be51484 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:33:35 +02:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c
ab8500-core.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
acer-ec-a500.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:20:50 -04:00
arizona-core.c
arizona-i2c.c
arizona-irq.c
arizona-spi.c mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs 2023-11-20 11:52:08 +01:00
arizona.h
as3711.c
as3722.c
asic3.c
at91-usart.c
atc260x-core.c
atc260x-i2c.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:53:35 +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
db8500-prcmu-regs.h
db8500-prcmu.c
dln2.c mfd: dln2: Fix double put in dln2_probe 2023-11-20 11:52:08 +01:00
dm355evm_msp.c
ene-kb3930.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
gateworks-gsc.c
hi655x-pmic.c
hi6421-pmic-core.c
hi6421-spmi-pmic.c
htc-i2cpld.c
htc-pasic3.c
intel_pmc_bxt.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:53:36 +01:00
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Book X90F to intel_cht_wc_models 2023-05-24 17:32:42 +01:00
intel_soc_pmic_crc.c
intel_soc_pmic_mrfld.c
intel-lpss-acpi.c mfd: intel-lpss: Add missing check for platform_get_resource 2023-07-19 16:21:56 +02:00
intel-lpss-pci.c mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs 2023-11-28 17:07:01 +00:00
intel-lpss.c mfd: intel-lpss: Fix the fractional clock divider flags 2024-01-25 15:27:45 -08:00
intel-lpss.h
intel-m10-bmc.c
ioc3.c
ipaq-micro.c
iqs62x.c
janz-cmodio.c
Kconfig mfd: ti_am335x_tscadc: Fix TI SoC dependencies 2024-02-05 20:12:58 +00:00
kempld-core.c
khadas-mcu.c
lm3533-core.c
lm3533-ctrlbank.c
lochnagar-i2c.c
lp873x.c
lp3943.c
lp8788-irq.c
lp8788.c
lp87565.c
lpc_ich.c mfd: lpc_ich: Add another Gemini Lake ISA bridge PCI device-id 2025-02-21 13:49:31 +01:00
lpc_sch.c
madera-core.c
madera-i2c.c
madera-spi.c
madera.h
Makefile mfd: rsmu: Split core code into separate module 2024-08-03 08:49:15 +02:00
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77620.c
max77650.c
max77686.c
max77693.c
max77714.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 mfd: core: Ensure disabled devices are skipped without aborting 2023-11-20 11:52:08 +01:00
motorola-cpcap.c
mp2629.c
mt6358-irq.c
mt6360-core.c
mt6370.c
mt6370.h
mt6397-core.c
mt6397-irq.c
mxs-lradc.c
ntxec.c
ocelot-core.c
ocelot-spi.c mfd: ocelot-spi: Fix unsupported bulk read 2023-05-11 23:03:38 +09:00
ocelot.h
omap-usb-host.c
omap-usb-tll.c mfd: omap-usb-tll: Use struct_size to allocate tll 2024-08-03 08:49:15 +02:00
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
qcom_rpm.c
qcom-pm8xxx.c
qcom-pm8008.c mfd: pm8008: Fix module autoloading 2023-07-23 13:49:37 +02:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Fix revid implementation 2023-11-28 17:07:12 +00:00
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c
rn5t618.c
rohm-bd718x7.c
rohm-bd9576.c
rohm-bd71828.c
rsmu_core.c mfd: rsmu: Split core code into separate module 2024-08-03 08:49:15 +02:00
rsmu_i2c.c
rsmu_spi.c
rsmu.h
rt4831.c
rt5033.c mfd: rt5033: Fix missing regmap_del_irq_chip() 2024-12-14 19:53:40 +01:00
rt5120.c
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
simple-mfd-i2c.c
simple-mfd-i2c.h
sky81452.c
sm501.c mfd: sm501: Switch to BIT() to mitigate integer overflows 2025-04-10 14:33:35 +02:00
sprd-sc27xx-spi.c
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c
stmfx.c mfd: stmfx: Nullify stmfx->vdd in case of error 2023-07-19 16:21:57 +02:00
stmpe-i2c.c
stmpe-spi.c
stmpe.c mfd: stmpe: Only disable the regulators if they are enabled 2023-07-19 16:21:58 +02:00
stmpe.h
stpmic1.c mfd: stpmic1: Fix swapped mask/unmask in irq chip 2024-05-25 16:21:30 +02:00
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c mfd: syscon: Fix race in device_node_get_regmap() 2025-02-21 13:49:03 +01:00
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti_am335x_tscadc.c
ti-lmu.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:53:35 +01:00
tps65086.c
tps65090.c
tps65217.c
tps65218.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c
tqmx86.c mfd: tqmx86: Correct board names for TQMxE39x 2023-05-11 23:03:38 +09:00
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
twl-core.c
twl-core.h
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wcd934x.c mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() 2023-07-19 16:21:56 +02:00
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