diff options
| author | Wang Jun <1742789905@qq.com> | 2026-03-10 09:14:20 +0800 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2026-03-10 17:32:35 +0100 |
| commit | f044788088ef55e9855b17b7984ffe522c40c093 (patch) | |
| tree | 7b99d6019779538225f1823edf21d184e2d7e2f4 /drivers/video | |
| parent | db65872b38dc9f18a62669d6ae1e4ec7868a85a9 (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.c | 3 |
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 */ |
