android_kernel_xiaomi_sm8450/drivers/power/supply
ruanjinjie 5beadb55f4 power: supply: fix null pointer dereferencing in power_supply_get_battery_info
[ Upstream commit 104bb8a663451404a26331263ce5b96c34504049 ]

when kmalloc() fail to allocate memory in kasprintf(), propname
will be NULL, strcmp() called by of_get_property() will cause
null pointer dereference.

So return ENOMEM if kasprintf() return NULL pointer.

Fixes: 3afb50d712 ("power: supply: core: Add some helpers to use the battery OCV capacity table")
Signed-off-by: ruanjinjie <ruanjinjie@huawei.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-14 10:16:03 +01: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 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: add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:49 +02:00
ab8500_charger.c power: supply: ab8500: add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:49 +02:00
ab8500_fg.c power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init 2022-04-08 14:40:15 +02:00
abx500_chargalg.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
act8945a_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5061.c power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type() 2022-10-26 13:25:52 +02: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: properly report current when discharging 2022-04-13 21:00:56 +02:00
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: Set Vhold to 4.4V 2022-04-13 21:00:57 +02:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Report register-address on readb / writeb errors 2021-09-15 09:50:24 +02: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: Fix kernel crash on IRQ handler register error 2021-11-18 14:04:21 +01:00
bq27xxx_battery.c power: supply: bq27xxx: fix power_avg for newer ICs 2021-05-11 14:47:24 +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 bq24190_vbus_is_enabled() wrong false return 2022-04-08 14:40:18 +02: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: remove incorrect le16_to_cpu calls 2017-06-15 16:47:35 +02:00
bq25890_charger.c power: bq25890: Enable continuous conversion for ADC at charging 2022-01-11 15:25:01 +01:00
bq25980_charger.c power: supply: bq25980: Move props from battery node 2021-05-14 09:50:25 +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: add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:48 +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: fix invalid usage of list cursor 2021-05-11 14:47:32 +02: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: use dev_err_probe to allow deferred probe 2021-09-15 09:50:27 +02:00
da9030_battery.c power: Convert to DEFINE_SHOW_ATTRIBUTE 2020-07-27 00:05:56 +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: 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 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-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 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: rt5033_battery: Fix device tree enumeration 2021-07-20 16:05:50 +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-05-11 14:47:24 +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: Fix ptr to enum cast 2020-10-10 22:16:43 +02:00
Makefile power: supply: bq25980: Add support for the BQ259xx family 2020-10-04 01:54:35 +02:00
max1721x_battery.c power: supply: Constify static w1_family_ops structs 2020-10-05 13:21:49 +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: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05: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: 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: remove set but not used 'ret' 2020-04-13 23:01:54 +02:00
max17040_battery.c power: supply: max17040: fix null-ptr-deref in max17040_probe() 2021-11-18 14:04:18 +01:00
max17042_battery.c power: supply: max17042_battery: Clear status bits in interrupt handler 2021-11-18 14:03:52 +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
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 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 power: supply: Use IRQF_ONESHOT 2021-05-11 14:47:24 +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: fix null pointer dereferencing in power_supply_get_battery_info 2023-01-14 10:16:03 +01:00
power_supply_hwmon.c power: supply: core: fix memory leak in HWMON error path 2020-05-03 02:17:13 +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: add wireless type 2020-08-26 16:53:26 +02: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: Change voltage values to µV 2021-11-18 14:04:17 +01: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-05-11 14:47:28 +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 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: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:46 +02:00
sc2731_charger.c power: supply: sc2731_charger: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:46 +02:00
smb347-charger.c power: supply: smb347-charger: Add missing pin control activation 2021-09-15 09:50:25 +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-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 power: twl4030: Use scnprintf() for avoiding potential buffer overflow 2020-03-11 23:20:32 +01: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: 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 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: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wm8350_power.c power: supply: wm8350-power: Add missing free in free_charger_irq 2022-04-08 14:40:19 +02:00
z2_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00