• Marcin Niestroj's avatar
    power_supply: tps65217-charger: Fix NULL deref during property export · 36276129
    Marcin Niestroj authored
    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: default avatarMarcin Niestroj <m.niestroj@grinn-global.com>
    Fixes: 3636859b ("power_supply: Add support for tps65217-charger")
    Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
    36276129
tps65217_charger.c 6.78 KB