linux/drivers/input/misc
Marek Szyprowski 6225c54e09 Input: max8997-haptic - fix NULL pointer dereference
[ Upstream commit 6ae645d5fa ]

NULL pointer derefence happens when booting with DTB because the
platform data for haptic device is not set in supplied data from parent
MFD device.

The MFD device creates only platform data (from Device Tree) for itself,
not for haptic child.

Unable to handle kernel NULL pointer dereference at virtual address 0000009c
pgd = c0004000
	[0000009c] *pgd=00000000
	Internal error: Oops: 5 [#1] PREEMPT SMP ARM
	(max8997_haptic_probe) from [<c03f9cec>] (platform_drv_probe+0x4c/0xb0)
	(platform_drv_probe) from [<c03f8440>] (driver_probe_device+0x214/0x2c0)
	(driver_probe_device) from [<c03f8598>] (__driver_attach+0xac/0xb0)
	(__driver_attach) from [<c03f67ac>] (bus_for_each_dev+0x68/0x9c)
	(bus_for_each_dev) from [<c03f7a38>] (bus_add_driver+0x1a0/0x218)
	(bus_add_driver) from [<c03f8db0>] (driver_register+0x78/0xf8)
	(driver_register) from [<c0101774>] (do_one_initcall+0x90/0x1d8)
	(do_one_initcall) from [<c0a00dbc>] (kernel_init_freeable+0x15c/0x1fc)
	(kernel_init_freeable) from [<c06bb5b4>] (kernel_init+0x8/0x114)
	(kernel_init) from [<c0107938>] (ret_from_fork+0x14/0x3c)

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: 104594b01c ("Input: add driver support for MAX8997-haptic")
[k.kozlowski: Write commit message, add CC-stable]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-05-17 13:43:06 -04:00
..
88pm80x_onkey.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
88pm860x_onkey.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
ab8500-ponkey.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
ad714x-i2c.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
ad714x-spi.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
ad714x.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ad714x.h Input: ad714x - read the interrupt status registers in a row 2011-08-22 09:59:26 -07:00
adxl34x-i2c.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
adxl34x-spi.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
adxl34x.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
adxl34x.h Input: adxl34 - make enable/disable separate from suspend/resume 2010-07-03 13:13:21 -07:00
apanel.c Input: make i2c device ids constant 2010-01-09 23:28:33 -08:00
arizona-haptics.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
ati_remote2.c Input: ati_remote2 - fix crashes on detecting device with invalid descriptor 2016-04-18 08:51:08 -04:00
atlas_btns.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-01-24 17:17:30 -08:00
axp20x-pek.c Input: axp20x-pek - switch over to using attribute group 2015-01-08 13:55:30 -08:00
bfin_rotary.c Input: bfin_rotary - introduce open and close methods 2015-02-15 16:06:29 -08:00
bma150.c Input: bma150 - extend chip detection for bma180 2014-04-24 23:53:10 -07:00
cm109.c Input: cm109 - convert high volume dev_err() to dev_err_ratelimited() 2013-10-06 01:23:41 -07:00
cma3000_d0x.c Input: use dev_get_platdata() 2013-12-06 02:06:29 -08:00
cma3000_d0x.h Input: add CMA3000 accelerometer driver 2010-11-30 23:05:21 -08:00
cma3000_d0x_i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
cobalt_btns.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
da9052_onkey.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
da9055_onkey.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
dm355evm_keys.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
drv260x.c Input: drv260x - remove wrong and unneeded drv260x-haptics modalias 2015-02-01 11:21:24 -08:00
drv2667.c Input: drv2667 - remove wrong and unneeded drv2667-haptics modalias 2015-02-01 11:21:24 -08:00
e3x0-button.c Input: add support for NI Ettus Research USRP E3x0 button 2015-01-10 14:17:10 -08:00
gp2ap002a00f.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
gpio-beeper.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
gpio_tilt_polled.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
hp_sdc_rtc.c Input: hp_sdc_rtc - unlock on error in hp_sdc_rtc_read_i8042timer() 2013-11-20 21:15:31 -08:00
ideapad_slidebar.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
ims-pcu.c Input: ims-pcu - sanity check against missing interfaces 2016-04-18 08:51:01 -04:00
ixp4xx-beeper.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
Kconfig Input: add Qualcomm PM8941 power key driver 2015-03-20 21:59:55 -07:00
keyspan_remote.c Input: keyspan_remote - remove unnecessary break after goto 2014-07-18 10:53:27 -07:00
kxtj9.c Input: misc - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:06 -07:00
m68kspkr.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
Makefile Input: add Qualcomm PM8941 power key driver 2015-03-20 21:59:55 -07:00
max8925_onkey.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
max8997_haptic.c Input: max8997-haptic - fix NULL pointer dereference 2016-05-17 13:43:06 -04:00
max77693-haptic.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
max77843-haptic.c Input: add haptic support for max77843 2015-03-06 11:24:53 -08:00
mc13783-pwrbutton.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
mma8450.c Input: mma8450 - convert to using managed resources 2015-03-24 11:35:06 -07:00
mpu3050.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
palmas-pwrbutton.c Input: constify of_device_id arrays 2015-03-19 12:16:18 -07:00
pcap_keys.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
pcf8574_keypad.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pcf50633-input.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pcspkr.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
pm8xxx-vibrator.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
pm8941-pwrkey.c Input: add Qualcomm PM8941 power key driver 2015-03-20 21:59:55 -07:00
pmic8xxx-pwrkey.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
powermate.c Input: powermate - fix oops with malicious USB descriptors 2016-04-18 08:50:57 -04:00
pwm-beeper.c Input: pwm-beeper - remove useless call to pwm_config() 2015-03-12 14:53:11 -07:00
rb532_button.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
regulator-haptic.c Input: constify of_device_id arrays 2015-03-19 12:16:18 -07:00
retu-pwrbutton.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
rotary_encoder.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
sgi_btns.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
sirfsoc-onkey.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
soc_button_array.c Input: soc_button_array - use "Windows" key for "Home" 2015-02-10 15:45:00 -08:00
sparcspkr.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
tps65218-pwrbutton.c Input: constify of_device_id arrays 2015-03-19 12:16:18 -07:00
twl4030-pwrbutton.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
twl4030-vibra.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
twl6040-vibra.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
uinput.c Input: uinput - add UI_GET_VERSION ioctl 2014-07-21 14:30:42 -07:00
wistron_btns.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
wm831x-on.c input: misc: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
xen-kbdfront.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-10-19 12:40:24 -07:00
yealink.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
yealink.h tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00