• Kim, Milo's avatar
    drivers/rtc/rtc-tps65910.c: fix invalid pointer access on _remove() · 1430e178
    Kim, Milo authored
    The tps65910_rtc data is registered as the platform driver data in
    _probe(= ).  Therefore the tps65910_rtc should be used on unregistering
    the rtc device.  And device pointer should be retrieved from the
    platform_device structure.
    
    This patch fixes the below oops:
    
     Unable to handle kernel NULL pointer dereference at virtual address 00000008
     Modules linked in: rtc_tps65910(-)
     CPU: 0    Not tainted  (3.7.0-rc7-next-20121128-g6b1f974-dirty #7)
     PC is at tps65910_rtc_alarm_irq_enable+0x20/0x2c [rtc_tps65910]
         (tps65910_rtc_alarm_irq_enable+0x20/0x2c [rtc_tps65910])
         (tps65910_rtc_remove+0x18/0x28 [rtc_tps65910])
         (platform_drv_remove+0x18/0x1c)
         (__device_release_driver+0x70/0xcc)
         (driver_detach+0xb4/0xb8)
         (bus_remove_driver+0x7c/0xc0)
         (sys_delete_module+0x148/0x21c)
    Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    1430e178
rtc-tps65910.c 9.02 KB