[PATCH 1/3] Input: apanel: avoid panic if ioreamp fails

From: Kefeng Wang
Date: Thu May 09 2019 - 22:55:26 EST


If ioremap fails, NULL pointer dereference will happen and
leading to a kernel panic when access the virtual address
in check_signature().

Fix it by check the return value of ioremap.

Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Cc: linux-input@xxxxxxxxxxxxxxx
Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>
---
drivers/input/misc/apanel.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/input/misc/apanel.c b/drivers/input/misc/apanel.c
index c1e66f45d552..1c7262ad4b5b 100644
--- a/drivers/input/misc/apanel.c
+++ b/drivers/input/misc/apanel.c
@@ -259,7 +259,9 @@ static int __init apanel_init(void)
unsigned char i2c_addr;
int found = 0;

- bios = ioremap(0xF0000, 0x10000); /* Can't fail */
+ bios = ioremap(0xF0000, 0x10000);
+ if (!bios)
+ return -ENOMEM;

p = bios_signature(bios);
if (!p) {
--
2.20.1