android_kernel_oneplus_msm8998/drivers/leds
Michal Kazior f1289edae5 leds: lp55xx: fix null deref on firmware load failure
[ Upstream commit 5ddb0869bfc1bca6cfc592c74c64a026f936638c ]

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: 10c06d178d ("leds-lp55xx: support firmware interface")
Signed-off-by: Michal Kazior <michal@plume.com>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-27 09:33:51 +02:00
..
trigger
dell-led.c
Kconfig
led-class-flash.c
led-class.c leds: turn off the LED and wait for completion on unregistering LED class device 2018-12-13 09:21:31 +01:00
led-core.c
led-triggers.c
leds-88pm860x.c
leds-aat1290.c
leds-adp5520.c
leds-asic3.c
leds-bcm6328.c
leds-bcm6358.c
leds-bd2802.c
leds-blinkm.c
leds-clevo-mail.c
leds-cobalt-qube.c
leds-cobalt-raq.c
leds-da903x.c
leds-da9052.c
leds-dac124s085.c
leds-fsg.c
leds-gpio-register.c
leds-gpio.c leds: leds-gpio: Fix return value check in create_gpio_led() 2018-12-13 09:21:31 +01:00
leds-hp6xx.c
leds-ipaq-micro.c
leds-ktd2692.c
leds-lm355x.c
leds-lm3530.c
leds-lm3533.c
leds-lm3642.c
leds-locomo.c
leds-lp55xx-common.c leds: lp55xx: fix null deref on firmware load failure 2019-04-27 09:33:51 +02:00
leds-lp55xx-common.h
leds-lp3944.c
leds-lp5521.c
leds-lp5523.c leds: lp5523: fix a missing check of return value of lp55xx_read 2019-03-23 08:44:17 +01:00
leds-lp5562.c
leds-lp8501.c
leds-lp8788.c
leds-lp8860.c
leds-lt3593.c
leds-max8997.c
leds-max77693.c
leds-mc13783.c
leds-menf21bmc.c
leds-net48xx.c
leds-netxbig.c
leds-ns2.c
leds-ot200.c
leds-pca955x.c
leds-pca963x.c
leds-pca9532.c
leds-powernv.c
leds-pwm.c
leds-rb532.c
leds-regulator.c
leds-s3c24xx.c
leds-sead3.c
leds-ss4200.c
leds-sunfire.c
leds-syscon.c
leds-tca6507.c
leds-tlc591xx.c
leds-versatile.c
leds-wm831x-status.c
leds-wm8350.c
leds-wrap.c
leds.h
Makefile