linux/drivers/power/supply
Yang Yingliang b25324cf16 power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
[ Upstream commit 68ae256945d2abe9036a7b68af4cc65aff79d5b7 ]

This driver's remove path calls cancel_delayed_work(). However, that
function does not wait until the work function finishes. This means
that the callback function may still be running after the driver's
remove function has finished, which would result in a use-after-free.

Fix by calling cancel_delayed_work_sync(), which ensures that
the work is properly cancelled, no longer running, and unable
to re-schedule itself.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-11 14:04:11 +02:00
..
88pm860x_battery.c power: supply: check if calc_soc succeeded in pm860x_init_battery 2020-08-19 08:16:16 +02:00
88pm860x_charger.c
Kconfig power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select 2020-06-24 17:50:08 +02:00
Makefile power/supply: Drop obsolete JZ4740 driver 2019-07-30 10:41:54 -07:00
ab8500_bmdata.c
ab8500_btemp.c
ab8500_charger.c power: supply: ab8500: remove set but not used variables 'vbup33_vrtcn' and 'bup_vch_range' 2019-09-02 21:04:50 +02:00
ab8500_fg.c
abx500_chargalg.c
act8945a_charger.c
adp5061.c
apm_power.c
axp20x_ac_power.c power: supply: axp20x_ac_power: Fix reporting online status 2020-02-11 04:35:24 -08:00
axp20x_battery.c
axp20x_usb_power.c
axp288_charger.c power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching 2020-12-30 11:51:13 +01:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks. 2020-04-23 10:36:41 +02:00
bd70528-charger.c power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading 2020-01-26 10:01:05 +01:00
bq27xxx_battery.c power: supply: bq27xxx: fix power_avg for newer ICs 2021-05-11 14:04:08 +02:00
bq27xxx_battery_hdq.c
bq27xxx_battery_i2c.c
bq2415x_charger.c
bq24190_charger.c power: supply: bq24190_charger: fix reference leak 2020-12-30 11:51:14 +01:00
bq24257_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
bq24735-charger.c
bq25890_charger.c power: supply: bq25890_charger: Add the BQ25895 part 2019-09-02 21:12:08 +02:00
charger-manager.c
collie_battery.c
cpcap-battery.c power: supply: cpcap-battery: Check voltage before orderly_poweroff 2019-12-31 16:44:12 +01:00
cpcap-charger.c power: supply: cpcap-charger: Enable vbus boost voltage 2019-09-02 23:08:07 +02:00
cros_usbpd-charger.c mfd / platform: cros_ec: Reorganize platform and mfd includes 2019-09-02 11:33:42 +01:00
da9030_battery.c
da9052-battery.c
da9150-charger.c
da9150-fg.c
ds2760_battery.c
ds2780_battery.c
ds2781_battery.c
ds2782_battery.c
generic-adc-battery.c power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() 2021-05-11 14:04:11 +02:00
goldfish_battery.c
gpio-charger.c
ingenic-battery.c power/supply: ingenic-battery: Don't change scale if there's only one 2020-02-01 09:34:53 +00:00
ipaq_micro_battery.c
isp1704_charger.c power: supply: isp1704: remove redundant assignment to variable ret 2019-09-02 21:12:45 +02:00
lego_ev3_battery.c
lp8727_charger.c
lp8788-charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:04:09 +02:00
lt3651-charger.c
ltc2941-battery-gauge.c power: supply: ltc2941-battery-gauge: fix use-after-free 2020-02-11 04:35:24 -08:00
max1721x_battery.c
max8903_charger.c
max8925_power.c
max8997_charger.c
max8998_charger.c
max14577_charger.c
max14656_charger_detector.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
max17040_battery.c power: supply: max17040: Correct voltage reading 2020-10-01 13:17:59 +02:00
max17042_battery.c power: supply: max17042_battery: Fix a typo in function names 2019-09-02 21:02:43 +02:00
max77650-charger.c power: supply: max77650: add MODULE_ALIAS() 2019-09-02 21:15:45 +02:00
max77693_charger.c
olpc_battery.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
pcf50633-charger.c
pda_power.c
pm2301_charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:04:09 +02:00
pm2301_charger.h
pmu_battery.c
power_supply.h
power_supply_core.c power: supply: Init device wakeup after device_add() 2019-09-02 10:06:31 +02:00
power_supply_hwmon.c power: supply: core: fix memory leak in HWMON error path 2020-06-22 09:31:20 +02:00
power_supply_leds.c
power_supply_sysfs.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
qcom_smbb.c
rt5033_battery.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
rt9455_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
rx51_battery.c
s3c_adc_battery.c power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() 2021-05-11 14:04:11 +02:00
sbs-battery.c power: supply: sbs-battery: only return health when battery present 2019-09-02 10:06:31 +02:00
sbs-charger.c
sbs-manager.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Add POWER_SUPPLY_PROP_CALIBRATE attribute 2019-09-02 23:00:20 +02:00
sc2731_charger.c
smb347-charger.c power: supply: smb347-charger: IRQSTAT_D is volatile 2020-06-24 17:50:25 +02:00
test_power.c power: supply: test_power: add missing newlines when printing parameters by sysfs 2020-11-05 11:43:19 +01:00
tosa_battery.c
tps65090-charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:04:09 +02:00
tps65217_charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:04:09 +02:00
twl4030_charger.c
twl4030_madc_battery.c
ucs1002_power.c
wilco-charger.c power_supply: wilco_ec: Add charging config driver 2019-07-05 00:54:36 +02:00
wm97xx_battery.c
wm831x_backup.c
wm831x_power.c
wm8350_power.c
z2_battery.c