OpenCloudOS-Kernel/drivers/regulator
Nishanth Menon 2ba546ebe0
regulator: ti-abb: Fix array out of bound read access on the first transition
At the start of driver initialization, we do not know what bias
setting the bootloader has configured the system for and we only know
for certain the very first time we do a transition.

However, since the initial value of the comparison index is -EINVAL,
this negative value results in an array out of bound access on the
very first transition.

Since we don't know what the setting is, we just set the bias
configuration as there is nothing to compare against. This prevents
the array out of bound access.

NOTE: Even though we could use a more relaxed check of "< 0" the only
valid values(ignoring cosmic ray induced bitflips) are -EINVAL, 0+.

Fixes: 40b1936efe ("regulator: Introduce TI Adaptive Body Bias(ABB) on-chip LDO driver")
Link: https://lore.kernel.org/linux-mm/CA+G9fYuk4imvhyCN7D7T6PMDH6oNp6HDCRiTUKMQ6QXXjBa4ag@mail.gmail.com/
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20201118145009.10492-1-nm@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-11-18 17:59:24 +00:00
..
88pg86x.c regulator: 88pg86x: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:09 +01:00
88pm800-regulator.c
88pm8607.c
Kconfig regulator: rtmv20: Adds support for Richtek RTMV20 load switch regulator 2020-09-28 19:26:32 +01:00
Makefile regulator: rtmv20: Adds support for Richtek RTMV20 load switch regulator 2020-09-28 19:26:32 +01:00
aat2870-regulator.c
ab3100.c
ab8500-ext.c
ab8500.c
act8865-regulator.c
act8945a-regulator.c
ad5398.c
anatop-regulator.c
arizona-ldo1.c
arizona-micsupp.c
as3711-regulator.c
as3722-regulator.c
axp20x-regulator.c regulator: Fix for v5.9 2020-09-25 15:16:01 -07:00
bcm590xx-regulator.c
bd718x7-regulator.c regulator: bd718x7: Make some variable static 2020-09-10 13:50:30 +01:00
bd9571mwv-regulator.c
bd9576-regulator.c regulator: bd9576: Fix print 2020-10-05 16:18:40 +01:00
bd70528-regulator.c
bd71828-regulator.c
core.c regulator: workaround self-referent regulators 2020-11-13 14:21:26 +00:00
cpcap-regulator.c
cros-ec-regulator.c regulator: cros-ec-regulator: Add NULL test for devm_kmemdup call 2020-08-04 13:24:37 +01:00
da903x-regulator.c
da9052-regulator.c
da9055-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9062-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9063-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9210-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9210-regulator.h
da9211-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9211-regulator.h
db8500-prcmu.c
dbx500-prcmu.c regulator: dbx500: Remove unused debugfs goto label 2020-08-21 17:38:49 +01:00
dbx500-prcmu.h
devres.c
dummy.c regulator: dummy: Constify dummy_initdata and dummy_ops 2020-09-14 14:24:36 +01:00
dummy.h
fan53555.c regulator: fan53555: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:11 +01:00
fan53880.c
fixed-helper.c
fixed.c regulator: fixed: Constify static regulator_ops 2020-09-14 14:24:37 +01:00
gpio-regulator.c
helpers.c
hi655x-regulator.c
hi6421-regulator.c
hi6421v530-regulator.c
internal.h
isl6271a-regulator.c
isl9305.c
lm363x-regulator.c
lochnagar-regulator.c regulator: lochnagar: Add additional VDDCORE range 2020-09-07 18:49:13 +01:00
lp872x.c
lp873x-regulator.c
lp3971.c
lp3972.c
lp8755.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
lp8788-buck.c
lp8788-ldo.c
lp87565-regulator.c
ltc3589.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
ltc3676.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
max1586.c regulator: max1586: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:14 +01:00
max8649.c
max8660.c
max8907-regulator.c
max8925-regulator.c
max8952.c
max8973-regulator.c
max8997-regulator.c
max8998.c
max14577-regulator.c
max77620-regulator.c
max77650-regulator.c
max77686-regulator.c
max77693-regulator.c
max77802-regulator.c
max77826-regulator.c regulator: max77826: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:15 +01:00
mc13xxx-regulator-core.c
mc13xxx.h
mc13783-regulator.c
mc13892-regulator.c
mcp16502.c
mp886x.c regulator: mp886x: use "mps,switch-frequency-hz" 2020-08-24 14:17:53 +01:00
mp5416.c
mp8859.c
mpq7920.c
mpq7920.h
mt6311-regulator.c
mt6311-regulator.h
mt6323-regulator.c
mt6358-regulator.c
mt6360-regulator.c regulator: mt6360: fix spelling mistake: "regulaotr" -> "regulator" 2020-08-27 14:55:44 +01:00
mt6380-regulator.c
mt6397-regulator.c
of_regulator.c
palmas-regulator.c
pbias-regulator.c
pca9450-regulator.c regulator: pca9450: Constify static regulator_ops 2020-09-14 14:24:39 +01:00
pcap-regulator.c
pcf50633-regulator.c
pfuze100-regulator.c regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200} 2020-11-11 12:34:27 +00:00
pv88060-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88060-regulator.h
pv88080-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88080-regulator.h
pv88090-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88090-regulator.h
pwm-regulator.c Merge remote-tracking branch 'regulator/for-5.10' into regulator-next 2020-10-05 16:54:56 +01:00
qcom-labibb-regulator.c regulator: qcom: labibb: Constify static structs 2020-10-01 21:43:16 +01:00
qcom-rpmh-regulator.c regulator: qcom-rpmh: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:20 +01:00
qcom_rpm-regulator.c
qcom_smd-regulator.c regulator: qcom_smd: add pm8953 regulators 2020-10-05 16:18:37 +01:00
qcom_spmi-regulator.c regulator: qcom_spmi: Add PM660/PM660L regulators 2020-10-01 21:25:23 +01:00
qcom_usb_vbus-regulator.c regulator: set of_node for qcom vbus regulator 2020-08-18 18:38:25 +01:00
rc5t583-regulator.c
rk808-regulator.c
rn5t618-regulator.c
rohm-regulator.c
rpi-panel-attiny-regulator.c regulator: rpi-panel: Add regulator/backlight driver for RPi panel 2020-08-18 17:18:42 +01:00
rt4801-regulator.c regulator: rt4801: Fix W=1 build warning when CONFIG_OF=n 2020-08-24 14:17:54 +01:00
rt5033-regulator.c
rtmv20-regulator.c regulator: rtmv20: Add missing regcache cache only before marked as dirty 2020-09-30 12:58:09 +01:00
s2mpa01.c
s2mps11.c
s5m8767.c regulator: s5m8767: initialize driver via module_platform_driver 2020-09-22 00:45:16 +01:00
sc2731-regulator.c
sky81452-regulator.c
slg51000-regulator.c Merge series "Support ROHM BD9576MUF and BD9573MUF PMICs" from Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>: 2020-09-17 18:25:39 +01:00
slg51000-regulator.h
stm32-booster.c regulator: stm32-booster: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:20 +01:00
stm32-pwr.c regulator: stm32-pwr: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:17 +01:00
stm32-vrefbuf.c regulator: stm32-vrefbuf: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:18 +01:00
stpmic1_regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
stw481x-vmmc.c regulator: stw481x-vmmc: Constify static structs 2020-09-14 14:24:38 +01:00
sy8106a-regulator.c regulator: sy8106a: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:19 +01:00
sy8824x.c
sy8827n.c regulator: sy8827n: Fix W=1 build warning when CONFIG_OF=n 2020-08-18 17:18:40 +01:00
ti-abb-regulator.c regulator: ti-abb: Fix array out of bound read access on the first transition 2020-11-18 17:59:24 +00:00
tps6105x-regulator.c regulator: tps6105x: Constify tps6105x_regulator_ops 2020-09-01 15:48:52 +01:00
tps6507x-regulator.c
tps6524x-regulator.c
tps6586x-regulator.c regulator: tps6586x: Constify static regulator_ops 2020-09-01 15:48:56 +01:00
tps51632-regulator.c regulator: tps51632: Constify tps51632_dcdc_ops 2020-09-01 15:48:51 +01:00
tps62360-regulator.c regulator: tps62360: Constify tps62360_dcdc_ops 2020-09-01 15:48:53 +01:00
tps65023-regulator.c regulator: tps65023: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:21 +01:00
tps65086-regulator.c regulator: tps65086: Constify static regulator_ops 2020-09-01 15:48:54 +01:00
tps65090-regulator.c regulator: tps65090: constify static regulator_ops 2020-09-01 15:48:55 +01:00
tps65132-regulator.c
tps65217-regulator.c
tps65218-regulator.c
tps65910-regulator.c regulator: tps65910: use regmap accessors 2020-10-01 16:29:17 +01:00
tps65912-regulator.c regulator: tps65912: Constify static regulator_ops 2020-09-01 15:48:56 +01:00
tps80031-regulator.c
twl-regulator.c
twl6030-regulator.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
uniphier-regulator.c
userspace-consumer.c
vctrl-regulator.c
vexpress-regulator.c
virtual.c
vqmmc-ipq4019-regulator.c
wm831x-dcdc.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm831x-isink.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm831x-ldo.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm8350-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm8400-regulator.c
wm8994-regulator.c