linux/drivers/power/supply
Yang Yingliang 68ae256945 power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
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>
2021-04-08 14:36:08 +02:00
..
88pm860x_battery.c power: supply: 88pm860x_battery: Remove unnecessary int for long long 2021-04-02 14:14:58 +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 mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500_btemp.c mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500_charger.c mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
ab8500_fg.c mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500-bm.h mfd/power: ab8500: Push data to power supply code 2021-03-22 14:56:02 +00:00
ab8500-chargalg.h mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
abx500_chargalg.c mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
acer_a500_battery.c power: supply: Add battery gauge driver for Acer Iconia Tab A500 2021-01-14 23:39:43 +01:00
act8945a_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5061.c
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
axp20x_usb_power.c power: supply: axp20x_usb_power: Add missing check in axp20x_usb_power_probe 2021-03-15 01:07:54 +01:00
axp288_charger.c power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching 2020-11-30 01:15:02 +01:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Add Mele PCG03 to the deny-list 2021-01-12 22:52:42 +01:00
bd70528-charger.c power: supply: bd70528: use linear ranges 2020-05-10 02:35:46 +02:00
bd99954-charger.c power: supply: Make bd9995x_chip_reset static 2020-05-28 19:02:59 +02:00
bd99954-charger.h power: supply: Support ROHM bd99954 charger 2020-05-10 02:35:49 +02:00
bq27xxx_battery_hdq.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
bq27xxx_battery_i2c.c power: supply: bq27xxx: Add support for BQ78Z100 2021-03-21 21:29:26 +01:00
bq27xxx_battery.c power: supply: bq27xxx: Add support for BQ78Z100 2021-03-21 21:29:26 +01:00
bq256xx_charger.c power: supply: bq256xx: Fix BQ256XX_NUM_WD_VAL and bq256xx_watchdog_time[] overrun 2021-01-14 23:38:56 +01:00
bq2415x_charger.c power: supply: bq2xxxx: Replace HTTP links with HTTPS ones 2020-07-28 02:07:35 +02:00
bq2515x_charger.c power: supply: bq2515x: fix kerneldoc 2020-10-03 22:17:50 +02:00
bq24190_charger.c power: supply: bq24190_charger: convert comma to semicolon 2021-01-16 12:38:57 +01:00
bq24257_charger.c power: supply: bq24257: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
bq24735-charger.c power: supply: bq24735: Drop unused include 2020-11-30 02:45:37 +01:00
bq25890_charger.c power: supply: bq25890: Use the correct range for IILIM register 2020-11-29 23:06:03 +01:00
bq25980_charger.c power: supply: bq25980: Move props from battery node 2021-04-05 17:51:21 +02:00
bq25980_charger.h power: supply: bq25980: Add support for the BQ259xx family 2020-10-04 01:54:35 +02:00
charger-manager.c power: supply: charger-manager: Fix a typo 2021-03-22 14:59:48 +01:00
collie_battery.c power: supply: collie_battery: Convert to GPIO descriptors 2020-11-30 02:18:49 +01:00
cpcap-battery.c power: supply: cpcap-battery: constify psy_desc 2021-01-15 13:26:46 +01:00
cpcap-charger.c power: supply: cpcap-charger: Simplify bool conversion 2021-04-05 11:37:06 +02:00
cros_usbpd-charger.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cw2015_battery.c power: supply: cw2015: Add CHARGE_NOW support 2021-03-06 18:39:05 +01:00
da9030_battery.c power: Convert to DEFINE_SHOW_ATTRIBUTE 2020-07-27 00:05:56 +02:00
da9052-battery.c
da9150-charger.c
da9150-fg.c
ds2760_battery.c power-supply: use kobj_to_dev() 2021-01-28 01:31:42 +01:00
ds2780_battery.c power: supply: ds2780: Switch to using the new API kobj_to_dev() 2021-01-16 12:36:26 +01:00
ds2781_battery.c power: supply: ds2781: use kobj_to_dev() 2021-03-22 15:05:41 +01: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: supply: generic-adc-battery: fix possible use-after-free in gab_remove() 2021-04-08 14:35:19 +02:00
goldfish_battery.c power: supply: goldfish: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
gpio-charger.c power: supply: gpio-charger: add charge-current-limit feature 2020-08-27 21:13:23 +02:00
ingenic-battery.c power: supply: ingenic: remove unneeded semicolon 2020-12-30 00:42:46 +01:00
ipaq_micro_battery.c power: supply: ipaq_micro_battery: remove unneeded semicolon 2020-01-17 02:13:00 +01:00
isp1704_charger.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
Kconfig power: supply: Add AC driver for Surface Aggregator Module 2021-04-08 14:30:35 +02:00
lego_ev3_battery.c power: supply: lego_ev3: Simplify with dev_err_probe() 2020-08-26 17:25:45 +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 power: supply: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01:00
lt3651-charger.c
ltc2941-battery-gauge.c power: supply: ltc2941: Fix ptr to enum cast 2020-10-10 22:16:43 +02:00
ltc4162-l-charger.c power: supply: ltc4162-l: Constify static struct attribute_group 2021-01-13 22:11:43 +01:00
Makefile power: supply: Add AC driver for Surface Aggregator Module 2021-04-08 14:30:35 +02:00
max1721x_battery.c power: supply: max1721x: Correct spelling 2021-03-22 15:11:22 +01:00
max8903_charger.c power: supply: max8903: Convert to GPIO descriptors 2021-01-12 23:23:49 +01:00
max8925_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
max8997_charger.c power: supply: max8997_charger: Switch to new binding 2021-04-02 14:12:52 +02:00
max8998_charger.c power: supply: max8998_charger: Correct ONLINE and add STATUS props 2020-06-19 19:58:23 +02:00
max14577_charger.c power: charger: max14577: Add proper dt-compatible strings 2020-05-28 09:11:55 +02:00
max14656_charger_detector.c power: supply: max14656: Drop unused includes 2021-01-12 23:09:45 +01:00
max17040_battery.c power: supply: max17040: Fix ptr to enum cast 2020-10-09 00:10:32 +02:00
max17042_battery.c power: supply: max17042: Trivial spelling fixes 2021-03-23 14:27:11 +01:00
max77650-charger.c power: supply: max77650: add of_match table 2019-12-19 01:13:26 +01:00
max77693_charger.c
mp2629_charger.c power: supply: Add support for mps mp2629 battery charger 2020-05-26 10:41:52 +01:00
olpc_battery.c power: supply: olpc_battery: fix the power supply name 2020-05-10 18:56:30 +02:00
pcf50633-charger.c
pda_power.c power: supply: pda_power: add missed usb_unregister_notifier 2019-12-19 01:07:53 +01:00
pm2301_charger.c Immutable branch between MFD and Power due for the v5.13 merge window 2021-04-05 12:38:08 +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: reduce loglevel for probe defer info 2021-04-02 14:19:26 +02:00
power_supply_hwmon.c power: supply: remove duplicated argument in power_supply_hwmon_info 2021-01-12 23:00:32 +01: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: core: Constify static struct attribute_group 2021-01-13 22:11:44 +01: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
rn5t618_power.c power: supply: fix spelling mistake "unprecise" -> "imprecise" 2020-10-03 23:45:02 +02:00
rt5033_battery.c power: supply: rt5033_battery: Fix error code in rt5033_battery_probe() 2020-07-28 02:18:24 +02:00
rt9455_charger.c power: supply: rt9455: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
rx51_battery.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
s3c_adc_battery.c power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() 2021-04-08 14:36:08 +02:00
sbs-battery.c power: supply: sbs-battery: use dev_err_probe 2021-04-02 14:19:25 +02:00
sbs-charger.c power: supply: sbs-charger: drop unused gpio includes 2021-04-02 14:19:25 +02:00
sbs-manager.c power: supply: sbs-manager: update gpio include 2021-04-02 14:19:26 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: prevent adc * 1000 from overflow 2020-07-28 00:49:26 +02:00
sc2731_charger.c
smb347-charger.c power: supply: smb347-charger: Clean up whitespaces in the code 2021-03-06 18:39:06 +01:00
surface_battery.c power: supply: Add battery driver for Surface Aggregator Module 2021-04-08 14:30:28 +02:00
surface_charger.c power: supply: Add AC driver for Surface Aggregator Module 2021-04-08 14:30:35 +02:00
test_power.c power: supply: test-power: revise parameter printing to use sprintf 2020-10-09 01:02:30 +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 power: supply: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01:00
tps65217_charger.c power: supply: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01:00
twl4030_charger.c power: twl4030: Use scnprintf() for avoiding potential buffer overflow 2020-03-11 23:20:32 +01:00
twl4030_madc_battery.c
ucs1002_power.c power: supply: ucs1002: fix some health status issues 2020-10-01 00:18:05 +02:00
wilco-charger.c power: supply: wilco_ec: Add long life charging mode 2020-07-31 14:33:56 +02:00
wm97xx_battery.c power: supply: wm97xx_battery: Convert to GPIO descriptor 2021-01-13 22:25:07 +01:00
wm831x_backup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm831x_power.c power: supply: wm831x_power: remove unneeded break 2020-11-30 02:46:23 +01:00
wm8350_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
z2_battery.c power: supply: z2_battery: Drop unused variable 2021-03-15 00:08:07 +01:00