lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 18 May 2008 13:30:13 +0530
From:	Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, apw@...dowen.org,
	balbir@...ux.vnet.ibm.com, linux-mm@...ck.org, mingo@...e.hu
Subject: Re: [BUG] 2.6.26-rc2-mm1 - kernel bug while bootup at __alloc_pages_internal () on x86_64

On Wed, May 14, 2008 at 12:44:55PM -0700, Andrew Morton wrote:
> On Wed, 14 May 2008 23:51:36 +0530
> Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com> wrote:
> 
> > Andrew Morton wrote:
> > > On Wed, 14 May 2008 16:54:46 +0530 Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com> wrote:
> > > 
> > >> Hi Andrew,
> > >>
> > >> The 2.6.26-rc2-mm1 kernel panic's while bootup on the x86_64 machine.
> > >>
> > >>
> > >> BUG: unable to handle kernel paging request at 0000000000001e08
> > >> IP: [<ffffffff8026ac60>] __alloc_pages_internal+0x80/0x470
> > >> PGD 0 
> > >> Oops: 0000 [1] SMP 
> > >> last sysfs file: 
> > >> CPU 31 
> > >> Modules linked in:
> > >> Pid: 1, comm: swapper Not tainted 2.6.26-rc2-mm1-autotest #1
> > >> RIP: 0010:[<ffffffff8026ac60>]  [<ffffffff8026ac60>] __alloc_pages_internal+0x80/0x470
> > >> RSP: 0018:ffff810bf9dbdbc0  EFLAGS: 00010202
> > >> RAX: 0000000000000002 RBX: ffff810bef4786c0 RCX: 0000000000000001
> > >> RDX: 0000000000001e00 RSI: 0000000000000001 RDI: 0000000000001020
> > >> RBP: ffff810bf9dbb6d0 R08: 0000000000001020 R09: 0000000000000000
> > >> R10: 0000000000000008 R11: ffffffff8046d130 R12: 0000000000001020
> > >> R13: 0000000000000001 R14: 0000000000001e00 R15: ffff810bf8d29878
> > >> FS:  0000000000000000(0000) GS:ffff810bf916dec0(0000) knlGS:0000000000000000
> > >> CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> > >> CR2: 0000000000001e08 CR3: 0000000000201000 CR4: 00000000000006e0
> > >> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > >> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> > >> Process swapper (pid: 1, threadinfo ffff810bf9dbc000, task ffff810bf9dbb6d0)
> > >> Stack:  0002102000000000 0000000000000002 0000000000000000 0000000200000000
> > >>  0000000000000000 0000000000000000 0000000000000000 0000000000000000
> > >>  0000000000000000 ffff810bef4786c0 0000000000001020 ffffffffffffffff
> > >> Call Trace:
> > >>  [<ffffffff802112e9>] dma_alloc_coherent+0xa9/0x280
> > >>  [<ffffffff804e8c9e>] tg3_init_one+0xa3e/0x15e0
> > >>  [<ffffffff8028d0e4>] alternate_node_alloc+0x84/0xd0
> > >>  [<ffffffff802286fc>] task_rq_lock+0x4c/0x90
> > >>  [<ffffffff8022de62>] set_cpus_allowed_ptr+0x72/0xf0
> > >>  [<ffffffff802e12fb>] sysfs_addrm_finish+0x1b/0x210
> > >>  [<ffffffff802e0f99>] sysfs_find_dirent+0x29/0x40
> > >>  [<ffffffff8036cc34>] pci_device_probe+0xe4/0x130
> > >>  [<ffffffff803bfc26>] driver_probe_device+0x96/0x1a0
> > >>  [<ffffffff803bfdb9>] __driver_attach+0x89/0x90
> > >>  [<ffffffff803bfd30>] __driver_attach+0x0/0x90
> > >>  [<ffffffff803bf29d>] bus_for_each_dev+0x4d/0x80
> > >>  [<ffffffff8028d676>] kmem_cache_alloc+0x116/0x130
> > >>  [<ffffffff803bf78e>] bus_add_driver+0xae/0x220
> > >>  [<ffffffff803c0046>] driver_register+0x56/0x130
> > >>  [<ffffffff8036cee8>] __pci_register_driver+0x68/0xb0
> > >>  [<ffffffff80708a29>] kernel_init+0x139/0x390
> > >>  [<ffffffff8020c358>] child_rip+0xa/0x12
> > >>  [<ffffffff807088f0>] kernel_init+0x0/0x390
> > >>  [<ffffffff8020c34e>] child_rip+0x0/0x12
> > >>
> > >>
> > >> Code: c9 00 00 02 00 25 00 08 00 00 89 4c 24 04 89 04 24 44 89 e9 b8 01 00 00 00 d3 e0 48 98 48 89 44 24 08 65 48 8b 2c 25 00 00 00 00 <49> 83 7e 08 00 0f 84 9a 03 00 00 44 8b 44 24 1c 48 8b 74 24 10 
> > >> RIP  [<ffffffff8026ac60>] __alloc_pages_internal+0x80/0x470
> > >>  RSP <ffff810bf9dbdbc0>
> > >> CR2: 0000000000001e08
> > >> ---[ end trace 111493bba2b1f3db ]---
> > > 
> > > grumble.  why.  There are lots of patches already which changed the
> > > page allocator.
> > > 
> > > config, please?
> > I have attached the .config file.
> 
> I cannot reproduce it with your config on my non-numa box.
> 
> > > Is it NUMA?
> > It is a NUMA box, with 4 nodes.
> 
> Can you bisect it please?
> 
> Wrecking the page allocator is a fairly unusual thing to do.  I'd start
> out by looking at *bootmem*.patch and perhaps
> acpi-acpi_numa_init-build-fix.patch.

