Dmitry Torokhov wrote:Ok, I was able to reproduce the bug: # getkeycodes [22726.468755] BUG: unable to handle kernel NULL pointer dereference at (null) [22726.471074] IP: [<c138b6d0>] input_default_getkeycode_from_index+0x40/0x60 [22726.471074] *pde = 00000000 [22726.471074] Oops: 0002 [#1] SMP [22726.471074] last sysfs file: /sys/devices/pci0000:00/0000:00:0b.1/usb1/1-3/dm [22726.471074] Modules linked in: ip6t_REJECT nf_conntrack_ipv6 ip6table_filter] [22726.471074] [22726.471074] Pid: 947, comm: getkeycodes Not tainted 2.6.34 #6 C51MCP51/ [22726.471074] EIP: 0060:[<c138b6d0>] EFLAGS: 00210046 CPU: 0 [22726.471074] EIP is at input_default_getkeycode_from_index+0x40/0x60 [22726.471074] EAX: 00000000 EBX: 00000000 ECX: 00000002 EDX: dacfbdc8 [22726.471074] ESI: dacfbdc8 EDI: f5daf794 EBP: dacfbdb8 ESP: dacfbdb4 [22726.471074] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 [22726.471074] Process getkeycodes (pid: 947, ti=dacfa000 task=f573d4a0 task.ti) [22726.471074] Stack: [22726.471074] f5daf000 dacfbdec c138d233 dacfbe30 00200286 00000000 00000000 4 [22726.471074] <0> 00000000 00000000 00000000 dacfbe2c f5da0340 c16c12cc dacfbd8 [22726.471074] <0> c12f4130 dacfbe24 c138d9f8 00000002 00000001 00000000 c138d90 [22726.471074] Call Trace: [22726.471074] [<c138d233>] ? input_get_keycode+0x73/0x90 [22726.471074] [<c12f4148>] ? getkeycode_helper+0x18/0x30 [22726.471074] [<c12f4130>] ? getkeycode_helper+0x0/0x30 [22726.471074] [<c138d9f8>] ? input_handler_for_each_handle+0x78/0xa0 [22726.471074] [<c138d980>] ? input_handler_for_each_handle+0x0/0xa0 [22726.471074] [<c12f4130>] ? getkeycode_helper+0x0/0x30 [22726.471074] [<c12f399e>] ? getkeycode+0x2e/0x40 [22726.471074] [<c12f16ab>] ? vt_ioctl+0xb9b/0x1960 [22726.471074] [<c12ed600>] ? tty_ldisc_try+0x20/0x50 [22726.471074] [<c12ed8da>] ? put_ldisc+0x4a/0xd0 [22726.471074] [<c107649c>] ? trace_hardirqs_on_caller+0x12c/0x170 [22726.471074] [<c10764eb>] ? trace_hardirqs_on+0xb/0x10 [22726.471074] [<c12f0b10>] ? vt_ioctl+0x0/0x1960 [22726.471074] [<c12e74bf>] ? tty_ioctl+0x7f/0x8a0 [22726.471074] [<c11150e2>] ? vfs_ioctl+0x32/0xc0 [22726.471074] [<c12e7440>] ? tty_ioctl+0x0/0x8a0 [22726.471074] [<c111584a>] ? do_vfs_ioctl+0x6a/0x5d0 [22726.471074] [<c10fc455>] ? kmem_cache_free+0x85/0xc0 [22726.471074] [<c107649c>] ? trace_hardirqs_on_caller+0x12c/0x170 [22726.471074] [<c10764eb>] ? trace_hardirqs_on+0xb/0x10 [22726.471074] [<c111070b>] ? putname+0x2b/0x40 [22726.471074] [<c1105523>] ? do_sys_open+0xf3/0x110 [22726.471074] [<c1097f13>] ? audit_syscall_entry+0x1e3/0x210 [22726.471074] [<c1115e17>] ? sys_ioctl+0x67/0x80 [22726.471074] [<c1002fdf>] ? sysenter_do_call+0x12/0x38 [22726.471074] Code: 0a b8 ea ff ff ff 5b 5d c3 66 90 3b 98 a4 00 00 00 73 ee 8 [22726.471074] EIP: [<c138b6d0>] input_default_getkeycode_from_index+0x40/0x60 4 [22726.471074] CR2: 0000000000000000 [22726.471074] ---[ end trace 4ee8ba470bac54f1 ]--- I've removed the big getkeycode stuff from the material I've submitted earlier today for 2.6.35. I'm currently working on fix the issue. -- Cheers, Mauro --
