lkml.org 
[lkml]   [2008]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 9a2d43b: __alloc_bootmem_core(): zero-sized request
On Fri, Aug 22, 2008 at 9:24 PM, Vegard Nossum <vegard.nossum@gmail.com> wrote:
> Hi,
>
> I was trying out
>
> commit 9a2d43b7566caeeeb414aa628bc2759028897dbb
> Date: Tue Jul 15 21:21:43 2008 +0200
>
> ..as part of the debugging of a different issue, but I got this:
>
> __alloc_bootmem_core(): zero-sized request
> ------------[ cut here ]------------
> kernel BUG at /uio/arkimedes/s29/vegardno/git-working/linux-2.6/mm/bootmem.c:247!
[...]

Don't know how much it helps, but I tried this patch:

diff --git a/mm/bootmem.c b/mm/bootmem.c
index 8d9f60e..56298cb 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -244,7 +244,7 @@ __alloc_bootmem_core(struct bootmem_data *bdata, unsigned lo
ng size,

if (!size) {
printk("__alloc_bootmem_core(): zero-sized request\n");
- BUG();
+ return ZERO_SIZE_PTR;
}
BUG_ON(align & (align-1));

...and I got this (it was apparently a bad idea ;-)):
__alloc_bootmem_core(): zero-sized request
Dentry cache hash table entries: -2147483648 (order: -13, 0 bytes)
__alloc_bootmem_core(): zero-sized request
Inode-cache hash table entries: -2147483648 (o -13, 0 bytes)
Bad page state in process 'swapper'
page:000000f0 flags:0x00000000 mapping:00000000 mapcount:1 count:0
Trying to fix it up, but a reboot is needed
Backtrace:
Pid: 0, comm: swapper Not tainted 2.6.26-00014-g9a2d43b-dirty #36
[<c01823b0>] bad_page+0x90/0xd0
[<c018351b>] free_hot_cold_page+0x21b/0x230
[<c018357a>] free_hot_page+0xa/0x10
[<c01835ab>] __free_pages+0x2b/0x40
[<c01849d2>] __free_pages_bootmem+0x82/0xa0
[<c082baeb>] free_all_bootmem_core+0xfb/0x1d0
[<c082bbcd>] free_all_bootmem+0xd/0x10
[<c08268fa>] mem_init+0x7a/0x3a0
[<c082e612>] ? inode_init_early+0x62/0xb0
[<c082e408>] ? vfs_caches_init_early+0x18/0xb0
[<c08159fa>] start_kernel+0x25a/0x390
[<c0815180>] ? unknown_bootoption+0x0/0x210
[<c0815008>] __init_begin+0x8/0x10
=======================
list_add corruption. next->prev should be prev (0000000c), but was
00000000. (next=00000000).
------------[ cut here ]------------
kernel BUG at /uio/arkimedes/s29/vegardno/git-working/linux-2.6/lib/list_debug.c:27!

Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036


\
 
 \ /
  Last update: 2008-08-22 21:57    [W:0.058 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site