After bisecting, the acpi-acpi_numa_init-build-fix.patch patch seems
to be causing the kernel panic during the bootup. Reverting the patch helps
in booting up the machine without the panic.

commit 5dc90c0b2d4bd0127624bab67cec159b2c6c4daf
Author: Ingo Molnar <mingo@...e.hu>
Date:   Thu May 1 09:51:47 2008 +0000

    acpi-acpi_numa_init-build-fix
    
    x86.git testing found the following build error on latest -git:
    
     drivers/acpi/numa.c: In function 'acpi_numa_init':
     drivers/acpi/numa.c:226: error: 'NR_NODE_MEMBLKS' undeclared (first use in this function)
     drivers/acpi/numa.c:226: error: (Each undeclared identifier is reported only once
     drivers/acpi/numa.c:226: error: for each function it appears in.)
    
    with this config:
    
     http://redhat.com/~mingo/misc/config-Wed_Apr_30_22_42_42_CEST_2008.bad
    
    i suspect we dont want SRAT parsing when CONFIG_HAVE_ARCH_PARSE_SRAT
    is unset - but the fix looks a bit ugly. Perhaps we should define
    NR_NODE_MEMBLKS even in this case and just let the code fall back
    to some sane behavior?
    
    Signed-off-by: Ingo Molnar <mingo@...e.hu>
    Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>

diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index 5d59cb3..8cab8c5 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -176,6 +176,7 @@ acpi_parse_processor_affinity(struct acpi_subtable_header * header,
 	return 0;
 }
 
+#ifdef CONFIG_HAVE_ARCH_PARSE_SRAT
 static int __init
 acpi_parse_memory_affinity(struct acpi_subtable_header * header,
 			   const unsigned long end)
@@ -193,6 +194,7 @@ acpi_parse_memory_affinity(struct acpi_subtable_header * header,
 
 	return 0;
 }
+#endif
 
 static int __init acpi_parse_srat(struct acpi_table_header *table)
 {
@@ -221,9 +223,11 @@ int __init acpi_numa_init(void)
 	if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
 		acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
 				      acpi_parse_processor_affinity, NR_CPUS);
+#ifdef CONFIG_HAVE_ARCH_PARSE_SRAT
 		acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
 				      acpi_parse_memory_affinity,
 				      NR_NODE_MEMBLKS);
+#endif
 	}
 
 	/* SLIT: System Locality Information Table */
-- 
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists