• Michal Kazior's avatar
    leds: lp55xx: fix null deref on firmware load failure · 0affcd54
    Michal Kazior authored
    [ Upstream commit 5ddb0869 ]
    
    I've stumbled upon a kernel crash and the logs
    pointed me towards the lp5562 driver:
    
    > <4>[306013.841294] lp5562 0-0030: Direct firmware load for lp5562 failed with error -2
    > <4>[306013.894990] lp5562 0-0030: Falling back to user helper
    > ...
    > <3>[306073.924886] lp5562 0-0030: firmware request failed
    > <1>[306073.939456] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    > <4>[306074.251011] PC is at _raw_spin_lock+0x1c/0x58
    > <4>[306074.255539] LR is at release_firmware+0x6c/0x138
    > ...
    
    After taking a look I noticed firmware_release()
    could be called with either NULL or a dangling
    pointer.
    
    Fixes: 10c06d17 ("leds-lp55xx: support firmware interface")
    Signed-off-by: default avatarMichal Kazior <michal@plume.com>
    Signed-off-by: default avatarJacek Anaszewski <jacek.anaszewski@gmail.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    0affcd54
leds-lp55xx-common.c 13.6 KB