Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261538AbVCYMwy (ORCPT ); Fri, 25 Mar 2005 07:52:54 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261617AbVCYMwx (ORCPT ); Fri, 25 Mar 2005 07:52:53 -0500 Received: from wproxy.gmail.com ([64.233.184.201]:30915 "EHLO wproxy.gmail.com") by vger.kernel.org with ESMTP id S261538AbVCYMwS (ORCPT ); Fri, 25 Mar 2005 07:52:18 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=TwNxAG3ex5oWaUEPFLYYJoY5i3Rj1u+trkMmRoFrVp18ZhQ3wDdXa5/o0rqxYqCA9JZyLeWjJWljVwbXFd/4smpCzQ3f4gHoVuQPIvAHVf/cqpXdIjc4ljKIJYP9Ca+OG4ZYBbah6zcvZBQd/RK9PW02KQddKPcXksc3/MTfd8E= Message-ID: Date: Fri, 25 Mar 2005 07:52:18 -0500 From: Miles Lane Reply-To: Miles Lane To: Andrew Morton , miles.lane@gmail.com, linux-kernel@vger.kernel.org Subject: Re: OOPS running "ls -l /sys/class/i2c-adapter/*"-- 2.6.12-rc1-mm2 In-Reply-To: <20050325081359.C18596@flint.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit References: <20050324044114.5aa5b166.akpm@osdl.org> <20050324202215.663bd8a9.akpm@osdl.org> <20050325073846.A18596@flint.arm.linux.org.uk> <20050324234544.135a1eb2.akpm@osdl.org> <20050325075032.B18596@flint.arm.linux.org.uk> <20050325081359.C18596@flint.arm.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6422 Lines: 158 Ahem. In this case, I think it was operator error. I reproduced the problem and have included the entire output of ksymoops below. Andrew, this command causes the Oops for me: root@Monkey100:/sys/class/i2c-adapter/i2c-1# ls ./ ../ device@ root@Monkey100:/sys/class/i2c-adapter/i2c-1# ls -l Segmentation fault root@Monkey100:/sys/class/i2c-adapter/i2c-1# dmesg|ksymoops -o /lib/modules/2.6.12-rc1-mm2 -m /boot/System.map-2.6.12-rc1-mm2 ksymoops 2.4.9 on i686 2.6.12-rc1-mm2. Options used -V (default) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.6.12-rc1-mm2 (specified) -m /boot/System.map-2.6.12-rc1-mm2 (specified) Error (regular_file): read_ksyms stat /proc/ksyms failed ksymoops: No such file or directory No modules in ksyms, skipping objects No ksyms, skipping lsmod [] dump_stack+0x1e/0x20 [] kref_get+0x42/0x50 [] kobject_get+0x1b/0x30 [] sysfs_getlink+0x41/0x150 [] sysfs_follow_link+0x4f/0x60 [] generic_readlink+0x2f/0x90 [] sys_readlink+0x86/0x90 [] syscall_call+0x7/0xb [] dump_stack+0x1e/0x20 [] kref_get+0x42/0x50 [] kobject_get+0x1b/0x30 [] sysfs_getlink+0x9d/0x150 [] sysfs_follow_link+0x4f/0x60 [] generic_readlink+0x2f/0x90 [] sys_readlink+0x86/0x90 [] syscall_call+0x7/0xb Unable to handle kernel paging request at virtual address 00001000 c0198479 *pde = 00000000 Oops: 0000 [#1] CPU: 0 EIP: 0060:[] Not tainted VLI Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00210246 (2.6.12-rc1-mm2) eax: 00000000 ebx: 00000000 ecx: ffffffff edx: f7c0181c esi: 00000001 edi: 00001000 ebp: e7519e94 esp: e7519e88 ds: 007b es: 007b ss: 0068 Stack: 00000002 e4fdea1c f7c0181c e7519eb8 c0198651 f7c0181c 00000020 f7c0181c e7519eb8 c039f820 e4fdea1c f7c0181c e7519edc c0198790 f7c018cc f7c0181c e46a3000 f7c018cc e46a3000 fffffff4 e7519f10 e7519ef8 c019884f e4fdea1c Call Trace: [] show_stack+0x7f/0xa0 [] show_registers+0x15a/0x1c0 [] die+0xfc/0x190 [] do_page_fault+0x31b/0x670 [] error_code+0x4f/0x54 [] sysfs_get_target_path+0x21/0x80 [] sysfs_getlink+0xe0/0x150 [] sysfs_follow_link+0x4f/0x60 [] generic_readlink+0x2f/0x90 [] sys_readlink+0x86/0x90 [] syscall_call+0x7/0xb Code: 75 f8 c9 c3 8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5 57 56 8b 55 08 be 01 00 00 00 53 31 db 8b 3a b9 ff ff ff ff 89 d8 ae f7 d1 49 8b 52 24 8d 74 31 01 85 d2 75 e7 5b 89 f0 5e 5f >>EIP; c0198479 <===== >>ecx; ffffffff <__kernel_rt_sigreturn+1bbf/????> >>edx; f7c0181c >>ebp; e7519e94 >>esp; e7519e88 Trace; c010410f Trace; c01042aa Trace; c01044ac Trace; c011450b Trace; c0103cf3 Trace; c0198651 Trace; c0198790 Trace; c019884f Trace; c016b46f Trace; c01635b6 Trace; c0103249 This architecture has variable length instructions, decoding before eip is unreliable, take these instructions with a pinch of salt. Code; c019844e 00000000 <_EIP>: Code; c019844e 0: 75 f8 jne fffffffa <_EIP+0xfffffffa> Code; c0198450 2: c9 leave Code; c0198451 3: c3 ret Code; c0198452 4: 8d b4 26 00 00 00 00 lea 0x0(%esi),%esi Code; c0198459 b: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi Code; c0198460 12: 55 push %ebp Code; c0198461 13: 89 e5 mov %esp,%ebp Code; c0198463 15: 57 push %edi Code; c0198464 16: 56 push %esi Code; c0198465 17: 8b 55 08 mov 0x8(%ebp),%edx Code; c0198468 1a: be 01 00 00 00 mov $0x1,%esi Code; c019846d 1f: 53 push %ebx Code; c019846e 20: 31 db xor %ebx,%ebx Code; c0198470 22: 8b 3a mov (%edx),%edi Code; c0198472 24: b9 ff ff ff ff mov $0xffffffff,%ecx Code; c0198477 29: 89 d8 mov %ebx,%eax This decode from eip onwards should be reliable Code; c0198479 00000000 <_EIP>: Code; c0198479 <===== 0: f2 ae repnz scas %es:(%edi),%al <===== Code; c019847b 2: f7 d1 not %ecx Code; c019847d 4: 49 dec %ecx Code; c019847e 5: 8b 52 24 mov 0x24(%edx),%edx Code; c0198481 8: 8d 74 31 01 lea 0x1(%ecx,%esi,1),%esi Code; c0198485 c: 85 d2 test %edx,%edx Code; c0198487 e: 75 e7 jne fffffff7 <_EIP+0xfffffff7> Code; c0198489 10: 5b pop %ebx Code; c019848a 11: 89 f0 mov %esi,%eax Code; c019848c 13: 5e pop %esi Code; c019848d 14: 5f pop %edi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/