alistair23-linux/drivers/power
Marcin Niestroj 362761299e power_supply: tps65217-charger: Fix NULL deref during property export
This bug leads to:

[    1.906411] Unable to handle kernel NULL pointer dereference at virtual address 0000000c
[    1.914878] pgd = c0004000
[    1.917786] [0000000c] *pgd=00000000
[    1.921536] Internal error: Oops: 5 [#1] SMP ARM
[    1.926357] Modules linked in:
[    1.929556] CPU: 0 PID: 14 Comm: kworker/0:1 Not tainted 4.4.5 #18
[    1.936006] Hardware name: Generic AM33XX (Flattened Device Tree)
[    1.942383] Workqueue: events power_supply_changed_work
[    1.947842] task: de2c41c0 ti: de2c8000 task.ti: de2c8000
[    1.953483] PC is at tps65217_ac_get_property+0x14/0x28
[    1.958937] LR is at tps65217_ac_get_property+0x10/0x28

Driver was trying to use drv_data in property get handler. However drv_data
was not set, so it caused NULL pointer dereference. This patch properly
sets drv_data during probe by power_supply_config parameter, so the
property get handler works as desired.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Fixes: 3636859b28 ("power_supply: Add support for tps65217-charger")
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2016-06-16 15:54:11 +02:00
..
avs PM / AVS: rockchip-io: make io-domains a child of the GRF 2016-04-26 19:12:28 +02:00
reset power: reset: at91-shdwc: add new shutdown controller driver 2016-04-10 17:17:38 +02:00
88pm860x_battery.c 88pm860x_battery: Convert to using managed resources 2015-09-22 13:35:31 +02:00
88pm860x_charger.c power_supply: 88pm860x_charger: do not pass NULL to power_supply_put 2016-03-03 15:07:22 +01:00
ab8500_bmdata.c
ab8500_btemp.c power: ab8500: convert to use match_string() helper 2016-03-17 15:09:34 -07:00
ab8500_charger.c power: ab8500: convert to use match_string() helper 2016-03-17 15:09:34 -07:00
ab8500_fg.c power: ab8500: convert to use match_string() helper 2016-03-17 15:09:34 -07:00
abx500_chargalg.c power: ab8500: convert to use match_string() helper 2016-03-17 15:09:34 -07:00
act8945a_charger.c power: act8945a: add charger driver for ACT8945A 2016-02-24 18:31:24 +01:00
apm_power.c
axp20x_usb_power.c power: Add an axp20x-usb-power driver 2015-09-22 13:35:28 +02:00
axp288_charger.c
axp288_fuel_gauge.c
bq27xxx_battery.c power_supply: bq27xxx_battery: Add of modalias and match table when CONFIG_OF is enabled 2016-02-21 20:26:00 +01:00
bq27xxx_battery_i2c.c power supply and reset changes for the v4.6 series 2016-03-17 12:50:55 -07:00
bq2415x_charger.c power_supply: bq2415x_charger: Add of modalias and match table when CONFIG_OF is enabled 2016-02-21 20:25:49 +01:00
bq24190_charger.c power: Remove unnecessary MODULE_ALIAS() for I2C drivers 2015-09-22 13:35:30 +02:00
bq24257_charger.c power: bq24257: Add various device-specific sysfs properties 2015-09-29 16:55:03 +02:00
bq24735-charger.c power: bq24735-charger: add 'ti,external-control' option 2016-02-15 06:36:10 +01:00
bq25890_charger.c
charger-manager.c power: charger_manager: convert to use match_string() helper 2016-03-17 15:09:34 -07:00
collie_battery.c power: collie_battery: hide unused variable 2016-02-15 06:01:51 +01:00
da9030_battery.c
da9052-battery.c
da9150-charger.c
da9150-fg.c power: Add support for DA9150 Fuel-Gauge 2015-10-13 11:28:07 +01:00
ds2760_battery.c
ds2780_battery.c
ds2781_battery.c
ds2782_battery.c power: ds2782_battery: constify ds278x_battery_ops structure 2015-12-05 02:06:49 +01:00
generic-adc-battery.c power: generic-adc-battery: use to_delayed_work 2016-01-07 16:38:31 +01:00
goldfish_battery.c goldfish: Enable ACPI-based enumeration for goldfish battery 2016-03-03 13:55:36 +01:00
gpio-charger.c
intel_mid_battery.c
ipaq_micro_battery.c power: ipaq-micro-battery: freeing the wrong variable 2016-04-10 17:19:52 +02:00
isp1704_charger.c power_supply: isp1704_charger: Add compatible of match for nxp,isp1707 2016-02-21 20:25:09 +01:00
jz4740-battery.c jz4740-battery: Correct voltage change check 2016-03-03 15:05:08 +01:00
Kconfig power: act8945a: add charger driver for ACT8945A 2016-02-24 18:31:24 +01:00
lp8727_charger.c power:lp8727_charger: parsing child node after getting debounce-ms 2015-09-22 13:35:29 +02:00
lp8788-charger.c power_supply: lp8788-charger: initialize boolean 'found' 2016-03-03 15:01:49 +01:00
ltc2941-battery-gauge.c
Makefile power: act8945a: add charger driver for ACT8945A 2016-02-24 18:31:24 +01:00
max8903_charger.c power: max8903_charger: set IRQF_ONESHOT if no primary handler is specified 2015-12-05 02:06:50 +01:00
max8925_power.c power/max8925: freeing wrong variable 2016-04-10 17:19:33 +02:00
max8997_charger.c
max8998_charger.c power_supply: max8998: Use devm_power_supply_register 2015-09-22 16:20:10 +02:00
max14577_charger.c
max17040_battery.c
max17042_battery.c power: max17042_battery: Convert to using managed resources 2015-09-22 16:01:34 +02:00
max77693_charger.c
olpc_battery.c
pcf50633-charger.c
pda_power.c
pm2301_charger.c power: pm2301-charger: use __maybe_unused to hide pm functions 2016-03-03 15:12:08 +01:00
pm2301_charger.h
pmu_battery.c
power_supply.h
power_supply_core.c power_supply: power_supply_read_temp only if use_cnt > 0 2016-06-14 19:25:48 +02:00
power_supply_leds.c
power_supply_sysfs.c power_supply: Add types for USB Type C and PD chargers 2016-02-15 07:02:32 +01:00
qcom_smbb.c power: qcom_smbb: test the correct variable 2015-09-24 22:35:24 +02:00
rt5033_battery.c
rt9455_charger.c power: Remove unnecessary MODULE_ALIAS() for I2C drivers 2015-09-22 13:35:30 +02:00
rx51_battery.c
s3c_adc_battery.c
sbs-battery.c sbs-battery: fix power status when battery charging near dry 2016-04-10 17:22:35 +02:00
smb347-charger.c power: Remove unnecessary MODULE_ALIAS() for I2C drivers 2015-09-22 13:35:30 +02:00
test_power.c power: test_power: correctly handle empty writes 2016-01-07 18:39:34 +01:00
tosa_battery.c
tps65090-charger.c tps65090-charger: Fix module autoload for OF platform driver 2015-09-22 16:03:37 +02:00
tps65217_charger.c power_supply: tps65217-charger: Fix NULL deref during property export 2016-06-16 15:54:11 +02:00
twl4030_charger.c drivers: power: twl4030_charger: fix link problems when building as module 2015-09-26 19:10:09 +02:00
twl4030_madc_battery.c
wm97xx_battery.c
wm831x_backup.c
wm831x_power.c wm831x_power: Use IRQF_ONESHOT to request threaded IRQs 2015-09-26 18:55:09 +02:00
wm8350_power.c
z2_battery.c