linux/drivers/power
Krzysztof Kozlowski a2c1d53185 power_supply: ipaq_micro_battery: Check return values in probe
The return values of create_singlethread_workqueue() and
power_supply_register() calls were not checked and even on error probe()
function returned 0.

1. If allocation of workqueue failed (returning NULL) then further
   accesses could lead to NULL pointer dereference. The
   queue_delayed_work() expects workqueue to be non-NULL.

2. If registration of power supply failed then during unbind the driver
   tried to unregister power supply which was not actually registered.
   This could lead to memory corruption because
   power_supply_unregister() unconditionally cleans up given power
   supply.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 00a588f9d2 ("power: add driver for battery reading on iPaq h3xxx")
Cc: <stable@vger.kernel.org>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2015-02-25 22:18:18 +01:00
..
avs PM / AVS: rockchip-io: add driver handling Rockchip io domains 2014-09-25 09:57:23 -07:00
reset power/reset: restart-poweroff: Remove arm dependencies 2015-01-25 22:13:18 +01:00
88pm860x_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
88pm860x_charger.c power_supply: 88pm860x: Fix leaked power supply on probe fail 2015-01-28 15:08:10 +01:00
ab8500_bmdata.c ab8500_bmdata: Export abx500_res_to_temp tables for hwmon 2013-04-16 17:38:10 -07:00
ab8500_btemp.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
ab8500_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
ab8500_fg.c power: ab8500_fg.c: Remove unused function 2015-01-21 14:06:48 +01:00
abx500_chargalg.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
apm_power.c
bq27x00_battery.c bq27x00_battery: Call power_supply_changed only when capacity changed 2015-01-21 20:03:31 +01:00
bq2415x_charger.c power: bq2415x_charger: Fix memory leak on DTS parsing error 2014-10-28 03:30:18 +01:00
bq24190_charger.c power: bq24190_charger: suppress build warning 2015-01-21 16:59:28 +01:00
bq24735-charger.c power_supply: Add support for bq24735 charger 2013-10-25 15:56:51 -07:00
charger-manager.c power: charger-manager: Use alarmtimer for battery monitoring in suspend. 2015-01-21 20:52:07 +01:00
collie_battery.c power: collie_battery: support generating wakeup event 2015-01-20 13:58:32 +01:00
da9030_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
da9052-battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
ds2760_battery.c ds2760_battery: Use devm_kzalloc() 2013-03-31 23:25:47 -07:00
ds2780_battery.c ds2780_battery: Use devm_kzalloc() 2013-03-31 23:25:45 -07:00
ds2781_battery.c
ds2782_battery.c power: ds2782_battery: Simplify the PM hooks 2014-11-17 03:07:11 +01:00
generic-adc-battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
goldfish_battery.c goldfish_battery: Use resource_size() 2013-03-31 23:39:40 -07:00
gpio-charger.c power: gpio-charger: balance enable/disable_irq_wake calls 2015-01-20 13:58:31 +01:00
intel_mid_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
ipaq_micro_battery.c power_supply: ipaq_micro_battery: Check return values in probe 2015-02-25 22:18:18 +01:00
isp1704_charger.c isp1704_charger: remove useless check in isp1704_charger_probe() 2014-01-25 15:24:15 +04:00
jz4740-battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
Kconfig Add LTC2941/LTC2943 Battery Gauge Driver 2015-01-22 03:23:07 +01:00
lp8727_charger.c lp8727_charger: Support the device tree feature 2013-06-06 17:19:54 -07:00
lp8788-charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
ltc2941-battery-gauge.c power: ltc2941-battery-gauge: Fix typo in conversion formula (58 instead of 85) 2015-02-25 21:15:59 +01:00
Makefile Add LTC2941/LTC2943 Battery Gauge Driver 2015-01-22 03:23:07 +01:00
max8903_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
max8925_power.c power: max8925: Use of_get_child_by_name 2014-09-25 01:37:13 +02:00
max8997_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
max8998_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
max14577_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
max17040_battery.c power: max17040: Add ID for MAX77836 Fuel Gauge block 2014-09-24 15:25:52 +01:00
max17042_battery.c power: max17042: Constify struct regmap_config 2015-01-20 13:58:32 +01:00
max77693_charger.c power: max77693: fix platform_no_drv_owner.cocci warnings 2015-01-21 14:02:41 +01:00
olpc_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
pcf50633-charger.c power_supply: Replace strict_strtoul() with kstrtoul() 2013-06-06 17:35:38 -07:00
pda_power.c
pm2301_charger.c power / PM: Eliminate CONFIG_PM_RUNTIME 2014-12-15 15:12:21 +01:00
pm2301_charger.h
pmu_battery.c
power_supply_core.c power_supply: Add no_thermal property to prevent recursive get_temp calls 2014-10-28 03:30:19 +01:00
power_supply_leds.c power-supply: Avoid unnecessary 'goto' statements 2014-09-16 11:01:37 +02:00
power_supply_sysfs.c power-supply: Check for failures only when we can fail 2014-09-16 11:01:37 +02:00
power_supply.h
rt5033_battery.c power: rt5033_battery: Add RT5033 Fuel gauge device driver 2015-01-20 13:58:31 +01:00
rx51_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
s3c_adc_battery.c
sbs-battery.c sbs-battery: add min design voltage to sbs-battery 2014-09-06 20:57:43 +02:00
smb347-charger.c
test_power.c power: test_power: Use enum as index for array of supplies 2015-01-23 16:03:00 +01:00
tosa_battery.c power_supply: tosa_battery: Get rid of irq_to_gpio usage 2013-08-09 13:41:52 -07:00
tps65090-charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
twl4030_charger.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
twl4030_madc_battery.c power_supply: twl4030_madc: Check return value of power_supply_register 2015-02-25 22:18:18 +01:00
wm97xx_battery.c power: drop owner assignment from platform_drivers 2014-10-20 16:21:27 +02:00
wm831x_backup.c wm831x_backup: Fix wrong kfree call for devdata->backup.name 2013-05-10 11:56:22 -07:00
wm831x_power.c
wm8350_power.c
z2_battery.c