OrangePi_CM5/drivers/power/supply
Yang Yingliang ccb098c053 power: supply: generic-adc-battery: fix possible use-after-free in gab_remove()
[ Upstream commit b6cfa007b3b229771d9588970adb4ab3e0487f49 ]

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>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-11 14:47:28 +02:00
..
88pm860x_battery.c power: supply: check if calc_soc succeeded in pm860x_init_battery 2020-07-28 02:13:21 +02:00
88pm860x_charger.c
…
Kconfig power: supply: fix sbs-charger build, needs REGMAP_I2C 2021-03-04 11:37:57 +01:00
Makefile power: supply: bq25980: Add support for the BQ259xx family 2020-10-04 01:54:35 +02:00
ab8500_bmdata.c
…
ab8500_btemp.c
…
ab8500_charger.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ab8500_fg.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
abx500_chargalg.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
act8945a_charger.c
…
adp5061.c
…
apm_power.c
…
axp20x_ac_power.c
…
axp20x_battery.c
…
axp20x_usb_power.c power: supply: axp20x_usb_power: Init work before enabling IRQs 2021-03-04 11:37:59 +01:00
axp288_charger.c power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching 2020-12-30 11:53:25 +01:00
axp288_fuel_gauge.c
…
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.c power: supply: bq27xxx: fix power_avg for newer ICs 2021-05-11 14:47:24 +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 TI bq34z100 2020-10-02 00:01:42 +02: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: fix reference leak 2020-12-30 11:53:25 +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
…
bq25890_charger.c power: supply: bq25890: Use the correct range for IILIM register 2020-12-30 11:53:25 +01:00
bq25980_charger.c power: supply: bq25980: Fix uninitialized wd_reg_val and overrun 2020-10-13 23:24:10 +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 incorrect check on charging_duration_ms 2020-10-09 00:33:09 +02:00
collie_battery.c
…
cpcap-battery.c power: supply: cpcap-battery: Fix missing power_supply_put() 2021-03-04 11:37:55 +01:00
cpcap-charger.c power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce 2021-05-11 14:47:27 +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: Attach OF ID table to the driver 2020-06-06 01:13:56 +02: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: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
ds2780_battery.c power: supply: ds278x: fix spelling typo 2020-09-30 01:12:04 +02:00
ds2781_battery.c power: supply: ds278x: fix spelling typo 2020-09-30 01:12:04 +02:00
ds2782_battery.c
…
generic-adc-battery.c power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() 2021-05-11 14:47:28 +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: Simplify with dev_err_probe() 2020-08-26 17:25:42 +02:00
ipaq_micro_battery.c
…
isp1704_charger.c
…
lego_ev3_battery.c power: supply: lego_ev3: Simplify with dev_err_probe() 2020-08-26 17:25:45 +02:00
lp8727_charger.c
…
lp8788-charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:47:24 +02:00
lt3651-charger.c
…
ltc2941-battery-gauge.c power: supply: ltc2941: Fix ptr to enum cast 2020-10-10 22:16:43 +02:00
max1721x_battery.c power: supply: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
max8903_charger.c
…
max8925_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
max8997_charger.c
…
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
…
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_battery: Fix current_{avg,now} hiding with no current sense 2020-12-30 11:53:25 +01:00
max77650-charger.c
…
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
…
pm2301_charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:47:24 +02:00
pm2301_charger.h
…
pmu_battery.c
…
power_supply.h
…
power_supply_core.c power: supply: Support battery temperature device-tree properties 2020-08-25 19:24:37 +02:00
power_supply_hwmon.c
…
power_supply_leds.c
…
power_supply_sysfs.c power: supply: add wireless type 2020-08-26 16:53:26 +02:00
qcom_smbb.c
…
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
…
s3c_adc_battery.c ARM: s3c: adc: move header to linux/soc/samsung 2020-08-19 21:44:11 +02:00
sbs-battery.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
sbs-charger.c
…
sbs-manager.c
…
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: Fix interrupt usage if interrupt is unavailable 2021-03-04 11:37:59 +01: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
…
tps65090-charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:47:24 +02:00
tps65217_charger.c power: supply: Use IRQF_ONESHOT 2021-05-11 14:47:24 +02:00
twl4030_charger.c
…
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
…
wm831x_backup.c
…
wm831x_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wm8350_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
z2_battery.c
…