]> asedeno.scripts.mit.edu Git - linux.git/commit
power: supply: max14656: fix potential use-before-alloc
authorSven Van Asbroeck <thesven73@gmail.com>
Fri, 15 Feb 2019 21:43:02 +0000 (16:43 -0500)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Fri, 5 Apr 2019 16:01:38 +0000 (18:01 +0200)
commit0cd0e49711556d2331a06b1117b68dd786cb54d2
tree96039b9bd4b451eb2e13739b8fa6321d2242e7f9
parentec4628effbb7cf1f5241b41936540d986715f3bb
power: supply: max14656: fix potential use-before-alloc

Call order on probe():
- max14656_hw_init() enables interrupts on the chip
- devm_request_irq() starts processing interrupts, isr
  could be called immediately
-    isr: schedules delayed work (irq_work)
-    irq_work: calls power_supply_changed()
- devm_power_supply_register() registers the power supply

Depending on timing, it's possible that power_supply_changed()
is called on an unregistered power supply structure.

Fix by registering the power supply before requesting the irq.

Cc: Alexander Kurz <akurz@blala.de>
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/max14656_charger_detector.c