From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753676AbZIKDQD (ORCPT ); Thu, 10 Sep 2009 23:16:03 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752565AbZIKDQD (ORCPT ); Thu, 10 Sep 2009 23:16:03 -0400 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:44260 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753390AbZIKDQB (ORCPT ); Thu, 10 Sep 2009 23:16:01 -0400 Message-ID: <4AA9C0F1.6060708@np.css.fujitsu.com> Date: Fri, 11 Sep 2009 12:16:01 +0900 From: Jin Dongming User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: Dmitry Torokhov CC: Jiri Kosina , Linux Input , LKLM , Kenji Kaneshige , Hidetoshi Seto Subject: [PATCH -next] Input: i8042 - Fix pagefault caused by i8042_dmi_laptop_table Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org (This patch fixes bug of commit 1c49cd1bbb6e41e97079d389e86063ba5de825ed titled "Input: i8042 - bypass AUX IRQ delivery test on laptops") When dmi_platform_init is called, the table i8042_dmi_laptop_table[] will be checked. Because the end of this table is not "NULL", dmi_check_system will lead to pagefault and oops will be happened. In fact I got following oops on boot: Call Trace: [] panic+0x7a/0x131 [] ? exit_ptrace+0x94/0x114 [] do_exit+0x7a/0x695 [] oops_end+0xb9/0xc1 [] no_context+0x1f6/0x205 [] __bad_area_nosemaphore+0x1cc/0x1f2 [] ? string+0x40/0x9f [] ? vsnprintf+0x8b/0x426 [] ?_spin_unlock_irqrestore+0x29/0x41 [] bad_area_nosemaphore+0x13/0x15 [] do_page_fault+0x154/0x2a5 [] page_fault+0x25/0x30 [] ? dmi_check_system+0x30/0x4b [] i8042_init+0x2ca/0x3c1 [] ? uhci_hcd_init+0x88/0xc0 [] ? i8042_init+0x0/0x3c1 [] do_one_initcall+0x5e/0x15e [] kernel_init+0x170/0x1ca [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kernel_init+0x0/0x1ca [] ? child_rip+0x0/0x20 I confirmed this patch fix this problem. Signed-off-by: Jin Dongming --- drivers/input/serio/i8042-x86ia64io.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index e1b9ee4..6e244a0 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h @@ -483,7 +483,7 @@ static struct dmi_system_id __initdata i8042_dmi_laptop_table[] = { DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* Sub-Notebook */ }, }, - + { } }; #endif -- 1.6.2.2