https://github.com/torvalds/linux
Revision 3cfc183052c3dbf8eae57b6c1685dab00ed3db4a authored by Marek Vasut on 16 October 2021, 21:04:46 UTC, committed by Maarten Lankhorst on 21 October 2021, 09:08:08 UTC
The mxsfb->crtc.funcs may already be NULL when unloading the driver,
in which case calling mxsfb_irq_disable() via drm_irq_uninstall() from
mxsfb_unload() leads to NULL pointer dereference.

Since all we care about is masking the IRQ and mxsfb->base is still
valid, just use that to clear and mask the IRQ.

Fixes: ae1ed00932819 ("drm: mxsfb: Stop using DRM simple display pipeline helper")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Daniel Abrecht <public@danielabrecht.ch>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211016210446.171616-1-marex@denx.de
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
1 parent 519d819
History
Tip revision: 3cfc183052c3dbf8eae57b6c1685dab00ed3db4a authored by Marek Vasut on 16 October 2021, 21:04:46 UTC
drm: mxsfb: Fix NULL pointer dereference crash on unload
Tip revision: 3cfc183
File Mode Size
Kconfig -rw-r--r-- 5.1 KB
Makefile -rw-r--r-- 986 bytes
alarmtimer.c -rw-r--r-- 23.7 KB
clockevents.c -rw-r--r-- 19.5 KB
clocksource-wdtest.c -rw-r--r-- 5.8 KB
clocksource.c -rw-r--r-- 40.1 KB
hrtimer.c -rw-r--r-- 66.1 KB
itimer.c -rw-r--r-- 10.2 KB
jiffies.c -rw-r--r-- 2.6 KB
namespace.c -rw-r--r-- 10.4 KB
ntp.c -rw-r--r-- 28.3 KB
ntp_internal.h -rw-r--r-- 783 bytes
posix-clock.c -rw-r--r-- 5.6 KB
posix-cpu-timers.c -rw-r--r-- 44.0 KB
posix-stubs.c -rw-r--r-- 5.5 KB
posix-timers.c -rw-r--r-- 37.2 KB
posix-timers.h -rw-r--r-- 1.9 KB
sched_clock.c -rw-r--r-- 7.7 KB
test_udelay.c -rw-r--r-- 3.6 KB
tick-broadcast-hrtimer.c -rw-r--r-- 3.2 KB
tick-broadcast.c -rw-r--r-- 30.3 KB
tick-common.c -rw-r--r-- 14.7 KB
tick-internal.h -rw-r--r-- 7.9 KB
tick-legacy.c -rw-r--r-- 999 bytes
tick-oneshot.c -rw-r--r-- 3.2 KB
tick-sched.c -rw-r--r-- 38.0 KB
tick-sched.h -rw-r--r-- 3.3 KB
time.c -rw-r--r-- 22.9 KB
time_test.c -rw-r--r-- 2.0 KB
timeconst.bc -rw-r--r-- 3.0 KB
timeconv.c -rw-r--r-- 4.5 KB
timecounter.c -rw-r--r-- 2.5 KB
timekeeping.c -rw-r--r-- 69.8 KB
timekeeping.h -rw-r--r-- 983 bytes
timekeeping_debug.c -rw-r--r-- 1.3 KB
timekeeping_internal.h -rw-r--r-- 921 bytes
timer.c -rw-r--r-- 60.1 KB
timer_list.c -rw-r--r-- 8.6 KB
vsyscall.c -rw-r--r-- 4.9 KB

back to top