linux/drivers/power/supply
Dimitri Fedrau f6279a98db power: supply: gpio-charger: Fix set charge current limits
commit afc6e39e82 upstream.

Fix set charge current limits for devices which allow to set the lowest
charge current limit to be greater zero. If requested charge current limit
is below lowest limit, the index equals current_limit_map_size which leads
to accessing memory beyond allocated memory.

Fixes: be2919d835 ("power: supply: gpio-charger: add charge-current-limit feature")
Cc: stable@vger.kernel.org
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Link: https://lore.kernel.org/r/20241209-fix-charge-current-limit-v1-1-760d9b8f2af3@liebherr.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-01-02 10:34:24 +01:00
..
88pm860x_battery.c power: supply: 88pm860x_battery: fix the return value handle for platform_get_irq() 2023-09-12 20:44:52 +02:00
88pm860x_charger.c power: supply: 88pm860x: simplify using devm 2022-11-17 23:47:23 +01:00
ab8500-bm.h power: supply: ab8500: Standardize BTI resistance 2022-02-28 11:34:31 +01:00
ab8500-chargalg.h power: supply: ab8500: Drop external charger leftovers 2022-07-17 00:51:35 +02:00
ab8500_bmdata.c power: supply: ab8500: Standardize BTI resistance 2022-02-28 11:34:31 +01:00
ab8500_btemp.c power: supply: core: add power_supply_for_each_device() 2024-03-06 00:21:34 +01:00
ab8500_chargalg.c power: supply: samsung-sdi-battery: Constify struct power_supply_maintenance_charge_table 2024-06-26 17:32:00 +02:00
ab8500_charger.c power: supply: ab8500: Clean some error messages 2024-06-26 15:00:53 +02:00
ab8500_fg.c power: supply: ab8500: Constify struct kobj_type 2024-09-05 16:30:44 +02:00
acer_a500_battery.c power: supply: acer_a500_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
act8945a_charger.c power: supply: act8945a_charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
adp5061.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
apm_power.c power: supply: core: add power_supply_for_each_device() 2024-03-06 00:21:34 +01:00
axp20x_ac_power.c power: supply: axp20x_ac_power: Annotate struct axp20x_ac_power with __counted_by 2023-09-22 22:54:36 +02:00
axp20x_battery.c power: supply: axp20x_battery: add support for AXP717 2024-09-03 23:54:58 +02:00
axp20x_usb_power.c power: supply: axp20x_usb_power: Add support for AXP717 2024-09-03 23:53:34 +02:00
axp288_charger.c power: supply: axp288_charger: Round constant_charge_voltage writes down 2024-07-27 00:16:15 +02:00
axp288_fuel_gauge.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bd99954-charger.c power: supply: bd99954: remove unused struct 'battery_data' 2024-06-03 01:29:46 +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 registers of bq27426 2024-12-05 14:02:29 +01: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 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bq256xx_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
bq2415x_charger.c power: supply: bq2415x_charger: report online status 2024-03-01 02:26:10 +01:00
bq2515x_charger.c power: supply: bq2515x: replace deprecated strncpy with strscpy 2023-10-21 00:26:51 +02:00
bq24190_charger.c power: supply: bq24190: Fix BQ24296 Vbus regulator support 2025-01-02 10:34:15 +01:00
bq24257_charger.c power: supply: bq24257_charger: Cleanup OF/ID table terminators 2023-09-12 23:50:05 +02:00
bq24735-charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
bq25890_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
bq25980_charger.c power: supply: bq25980: replace deprecated strncpy with strscpy 2023-10-21 00:29:30 +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: replace deprecated strncpy with strscpy 2023-10-21 00:32:31 +02:00
collie_battery.c power: supply: collie_battery: Convert to GPIO descriptors (part 2) 2023-02-03 13:28:59 +01:00
cpcap-battery.c power: supply: cpcap-battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
cpcap-charger.c power: supply: cpcap-charger: Convert comma to semicolon 2024-08-27 19:29:30 +02:00
cros_charge-control.c power: supply: cros_charge-control: hide start threshold on v2 cmd 2025-01-02 10:34:23 +01:00
cros_peripheral_charger.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
cros_usbpd-charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
cw2015_battery.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
da9030_battery.c power: supply: da9030: Use devm_power_supply_register() helper 2024-01-27 01:23:40 +01:00
da9052-battery.c power: supply: da9052: Use devm_power_supply_register() helper 2024-01-27 01:23:40 +01:00
da9150-charger.c power: supply: da9150: Use devm_power_supply_register() helper 2024-01-27 01:25:05 +01:00
da9150-fg.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ds2760_battery.c power: supply: ds2760: Use devm_power_supply_register() helper 2024-01-27 01:23:40 +01:00
ds2780_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2781_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2782_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
generic-adc-battery.c power: supply: generic-adc-battery: style fixes 2023-03-29 22:38:57 +02:00
goldfish_battery.c power: supply: goldfish: Use devm_power_supply_register() helper 2024-01-27 01:23:40 +01:00
gpio-charger.c power: supply: gpio-charger: Fix set charge current limits 2025-01-02 10:34:24 +01:00
ingenic-battery.c power: supply: ingenic: Fix some error handling paths in ingenic_battery_get_property() 2024-06-26 15:16:57 +02:00
ip5xxx_power.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
ipaq_micro_battery.c power: supply: ipaq_micro_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
isp1704_charger.c power: supply: isp1704_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
Kconfig power supply and reset changes for the 6.11 series 2024-07-23 09:38:27 -07:00
lego_ev3_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
lenovo_yoga_c630_battery.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
lp8727_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
lp8788-charger.c power: supply: lp8788: Use devm_power_supply_register() helper 2024-01-27 01:23:41 +01: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: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ltc4162-l-charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
Makefile power supply and reset changes for the 6.11 series 2024-07-23 09:38:27 -07:00
max1720x_battery.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
max1721x_battery.c power: supply: max1721x: Use strscpy() is more robust and safer 2023-02-03 13:58:41 +01:00
max8903_charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max8925_power.c power: supply: max8925: Use devm_power_supply_register() helper 2024-02-01 22:48:54 +01:00
max8997_charger.c extcon: Fix extcon_get_extcon_dev() error handling 2022-05-13 17:03:40 +09:00
max8998_charger.c power: supply: max8998_charger: Fix module autoloading 2024-08-27 11:41:42 +02:00
max14577_charger.c power: supply: max14577: Use devm_power_supply_register() helper 2024-02-01 22:48:54 +01:00
max14656_charger_detector.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
max17040_battery.c power: max17040: get thermal data from adc if available 2023-09-14 16:54:46 +02:00
max17042_battery.c power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense 2024-08-27 18:37:38 +02:00
max77650-charger.c power: supply: max77650-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max77693_charger.c power: supply: max77693: Expose input current limit and CC current properties 2024-08-27 18:54:42 +02:00
max77976_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
mm8013.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
mp2629_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
mt6360_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
mt6370-charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
olpc_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
pcf50633-charger.c power: supply: pcf50633: Use devm_power_supply_register() helper 2024-01-27 01:25:04 +01:00
pm8916_bms_vm.c power: supply: Add pm8916 VM-BMS support 2023-09-15 21:52:00 +02:00
pm8916_lbc.c power: supply: Add driver for pm8916 lbc 2023-09-15 21:52:00 +02:00
pmu_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
power_supply.h power: supply: move power_supply_attr_groups definition back to sysfs 2024-03-06 00:24:26 +01:00
power_supply_core.c power: supply: core: Remove might_sleep() from power_supply_put() 2024-12-05 14:02:29 +01:00
power_supply_hwmon.c power: supply: hwmon: Fix missing temp1_max_alarm attribute 2024-09-14 11:06:07 +02:00
power_supply_leds.c power: supply: leds: Add activate() callback to triggers 2024-06-03 01:29:43 +02:00
power_supply_sysfs.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
qcom_battmgr.c power supply and reset changes for the 6.12 series 2024-09-18 10:24:22 +02:00
qcom_pmi8998_charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
qcom_smbb.c power: supply: qcom_smbb: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
rk817_charger.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
rn5t618_power.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
rt5033_battery.c power: supply: rt5033: Bring back i2c_set_clientdata 2024-06-05 23:38:31 +02:00
rt5033_charger.c power: supply: rt5033_charger: Replace "&pdev->dev" by "charger->dev" in probe 2023-10-04 22:27:34 +02:00
rt9455_charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
rt9467-charger.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
rt9471.c power: supply: rt9471: Use IC status regfield to report real charger status 2024-12-05 14:02:30 +01:00
rx51_battery.c power: supply: rx51: Use devm_power_supply_register() helper 2024-01-27 01:25:05 +01:00
samsung-sdi-battery.c power: supply: samsung-sdi-battery: Constify struct power_supply_maintenance_charge_table 2024-06-26 17:32:00 +02:00
samsung-sdi-battery.h power: supply: Static data for Samsung batteries 2022-03-04 22:20:18 +01:00
sbs-battery.c power: supply: sbs-battery: Make similar OF and ID table 2023-09-12 18:25:35 +02:00
sbs-charger.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
sbs-manager.c power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 18:47:11 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Fix external_power_changed race 2023-05-08 15:06:12 +02:00
sc2731_charger.c power: supply: sc2731_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
smb347-charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
surface_battery.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
surface_charger.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
test_power.c power: supply: test-power: implement charge_behaviour property 2024-03-25 23:29:06 +01:00
tps65090-charger.c power: supply: tps65090: Use devm_power_supply_register() helper 2024-01-27 01:25:04 +01:00
tps65217_charger.c USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
twl4030_charger.c power: supply: twl4030_charger: correct comparision with old current 2024-08-27 11:47:48 +02:00
twl4030_madc_battery.c power: supply: twl4030_madc: Use devm_power_supply_register() helper 2024-01-27 01:25:05 +01:00
ucs1002_power.c power: supply: Change usb_types from an array into a bitmask 2024-09-03 23:20:28 +02:00
ug3105_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +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 platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm831x_backup.c power: supply: wm831x: Use devm_power_supply_register() helper 2024-01-27 01:25:04 +01:00
wm831x_power.c power: supply: wm831x: Use devm_power_supply_register() helper 2024-01-27 01:25:04 +01:00
wm8350_power.c power: supply: wm8350: Use devm_power_supply_register() helper 2024-02-01 22:48:54 +01:00