• Marek Szyprowski's avatar
    Input: max8997-haptic - fix NULL pointer dereference · ea07111f
    Marek Szyprowski authored
    [ Upstream commit 6ae645d5 ]
    
    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: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Cc: <stable@vger.kernel.org>
    Fixes: 104594b0 ("Input: add driver support for MAX8997-haptic")
    [k.kozlowski: Write commit message, add CC-stable]
    Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
    ea07111f
max8997_haptic.c 10.3 KB