From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1A0E4FCC9DC for ; Tue, 10 Mar 2026 08:14:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E24410E673; Tue, 10 Mar 2026 08:14:45 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=qq.com header.i=@qq.com header.b="XKxfgIN1"; dkim-atps=neutral X-Greylist: delayed 925 seconds by postgrey-1.36 at gabe; Tue, 10 Mar 2026 01:29:56 UTC Received: from out203-205-221-210.mail.qq.com (out203-205-221-210.mail.qq.com [203.205.221.210]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B24810E610 for ; Tue, 10 Mar 2026 01:29:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1773106194; bh=fKN1B1R1uGOi7aCqLWWpClnJb3rwC+frVI631Jx0TJc=; h=From:To:Cc:Subject:Date; b=XKxfgIN1uf0I8Tf2wNVlJd31k/eWpZvCSVUr6urP9zWEyxMH9FH9AJLE19nGfrTCk hbDCtqdXT4ZddWxlG5Kd39nNYGCFDCCXHWjLJMLVKRnyoc2BDDzI46A5XCGV6kY36c ugBX+maIRUcM3wD1Ws0ztxaRihkfcrIDZZ/+Zmwo= Received: from June.localdomain ([123.121.145.35]) by newxmesmtplogicsvrszc43-0.qq.com (NewEsmtp) with SMTP id 3983A430; Tue, 10 Mar 2026 09:14:24 +0800 X-QQ-mid: xmsmtpt1773105264t57xncli5 Message-ID: X-QQ-XMAILINFO: OOyEews/EdUgX9pLo+jdYMbZkVK9uYEzTviH8Ko+bNNQ+MB8HFe4XY5qCSRAIM x8byOBC326ooghxICe+EEUk53Dui3B6oQJ3/ffLPWfglQ6leLBzHFmN0+vuqXZyxPe4nXg0ZuP2S bO22nYdBgCHCkX3oB0/wYf/3C69fa/1E6ugW91Cdx0otogiW7UvSZQyFI8gsMyToVVHEGWqGz7Lo 79osq9nPFoeC8Mauib+kwEQxEZRIPX7TljqWcNFFNKqWmxtXLDfoXP2wz904l1RsosrYOcsuE/Xa s95Nqkn5f9HvXFYXAXNtaxgvc+KuEEkIVaOL4ytLsLDVHDHb4VdROc2WVyLn25b8Jt0jUxLyP9hy RP5RUKhwegfHqJQxmFM4ogqHoWGD6dE7vl3JLv9SxvSI+3KIQzrCtAFgkDZYNYDNPKQkoNx8ChIF Crz9KIee26pYXlsOQRUl7UByegoXac9bCxwaFex0BqMpQPSfd0NiOnO2LCpyx9HrPixVQJJ3gJnl FTNzOBQsCiOt+YEqlkueuiMT/Mf//g9Pub7j4h0jrQgCJIjByIjoOvn5CFwVd0Z8cwsIPOjiIeSp P68iFDijxB/INICb89Kz3d55J8HabKOP1v/KUjreUnxmun2trDVuJdYPaDVMolfqGcx6yjGQ2yNM zj5ynMEIVSZ48WXF69Gi/6qJjqyRwOfHggh9KK7JMM84q+LghMcXhdeKKJ/GKEe8cEEiSR1fHKfL NjzJiY2/HrIehHGpIP1CkdmYK3YelLkNg5RN72YlfD/WaDfnEYJr2v6VdpA1KRXjBTQShEPVizpe QywQBYjNk5jfLjrKd24mP5CAwWT9TFEuny54GW1DSnxpIivmLRZii83k+5uOf9nddxZZ0QFLZxAx 0RlZbQKXw1O2YEv/pdAFYb7HH3UsbNB3Ta4PwipsALA/xr/j7ca2b//RtpMl4uijMv6voySqrC6X hJx9gah7krHYP4APJINYv6JumOuiNkmLk4iBLIQsjKf3hJuhkSluKEmH8yE+COIhb9ST/a16vf7u pVxIyS0/G+7r3WdSq9pGLC24rNj+I= X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== From: Wang Jun <1742789905@qq.com> To: Florian Tobias Schandinat , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, gszhai@bjtu.edu.cn, 25125332@bjtu.edu.cn, 25125283@bjtu.edu.cn, 23120469@bjtu.edu.cn, Wang Jun <1742789905@qq.com> Subject: [PATCH] video/fbdev/via: check ioremap return value in viafb_lcd_get_mobile_state Date: Tue, 10 Mar 2026 09:14:20 +0800 X-OQ-MSGID: <20260310011420.8844-1-1742789905@qq.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Tue, 10 Mar 2026 08:14:38 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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. This patch adds a proper NULL check after ioremap() and returns -ENOMEM in case of failure. Signed-off-by: Wang Jun <1742789905@qq.com> --- drivers/video/fbdev/via/lcd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/video/fbdev/via/lcd.c b/drivers/video/fbdev/via/lcd.c index 8673fced8749..91359d2b64fb 100644 --- a/drivers/video/fbdev/via/lcd.c +++ b/drivers/video/fbdev/via/lcd.c @@ -954,6 +954,10 @@ bool viafb_lcd_get_mobile_state(bool *mobile) u16 start_pattern; biosptr = ioremap(romaddr, 0x10000); + if (!biosptr) { + DEBUG_MSG(KERN_ERR " Failed to remap BIOS memory\n"); + return false; + } start_pattern = readw(biosptr); /* Compare pattern */ -- 2.43.0