linux_dsm_epyc7002/drivers/power/supply
Sven Van Asbroeck a60ec78d30 power: supply: ltc2941-battery-gauge: fix use-after-free
This driver's remove path calls cancel_delayed_work().
However, that function does not wait until the work function
finishes. This could mean that the work function is still
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
that the work is properly cancelled, no longer running, and
unable to re-schedule itself.

This issue was detected with the help of Coccinelle.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2020-01-14 01:23:20 +01:00
..
88pm860x_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
88pm860x_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ab8500_bmdata.c power: supply: ab8500: fix leaked of_node refs in ab8500_bm_of_probe 2019-04-17 22:14:24 +02:00
ab8500_btemp.c power: supply: ab8500: Handle invalid IRQ from platform_get_irq_byname() 2019-10-20 15:18:44 +02:00
ab8500_charger.c power: supply: ab8500_charger: Remove unneeded semicolon 2019-12-19 18:05:28 +01:00
ab8500_fg.c power: supply: ab8500: Remove unneeded semicolon 2019-12-19 18:05:28 +01:00
abx500_chargalg.c power: supply: abx500_chargalg: Remove unneeded semicolon 2019-12-19 18:05:28 +01:00
act8945a_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5061.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
apm_power.c
axp20x_ac_power.c power: supply: axp20x_ac_power: Add wakeup control 2020-01-14 01:00:41 +01:00
axp20x_battery.c power: supply: axp20x_battery: add support for AXP813 2018-03-09 16:52:33 +01:00
axp20x_usb_power.c power: supply: axp20x_usb_power: Remove unused device_node 2020-01-14 01:00:42 +01:00
axp288_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Add Minix Neo Z83-4 to the blacklist 2019-09-01 21:44:15 +02:00
bd70528-charger.c power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading 2019-10-27 22:33:44 +01:00
bq27xxx_battery_hdq.c power: supply: bq27xxx: move platform driver code into bq27xxx_battery_hdq.c 2017-07-25 15:31:21 +02:00
bq27xxx_battery_i2c.c power: supply: bq27xxx: Add support for BQ27411 2018-09-20 11:35:40 +02:00
bq27xxx_battery.c power: supply: bq27xxx_battery: Notify also about status changes 2019-05-02 00:27:29 +02:00
bq2415x_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bq24190_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07: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 power: supply: bq24735: remove incorrect le16_to_cpu calls 2017-06-15 16:47:35 +02:00
bq25890_charger.c power: supply: bq25890_charger: Add the BQ25895 part 2019-09-02 21:12:08 +02:00
charger-manager.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
collie_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpcap-battery.c power: supply: cpcap-battery: Add basic coulomb counter calibrate support 2019-10-20 20:48:59 +02:00
cpcap-charger.c power: supply: cpcap-charger: cpcap_charger_voltage_to_regval() can be static 2019-10-21 10:43:41 +02:00
cros_usbpd-charger.c power: supply: cros_usbpd: Remove dev_err() getting the number of ports 2019-12-19 01:58:44 +01:00
da9030_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
da9052-battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
da9150-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
da9150-fg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ds2760_battery.c power: supply: ds2760_battery: add devicetree probing 2018-07-11 18:09:09 +02:00
ds2780_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ds2781_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ds2782_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
generic-adc-battery.c power: generic-adc-battery: check for duplicate properties copied from iio channels 2018-07-06 18:58:44 +02:00
goldfish_battery.c drivers: power: supply: goldfish_battery: Fix bogus SPDX identifier 2019-04-15 11:16:31 +02:00
gpio-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 2019-05-30 11:26:28 -07:00
ingenic-battery.c power/supply: ingenic-battery: Don't change scale if there's only one 2019-12-19 01:07:53 +01:00
ipaq_micro_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
isp1704_charger.c power: supply: isp1704: remove redundant assignment to variable ret 2019-09-02 21:12:45 +02:00
Kconfig power: supply: Fix Kconfig indentation 2019-12-19 01:07:53 +01:00
lego_ev3_battery.c power: supply: lego_ev3_battery: fix Vce offset 2018-07-22 23:33:43 +02:00
lp8727_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lt3651-charger.c power: supply: ltc3651-charger: Fix device name (rename files) 2019-04-10 00:39:01 +02:00
ltc2941-battery-gauge.c power: supply: ltc2941-battery-gauge: fix use-after-free 2020-01-14 01:23:20 +01:00
Makefile power/supply: Drop obsolete JZ4740 driver 2019-07-30 10:41:54 -07:00
max1721x_battery.c power: supply: max1721x: fix spelling mistake "RSenese" -> "RSense" 2018-06-28 14:24:13 +02:00
max8903_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
max8925_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max8997_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
max8998_charger.c power: supply: max8998-charger: Fix platform data retrieval 2018-09-16 13:46:39 +02:00
max14577_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
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 IRQ wake handling 2020-01-14 01:19:05 +01:00
max17042_battery.c power: supply: max17042: add MAX17055 support 2019-12-19 01:07:53 +01:00
max77650-charger.c power: supply: max77650: add of_match table 2019-12-19 01:13:26 +01:00
max77693_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
olpc_battery.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
pcf50633-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pda_power.c power: supply: pda_power: add missed usb_unregister_notifier 2019-12-19 01:07:53 +01:00
pm2301_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pm2301_charger.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pmu_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
power_supply_core.c power: supply: core: Add battery internal resistance temperature table support 2019-12-19 01:36:32 +01:00
power_supply_hwmon.c power: supply: register HWMON devices with valid names 2019-09-01 21:43:04 +02:00
power_supply_leds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218 2019-05-30 11:29:54 -07:00
power_supply_sysfs.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
power_supply.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218 2019-05-30 11:29:54 -07:00
qcom_smbb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
s3c_adc_battery.c power: supply: s3c-adc-battery: fix driver data initialization 2018-04-26 00:12:11 +02:00
sbs-battery.c power: supply: sbs-battery: fix CAPACITY_MODE bit naming 2019-12-19 02:11:18 +01:00
sbs-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
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: Calibrate the resistance of coulomb counter 2019-12-19 01:37:54 +01:00
sc2731_charger.c power: supply: sc2731_charger: Free battery information 2018-12-05 23:54:01 +01:00
smb347-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
test_power.c test_power: Add CURRENT properties 2019-10-10 18:32:49 +02:00
tosa_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tps65090-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tps65217_charger.c power: supply: tps65217: Switch to SPDX identifier. 2018-06-28 14:19:20 +02:00
twl4030_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
twl4030_madc_battery.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ucs1002_power.c power: suppy: ucs1002: disable power when max current is 0 2019-12-19 01:07:53 +01:00
wilco-charger.c power_supply: wilco_ec: Add charging config driver 2019-07-05 00:54:36 +02:00
wm97xx_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm831x_backup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm831x_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm8350_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
z2_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00