Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932248AbdIFNyD (ORCPT ); Wed, 6 Sep 2017 09:54:03 -0400 Received: from m50-135.163.com ([123.125.50.135]:54287 "EHLO m50-135.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754633AbdIFNyC (ORCPT ); Wed, 6 Sep 2017 09:54:02 -0400 X-Greylist: delayed 918 seconds by postgrey-1.27 at vger.kernel.org; Wed, 06 Sep 2017 09:54:02 EDT From: Zhenhua To: gregkh@linuxfoundation.org, jslaby@suse.com, mingo@kernel.org, andriy.shevchenko@linux.intel.com, mail@maciej.szmigiero.name, mgorman@suse.de, safinaskar@mail.ru, mhocko@suse.com, linux-kernel@vger.kernel.org Cc: Zhenhua Subject: [PATCH 1/1] drivers/tty: check for null pointer Date: Wed, 6 Sep 2017 21:38:11 +0800 Message-Id: <20170906133811.8072-1-lizhenhuajiyang@163.com> X-Mailer: git-send-email 2.14.1 X-CM-TRANSID: D9GowACXn0dE+q9Zg_7WAA--.98S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrZw4DWF15XrWUCF4UJw1fZwb_yoW3Kwb_X3 W8X3s7Gws5ArnIyasak3WfCFyIka1vva1kW34jq3s7GFZxZa40ka4jqr93GryUGrZ5AF1U JrykJ39Yga15ZjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU1FksPUUUUU== X-Originating-IP: [112.232.235.160] X-CM-SenderInfo: xol2xvpqkxtyxl1d0wi6rwjhhfrp/1tbipQpLlFUMGmUOrQAAs1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 826 Lines: 28 The parameter "handler" is not checked, which may cause system crash on some broken devices. Signed-off-by: Zhenhua --- drivers/tty/vt/keyboard.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c index f4166263bb3a..f85c2d8c0b36 100644 --- a/drivers/tty/vt/keyboard.c +++ b/drivers/tty/vt/keyboard.c @@ -1455,6 +1455,12 @@ static void kbd_event(struct input_handle *handle, unsigned int event_type, unsigned int event_code, int value) { /* We are called with interrupts disabled, just take the lock */ + + if (handle == NULL || handle->dev == NULL) { + pr_err("device handler error."); + return; + } + spin_lock(&kbd_event_lock); if (event_type == EV_MSC && event_code == MSC_RAW && HW_RAW(handle->dev)) -- 2.14.1