Re: 2.6.12-rc6-mm1 oops on startup.

From: Andrew Morton
Date: Thu Jun 23 2005 - 18:57:20 EST


James Courtier-Dutton <James@xxxxxxxxxxxxxx> wrote:
>
> Ok, it now boots, but I now get a new problem.
> after "modprobe yenta-socket", and then "cat /proc/iomem" I get the
> attached kernel segfault.
>
> Extract below:
> Unable to handle kernel NULL pointer dereference at virtual address 00000010
> printing eip:
> c0126fc0
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT SMP DEBUG_PAGEALLOC
> Modules linked in: yenta_socket rsrc_nonstatic pcmcia_core usbcore
> CPU: 0
> EIP: 0060:[<c0126fc0>] Not tainted VLI
> EFLAGS: 00010297 (2.6.12-mm1)
> EIP is at r_show+0x30/0x90
> eax: 00000000 ebx: 00000008 ecx: 00000003 edx: c03ca87c
> esi: f7fafaa8 edi: f4f7af78 ebp: f4fabf28 esp: f4fabef8
> ds: 007b es: 007b ss: 0068
> Process cat (pid: 1750, threadinfo=f4faa000 task=f4f55af0)
> Stack: f4f7af78 c0389e8b 00000000 c038d590 00000008 3fffc000 00000008
> 3fffffff
> c03883a3 00000000 f4f7af78 f7fafaa8 f4fabf60 c018b702 f4f7af78
> f7fafaa8
> f4fabf44 000001a7 00000000 0000000d 00000000 0000000c 00000000
> 00000400
> Call Trace:
> [<c01040df>] show_stack+0x7f/0xa0
> [<c0104284>] show_registers+0x164/0x1e0
> [<c01044cd>] die+0x10d/0x1a0
> [<c011749c>] do_page_fault+0x4bc/0x6b8
> [<c0103d0f>] error_code+0x4f/0x54
> [<c018b702>] seq_read+0x242/0x2f0
> [<c01667f3>] vfs_read+0xe3/0x1b0
> [<c0166bcb>] sys_read+0x4b/0x80
> [<c01031f9>] syscall_call+0x7/0xb
> Code: 53 83 ec 24 8b 7d 08 8b 75 0c 8b 57 40 8b 42 08 3d 00 00 01 00 19
> db 89 f0 83 e3 fc 31 c9 83 c3 08 8d 76 00 8d bc 27 00 00 00 00 <8b> 40
> 10 39 d0 74 06 41 83 f9 04 7e f3 8b 06 ba 85 9e 38 c0 85

Me too. binary search indicates that it's introduced by
gregkh-pci-pci-assign-unassigned-resources.patch.

Unfortunately that patch does three seemingly-unrelated things and none of
them are directly related to /proc handling. Splitting the patch into
three pieces indicates that this hunk alone is sufficient to cause the
crash:


diff -puN arch/i386/pci/common.c~a arch/i386/pci/common.c
--- 25/arch/i386/pci/common.c~a 2005-06-23 16:48:42.000000000 -0700
+++ 25-akpm/arch/i386/pci/common.c 2005-06-23 16:48:42.000000000 -0700
@@ -165,6 +165,7 @@ static int __init pcibios_init(void)
if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
pcibios_sort();
#endif
+ pci_assign_unassigned_resources();
return 0;
}

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/