OpenCloudOS-Kernel/drivers/leds
Manfred Schlaegl c945cbcf45 leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback
fb_notifier_callback is called on any event fired by
fb_notifier_call_chain. Events may, or may not contain some data
(fb_event.data). In case of FB_EVENT_BLANK fb_event.data contains a
pointer to an integer holdingthe blank state. The Problem is, that in
ledtrig-backlight.c - fb_notifier_callback the pointer to blank state
is dereferenced BEFORE the event-type is checked.

Obviously this leads to problems with other events than FB_EVENT_BLANK,
where fb_event.data is undefined or NULL. It seems, that this problem
existed ever since the driver was added.

Like in drivers/video/backlight/backlight.c line 43 I would suggest to
return immediately on events other than FB_EVENT_BLANK.

Signed-off-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
2013-08-26 17:46:36 -07:00
..
trigger leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback 2013-08-26 17:46:36 -07:00
Kconfig leds-pca9633: Rename to leds-pca963x 2013-08-26 17:22:14 -07:00
Makefile leds-pca9633: Rename to leds-pca963x 2013-08-26 17:22:14 -07:00
dell-led.c drivers/leds: Add module.h to files using it implicitly 2011-10-31 19:31:49 -04:00
led-class.c leds: Convert led class driver from legacy pm ops to dev_pm_ops 2013-06-20 17:36:45 -07:00
led-core.c leds: delay led_set_brightness if stopping soft-blink 2012-09-11 18:32:40 +08:00
led-triggers.c leds: led-triggers: Fix checkpatch warnings 2012-11-27 14:49:30 -08:00
leds-88pm860x.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-adp5520.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-asic3.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-atmel-pwm.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-bd2802.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-blinkm.c leds: remove use of __devexit 2012-11-28 12:35:06 -08:00
leds-clevo-mail.c leds: clevo-mail: Fix incorrect placement of __initdata 2013-08-26 17:22:11 -07:00
leds-cobalt-qube.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2012-12-15 12:52:42 -08:00
leds-cobalt-raq.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2012-12-15 12:52:42 -08:00
leds-da903x.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-da9052.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-dac124s085.c leds: convert DAC124S085 LED driver to devm_kzalloc() 2012-07-24 07:52:40 +08:00
leds-fsg.c leds: leds-fsg: use devm_ioremap 2012-11-26 14:28:45 -08:00
leds-gpio-register.c leds: provide helper to register "leds-gpio" devices 2011-05-25 08:39:51 -07:00
leds-gpio.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-hp6xx.c leds: convert led platform drivers to module_platform_driver 2012-01-10 16:30:48 -08:00
leds-lm355x.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-lm3530.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-lm3533.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-lm3642.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-locomo.c drivers/leds: Add module.h to files using it implicitly 2011-10-31 19:31:49 -04:00
leds-lp55xx-common.c leds: support new LP8501 device - another LP55xx common 2013-08-26 17:22:10 -07:00
leds-lp55xx-common.h leds: lp55xx: add common macros for device attributes 2013-08-26 17:22:12 -07:00
leds-lp3944.c leds: leds-lp3944, fix "sparse" warning "mixing different enum types" 2013-08-26 17:22:11 -07:00
leds-lp5521.c leds: lp5521: remove unnecessary writing commands 2013-08-26 17:22:12 -07:00
leds-lp5523.c leds: lp5523: remove unnecessary writing commands 2013-08-26 17:22:13 -07:00
leds-lp5562.c leds: lp5562: use LP55xx common macros for device attributes 2013-08-26 17:22:13 -07:00
leds-lp8501.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-lp8788.c leds-lp8788: fix a parent device in _probe() 2013-02-01 17:47:05 -08:00
leds-lt3593.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-max8997.c leds: remove use of __devexit 2012-11-28 12:35:06 -08:00
leds-mc13783.c leds: mc13783: Fix "uninitialized variable" warning 2013-07-02 08:44:02 -07:00
leds-net48xx.c leds: leds-net48xx: Use linux/io.h instead of asm/io.h 2012-11-27 14:49:28 -08:00
leds-netxbig.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-ns2.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-ot200.c drivers/leds/leds-ot200.c: fix error caused by shifted mask 2013-05-24 16:22:51 -07:00
leds-pca955x.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-pca963x.c leds-pca963x: Fix device tree parsing 2013-08-26 17:22:14 -07:00
leds-pca9532.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-pwm.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-rb532.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2012-12-15 12:52:42 -08:00
leds-regulator.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-renesas-tpu.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-s3c24xx.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-ss4200.c leds: ss4200: Fix incorrect placement of __initdata 2013-08-26 17:22:12 -07:00
leds-sunfire.c leds: use platform_{get,set}_drvdata() 2013-06-20 16:21:33 -07:00
leds-tca6507.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-wm831x-status.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-wm8350.c leds: use dev_get_platdata() 2013-08-26 17:22:11 -07:00
leds-wrap.c leds: leds-wrap: Use <linux/io.h> instead of <asm/io.h> 2012-11-27 14:49:30 -08:00
leds.h leds: delay led_set_brightness if stopping soft-blink 2012-09-11 18:32:40 +08:00