summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorWang Jun <1742789905@qq.com>2026-03-10 09:14:20 +0800
committerHelge Deller <deller@gmx.de>2026-03-10 17:32:35 +0100
commitf044788088ef55e9855b17b7984ffe522c40c093 (patch)
tree7b99d6019779538225f1823edf21d184e2d7e2f4 /drivers/video
parentdb65872b38dc9f18a62669d6ae1e4ec7868a85a9 (diff)
fbdev: viafb: check ioremap return value in viafb_lcd_get_mobile_state
The function viafb_lcd_get_mobile_state() calls ioremap() without checking the return value. If ioremap() fails (returns NULL), the subsequent readw() will cause a NULL pointer dereference. Signed-off-by: Wang Jun <1742789905@qq.com> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/via/lcd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/via/lcd.c b/drivers/video/fbdev/via/lcd.c
index 8673fced8749..3fa2304fbda7 100644
--- a/drivers/video/fbdev/via/lcd.c
+++ b/drivers/video/fbdev/via/lcd.c
@@ -954,6 +954,9 @@ bool viafb_lcd_get_mobile_state(bool *mobile)
u16 start_pattern;
biosptr = ioremap(romaddr, 0x10000);
+ if (!biosptr)
+ return false;
+
start_pattern = readw(biosptr);
/* Compare pattern */