From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755277Ab1GQAmw (ORCPT ); Sat, 16 Jul 2011 20:42:52 -0400 Received: from proofpoint-cluster.metrocast.net ([65.175.128.136]:39627 "EHLO proofpoint-cluster.metrocast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754651Ab1GQAmu (ORCPT ); Sat, 16 Jul 2011 20:42:50 -0400 Subject: Re: Imon module Oops and kernel hang From: Andy Walls To: Chris W Cc: Jarod Wilson , Linux Media Mailing List , linux-kernel@vger.kernel.org, Randy Dunlap Date: Sat, 16 Jul 2011 20:43:21 -0400 In-Reply-To: <4E1E574E.9010403@psychogeeks.com> References: <4E1B978C.2030407@psychogeeks.com> <20110712080309.d538fec9.rdunlap@xenotime.net> <7B814F02-408C-434F-B813-8630B60914DA@wilsonet.com> <4E1CCC26.4060506@psychogeeks.com> <1B380AD0-FE0D-47DF-B2C3-605253C9C783@wilsonet.com> <4E1D3045.7050507@psychogeeks.com> <2E869B1F-D476-4645-BE26-B1DD77DF1735@wilsonet.com> <4E1E574E.9010403@psychogeeks.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.0.2 (3.0.2-3.fc15) Content-Transfer-Encoding: 7bit Message-ID: <1310863402.7895.6.camel@palomino.walls.org> Mime-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.4.6813,1.0.211,0.0.0000 definitions=2011-07-16_07:2011-07-16,2011-07-16,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-1012030000 definitions=main-1107160196 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2011-07-14 at 12:41 +1000, Chris W wrote: > On 14/07/11 08:11, Jarod Wilson wrote: > > On Jul 13, 2011, at 1:42 AM, Chris W wrote: > > Just noticed your report is for 2.6.39.x and 2.6.38.x only, but I'm > > not aware of any relevant imon changes between 2.6.39 and 3.0. > > I just tried 3.0.0-rc7 with the same result (used defaults for new > config items. I manually loaded both keymaps before imon. I looks like > the mystery T889 has become a T886... compiler generated temporary name > perhaps? > > > Looks like I'll probably have to give that a spin, since I'm not > > seeing the problem here (I can also switch to an 0xffdc device, which > > is actually handled a bit differently by the driver). > > I understand that the 0xffdc device covers a multitude of physical > variants. Is there any information from the device itself that drives > the selected keymap? If so, how do I extract it? > > Regards, > Chris > > This is an obviously repeatable NULL pointer dereference in rc_g_keycode_from_table(). The faulting line of code in both cases disasembles to: 1e: 8b 80 dc 00 00 00 mov 0xdc(%eax),%eax %eax obviously holds the value 0 (NULL). But I'm having a hard time telling to where exactly that line of assembly corresponds in rc_g_keycode_from_table(). And I can't tell from the source which data structure has something at offset 0xdc that gets derefernced early: struct rc_dev or struct rc_map. Could you provide the output of $ locate rc-core.ko $ objdump -d -l /blah/blah/drivers/media/rc/rc-core.ko for the rc_g_keycode_from_table() function? Regards, Andy > Jul 14 11:19:38 kepler BUG: unable to handle kernel > Jul 14 11:19:38 kepler NULL pointer dereference > Jul 14 11:19:38 kepler at 000000dc > Jul 14 11:19:38 kepler IP: > Jul 14 11:19:38 kepler [] rc_g_keycode_from_table+0x1e/0xe0 > [rc_core] > Jul 14 11:19:38 kepler *pde = 00000000 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler Oops: 0000 [#1] > Jul 14 11:19:38 kepler PREEMPT > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler Modules linked in: > Jul 14 11:19:38 kepler imon(+) > Jul 14 11:19:38 kepler rc_imon_pad > Jul 14 11:19:38 kepler rc_imon_mce > Jul 14 11:19:38 kepler netconsole > Jul 14 11:19:38 kepler asb100 > Jul 14 11:19:38 kepler hwmon_vid > Jul 14 11:19:38 kepler cx22702 > Jul 14 11:19:38 kepler dvb_pll > Jul 14 11:19:38 kepler mt352 > Jul 14 11:19:38 kepler cx88_dvb > Jul 14 11:19:38 kepler cx88_vp3054_i2c > Jul 14 11:19:38 kepler videobuf_dvb > Jul 14 11:19:38 kepler snd_via82xx > Jul 14 11:19:38 kepler snd_ac97_codec > Jul 14 11:19:38 kepler cx8800 > Jul 14 11:19:38 kepler cx8802 > Jul 14 11:19:38 kepler cx88xx > Jul 14 11:19:38 kepler ac97_bus > Jul 14 11:19:38 kepler snd_mpu401_uart > Jul 14 11:19:38 kepler snd_rawmidi > Jul 14 11:19:38 kepler b44 > Jul 14 11:19:38 kepler ssb > Jul 14 11:19:38 kepler rc_core > Jul 14 11:19:38 kepler i2c_algo_bit > Jul 14 11:19:38 kepler mii > Jul 14 11:19:38 kepler tveeprom > Jul 14 11:19:38 kepler btcx_risc > Jul 14 11:19:38 kepler i2c_viapro > Jul 14 11:19:38 kepler videobuf_dma_sg > Jul 14 11:19:38 kepler videobuf_core > Jul 14 11:19:38 kepler [last unloaded: ir_nec_decoder] > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler Pid: 2885, comm: modprobe Not tainted 3.0.0-rc7 #1 > Jul 14 11:19:38 kepler System Manufacturer System Name > Jul 14 11:19:38 kepler /A7V8X > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler EIP: 0060:[] EFLAGS: 00010002 CPU: 0 > Jul 14 11:19:38 kepler EIP is at rc_g_keycode_from_table+0x1e/0xe0 [rc_core] > Jul 14 11:19:38 kepler EAX: 00000000 EBX: f5610800 ECX: 00000008 EDX: > 00000000 > Jul 14 11:19:38 kepler ESI: 00000000 EDI: 00000000 EBP: f7009e48 ESP: > f7009e18 > Jul 14 11:19:38 kepler DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 > Jul 14 11:19:38 kepler Process modprobe (pid: 2885, ti=f7008000 > task=f708ada0 task.ti=f5706000) > Jul 14 11:19:38 kepler Stack: > Jul 14 11:19:38 kepler f71cc8c0 > Jul 14 11:19:38 kepler 00000082 > Jul 14 11:19:38 kepler 00000002 > Jul 14 11:19:38 kepler f7009e2c > Jul 14 11:19:38 kepler c101eabb > Jul 14 11:19:38 kepler f71cc8c0 > Jul 14 11:19:38 kepler 00000000 > Jul 14 11:19:38 kepler 00000086 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler 00000086 > Jul 14 11:19:38 kepler f5610800 > Jul 14 11:19:38 kepler 00000000 > Jul 14 11:19:38 kepler 00000000 > Jul 14 11:19:38 kepler f7009e58 > Jul 14 11:19:38 kepler f87be59c > Jul 14 11:19:38 kepler f5610800 > Jul 14 11:19:38 kepler f5610841 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler f7009edc > Jul 14 11:19:38 kepler f87be6dc > Jul 14 11:19:38 kepler f68c00a4 > Jul 14 11:19:38 kepler f7009e6c > Jul 14 11:19:38 kepler f68c5760 > Jul 14 11:19:38 kepler f7009e74 > Jul 14 11:19:38 kepler f68c00a4 > Jul 14 11:19:38 kepler f7009e98 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler Call Trace: > Jul 14 11:19:38 kepler [] ? T.886+0x1b/0x30 > Jul 14 11:19:38 kepler [] imon_remote_key_lookup+0x1c/0x70 [imon] > Jul 14 11:19:38 kepler [] imon_incoming_packet+0x5c/0xe20 [imon] > Jul 14 11:19:38 kepler [] ? atapi_qc_complete+0x58/0x2b0 > Jul 14 11:19:38 kepler [] ? __ata_qc_complete+0x73/0x110 > Jul 14 11:19:38 kepler [] usb_rx_callback_intf0+0x63/0x70 [imon] > Jul 14 11:19:38 kepler [] usb_hcd_giveback_urb+0x48/0xb0 > Jul 14 11:19:38 kepler [] uhci_giveback_urb+0x8e/0x220 > Jul 14 11:19:38 kepler [] uhci_scan_schedule+0x366/0x9e0 > Jul 14 11:19:38 kepler [] uhci_irq+0x91/0x170 > Jul 14 11:19:38 kepler [] usb_hcd_irq+0x21/0x50 > Jul 14 11:19:38 kepler [] handle_irq_event_percpu+0x36/0x140 > Jul 14 11:19:38 kepler [] ? __io_apic_modify_irq+0x80/0x90 > Jul 14 11:19:38 kepler [] ? handle_edge_irq+0x100/0x100 > Jul 14 11:19:38 kepler [] handle_irq_event+0x32/0x60 > Jul 14 11:19:38 kepler [] handle_fasteoi_irq+0x45/0xc0 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler [] ? do_IRQ+0x3a/0xb0 > Jul 14 11:19:38 kepler [] ? zone_watermark_ok+0x23/0x30 > Jul 14 11:19:38 kepler [] ? common_interrupt+0x29/0x30 > Jul 14 11:19:38 kepler [] ? mmx_clear_page+0x7e/0x120 > Jul 14 11:19:38 kepler [] ? get_page_from_freelist+0x1f2/0x480 > Jul 14 11:19:38 kepler [] ? extract_buf+0x83/0xd0 > Jul 14 11:19:38 kepler [] ? __alloc_pages_nodemask+0xd5/0x5a0 > Jul 14 11:19:38 kepler [] ? anon_vma_prepare+0xc5/0x150 > Jul 14 11:19:38 kepler [] ? handle_pte_fault+0x440/0x590 > Jul 14 11:19:38 kepler [] ? __find_get_block+0xad/0x1c0 > Jul 14 11:19:38 kepler [] ? handle_mm_fault+0x74/0xb0 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? do_page_fault+0xfa/0x3c0 > Jul 14 11:19:38 kepler [] ? zone_watermark_ok+0x23/0x30 > Jul 14 11:19:38 kepler [] ? ext3fs_dirhash+0x115/0x240 > Jul 14 11:19:38 kepler [] ? ext3_follow_link+0x20/0x20 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? error_code+0x58/0x60 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? file_read_actor+0x25/0xe0 > Jul 14 11:19:38 kepler [] ? find_get_page+0x5c/0xa0 > Jul 14 11:19:38 kepler [] ? generic_file_aio_read+0x2be/0x720 > Jul 14 11:19:38 kepler [] ? mntput+0x13/0x30 > Jul 14 11:19:38 kepler [] ? do_sync_read+0x9c/0xd0 > Jul 14 11:19:38 kepler [] ? rw_verify_area+0x63/0x110 > Jul 14 11:19:38 kepler [] ? vfs_read+0x97/0x140 > Jul 14 11:19:38 kepler [] ? do_sync_write+0xd0/0xd0 > Jul 14 11:19:38 kepler [] ? sys_read+0x3d/0x70 > Jul 14 11:19:38 kepler [] ? sysenter_do_call+0x12/0x26 > Jul 14 11:19:38 kepler Code: > Jul 14 11:19:38 kepler 8d > Jul 14 11:19:38 kepler b6 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 8d > Jul 14 11:19:38 kepler bc > Jul 14 11:19:38 kepler 27 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 55 > Jul 14 11:19:38 kepler 89 > Jul 14 11:19:38 kepler e5 > Jul 14 11:19:38 kepler 57 > Jul 14 11:19:38 kepler 56 > Jul 14 11:19:38 kepler 53 > Jul 14 11:19:38 kepler 83 > Jul 14 11:19:38 kepler ec > Jul 14 11:19:38 kepler 24 > Jul 14 11:19:38 kepler 89 > Jul 14 11:19:38 kepler 45 > Jul 14 11:19:38 kepler e8 > Jul 14 11:19:38 kepler 9c > Jul 14 11:19:38 kepler 8f > Jul 14 11:19:38 kepler 45 > Jul 14 11:19:38 kepler ec > Jul 14 11:19:38 kepler fa > Jul 14 11:19:38 kepler 89 > Jul 14 11:19:38 kepler e0 > Jul 14 11:19:38 kepler 25 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler e0 > Jul 14 11:19:38 kepler ff > Jul 14 11:19:38 kepler ff > Jul 14 11:19:38 kepler ff > Jul 14 11:19:38 kepler 40 > Jul 14 11:19:38 kepler 14 > Jul 14 11:19:38 kepler 8b > Jul 14 11:19:38 kepler 45 > Jul 14 11:19:38 kepler e8 > Jul 14 11:19:38 kepler syslog-ng[1931]: Error processing log message: <8b> > Jul 14 11:19:38 kepler 80 > Jul 14 11:19:38 kepler dc > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 00 > Jul 14 11:19:38 kepler 89 > Jul 14 11:19:38 kepler c3 > Jul 14 11:19:38 kepler 89 > Jul 14 11:19:38 kepler 45 > Jul 14 11:19:38 kepler f0 > Jul 14 11:19:38 kepler 4b > Jul 14 11:19:38 kepler 78 > Jul 14 11:19:38 kepler 38 > Jul 14 11:19:38 kepler 8b > Jul 14 11:19:38 kepler 45 > Jul 14 11:19:38 kepler e8 > Jul 14 11:19:38 kepler 31 > Jul 14 11:19:38 kepler c9 > Jul 14 11:19:38 kepler 8b > Jul 14 11:19:38 kepler b0 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler EIP: [] > Jul 14 11:19:38 kepler rc_g_keycode_from_table+0x1e/0xe0 [rc_core] > Jul 14 11:19:38 kepler SS:ESP 0068:f7009e18 > Jul 14 11:19:38 kepler CR2: 00000000000000dc > Jul 14 11:19:38 kepler ---[ end trace 7467312b172b0d0f ]--- > Jul 14 11:19:38 kepler Kernel panic - not syncing: Fatal exception in > interrupt > Jul 14 11:19:38 kepler Pid: 2885, comm: modprobe Tainted: G D > 3.0.0-rc7 #1 > Jul 14 11:19:38 kepler Call Trace: > Jul 14 11:19:38 kepler [] panic+0x61/0x145 > Jul 14 11:19:38 kepler [] oops_end+0x80/0x80 > Jul 14 11:19:38 kepler [] no_context+0xbe/0x150 > Jul 14 11:19:38 kepler [] __bad_area_nosemaphore+0x8f/0x130 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] bad_area_nosemaphore+0x12/0x20 > Jul 14 11:19:38 kepler [] do_page_fault+0x269/0x3c0 > Jul 14 11:19:38 kepler [] ? T.314+0x15/0x1b0 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] error_code+0x58/0x60 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? rc_g_keycode_from_table+0x1e/0xe0 > [rc_core] > Jul 14 11:19:38 kepler [] ? T.886+0x1b/0x30 > Jul 14 11:19:38 kepler [] imon_remote_key_lookup+0x1c/0x70 [imon] > Jul 14 11:19:38 kepler [] imon_incoming_packet+0x5c/0xe20 [imon] > Jul 14 11:19:38 kepler [] ? atapi_qc_complete+0x58/0x2b0 > Jul 14 11:19:38 kepler [] ? __ata_qc_complete+0x73/0x110 > Jul 14 11:19:38 kepler [] usb_rx_callback_intf0+0x63/0x70 [imon] > Jul 14 11:19:38 kepler [] usb_hcd_giveback_urb+0x48/0xb0 > Jul 14 11:19:38 kepler [] uhci_giveback_urb+0x8e/0x220 > Jul 14 11:19:38 kepler [] uhci_scan_schedule+0x366/0x9e0 > Jul 14 11:19:38 kepler [] uhci_irq+0x91/0x170 > Jul 14 11:19:38 kepler [] usb_hcd_irq+0x21/0x50 > Jul 14 11:19:38 kepler [] handle_irq_event_percpu+0x36/0x140 > Jul 14 11:19:38 kepler [] ? __io_apic_modify_irq+0x80/0x90 > Jul 14 11:19:38 kepler [] ? handle_edge_irq+0x100/0x100 > Jul 14 11:19:38 kepler [] handle_irq_event+0x32/0x60 > Jul 14 11:19:38 kepler [] handle_fasteoi_irq+0x45/0xc0 > Jul 14 11:19:38 kepler > Jul 14 11:19:38 kepler [] ? do_IRQ+0x3a/0xb0 > Jul 14 11:19:38 kepler [] ? zone_watermark_ok+0x23/0x30 > Jul 14 11:19:38 kepler [] ? common_interrupt+0x29/0x30 > Jul 14 11:19:38 kepler [] ? mmx_clear_page+0x7e/0x120 > Jul 14 11:19:38 kepler [] ? get_page_from_freelist+0x1f2/0x480 > Jul 14 11:19:38 kepler [] ? extract_buf+0x83/0xd0 > Jul 14 11:19:38 kepler [] ? __alloc_pages_nodemask+0xd5/0x5a0 > Jul 14 11:19:38 kepler [] ? anon_vma_prep > Jul 14 11:19:38 kepler are+0xc5/0x150 > Jul 14 11:19:38 kepler [] ? handle_pte_fault+0x440/0x590 > Jul 14 11:19:38 kepler [] ? __find_get_block+0xad/0x1c0 > Jul 14 11:19:38 kepler [] ? handle_mm_fault+0x74/0xb0 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? do_page_fault+0xfa/0x3c0 > Jul 14 11:19:38 kepler [] ? zone_watermark_ok+0x23/0x30 > Jul 14 11:19:38 kepler [] ? ext3fs_dirhash+0x115/0x240 > Jul 14 11:19:38 kepler [] ? ext3_follow_link+0x20/0x20 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? error_code+0x58/0x60 > Jul 14 11:19:38 kepler [] ? mm_fault_error+0x130/0x130 > Jul 14 11:19:38 kepler [] ? file_read_actor+0x25/0xe0 > Jul 14 11:19:38 kepler [] ? find_get_page+0x5c/0xa0 > Jul 14 11:19:38 kepler [] ? generic_file_aio_read+0x2be/0x720 > Jul 14 11:19:38 kepler [] ? mntput+0x13/0x30 > Jul 14 11:19:38 kepler [] ? do_sync_read+0x9c/0xd0 > Jul 14 11:19:38 kepler [] ? rw_verify_area+0x63/0x110 > Jul 14 11:19:38 kepler [] ? vfs_read+0x97/0x140 > Jul 14 11:19:38 kepler [] ? do_sync_write+0xd0/0xd0 > Jul 14 11:19:38 kepler [] ? sys_read+0x3d/0x70 > Jul 14 11:19:38 kepler [] ? sysenter_do_call+0x12/0x26 >