Re: [linux-next-20130422] Bug in SLAB?
From: Tetsuo Handa
Date: Fri May 03 2013 - 20:16:09 EST
Christoph Lameter wrote:
> Ok could I see the kernel logs with the warnings?
Sure.
---------- testcase ----------
volatile unsigned int size;
for (size = 4 * 1024 * 1024; size <= 32 * 1024 * 1024; size <<= 1) {
void *ptr = kmalloc(size, GFP_KERNEL);
printk("kmalloc(%u)=%p\n", size, ptr);
kfree(ptr);
}
---------- testcase ----------
---------- before applying this patch ----------
kmalloc(4194304)=d9c00000
kmalloc(8388608)= (null)
kmalloc(16777216)= (null)
------------[ cut here ]------------
Kernel BUG at c10b9c5b [verbose debug info unavailable]
invalid opcode: 0000 [#1] SMP
Modules linked in: test(OF+) binfmt_misc
CPU: 0 PID: 3881 Comm: insmod Tainted: GF O 3.9.0-rc8-next-20130426 #1
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008
task: df2a3b30 ti: de0a0000 task.ti: de0a0000
EIP: 0060:[<c10b9c5b>] EFLAGS: 00010202 CPU: 0
EIP is at cache_alloc_refill+0x56b/0x590
EAX: 00000040 EBX: df002680 ECX: 00000000 EDX: 00000010
ESI: df000ac0 EDI: 00000000 EBP: 00000001 ESP: de0a1e08
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
CR0: 8005003b CR2: b769f3e0 CR3: 1f0fc000 CR4: 000006d0
DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
DR6: ffff0ff0 DR7: 00000400
Stack:
00000000 00000000 00000000 000000d0 00000000 00000010 00000040 00000246
000000d0 00000000 00000000 df000ac0 00000202 000000d0 c10b9d0e ffffffff
00000000 e0838040 00000001 00000000 e083a01c e0838024 01000000 00000000
Call Trace:
[<c10b9d0e>] ? __kmalloc+0x8e/0xd0
[<e083a01c>] ? test_init+0x1c/0x5c [test]
[<c1000102>] ? do_one_initcall+0x32/0x170
[<c10b3098>] ? __vunmap+0xa8/0xe0
[<e083a000>] ? 0xe0839fff
[<c106e066>] ? load_module+0x1196/0x1560
[<c106e7e0>] ? SyS_init_module+0xb0/0xd0
[<c143273a>] ? sysenter_do_call+0x12/0x22
Code: 85 c0 0f 84 05 ff ff ff 31 c9 89 ea 89 f0 e8 8d f9 ff ff e9 f5 fe ff ff 0f 0b eb fe 8b 6e 20 f7 c5 01 00 00 00 0f 84 95 fd ff ff <0f> 0b eb fe 0f 0b eb fe 0f b6 44 24 1f 89 da 8b 4c 24 20 89 04
EIP: [<c10b9c5b>] cache_alloc_refill+0x56b/0x590 SS:ESP 0068:de0a1e08
---[ end trace f0be5ebb0e2c1371 ]---
---------- before applying this patch ----------
---------- after applying this patch ----------
kmalloc(4194304)=d7000000
------------[ cut here ]------------
WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70()
Modules linked in: test(OF+) binfmt_misc
CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008
c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 d7000000
e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 d7000000
c10ba3da 00000286 d7000000 e1584040 00000001 00000000 e158601c e1584024
Call Trace:
[<c142f6a1>] ? dump_stack+0xa/0x19
[<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c102fc1b>] ? warn_slowpath_null+0x1b/0x20
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10ba3da>] ? __kmalloc+0x1a/0xd0
[<e158601c>] ? test_init+0x1c/0x5c [test]
[<c1000102>] ? do_one_initcall+0x32/0x170
[<c10b30b8>] ? __vunmap+0xa8/0xe0
[<e1586000>] ? 0xe1585fff
[<c106e066>] ? load_module+0x1196/0x1560
[<c106e7e0>] ? SyS_init_module+0xb0/0xd0
[<c143273a>] ? sysenter_do_call+0x12/0x22
---[ end trace b6ab930b322ad480 ]---
kmalloc(8388608)= (null)
------------[ cut here ]------------
WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70()
Modules linked in: test(OF+) binfmt_misc
CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008
c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 00000000
e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 00000000
c10ba3da ffffffff 00000000 e1584040 00000001 00000000 e158601c e1584024
Call Trace:
[<c142f6a1>] ? dump_stack+0xa/0x19
[<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c102fc1b>] ? warn_slowpath_null+0x1b/0x20
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10ba3da>] ? __kmalloc+0x1a/0xd0
[<e158601c>] ? test_init+0x1c/0x5c [test]
[<c1000102>] ? do_one_initcall+0x32/0x170
[<c10b30b8>] ? __vunmap+0xa8/0xe0
[<e1586000>] ? 0xe1585fff
[<c106e066>] ? load_module+0x1196/0x1560
[<c106e7e0>] ? SyS_init_module+0xb0/0xd0
[<c143273a>] ? sysenter_do_call+0x12/0x22
---[ end trace b6ab930b322ad481 ]---
kmalloc(16777216)= (null)
------------[ cut here ]------------
WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70()
Modules linked in: test(OF+) binfmt_misc
CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008
c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 00000000
e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 00000000
c10ba3da ffffffff 00000000 e1584040 00000001 00000000 e158601c e1584024
Call Trace:
[<c142f6a1>] ? dump_stack+0xa/0x19
[<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c102fc1b>] ? warn_slowpath_null+0x1b/0x20
[<c10a5197>] ? kmalloc_slab+0x57/0x70
[<c10ba3da>] ? __kmalloc+0x1a/0xd0
[<e158601c>] ? test_init+0x1c/0x5c [test]
[<c1000102>] ? do_one_initcall+0x32/0x170
[<c10b30b8>] ? __vunmap+0xa8/0xe0
[<e1586000>] ? 0xe1585fff
[<c106e066>] ? load_module+0x1196/0x1560
[<c106e7e0>] ? SyS_init_module+0xb0/0xd0
[<c143273a>] ? sysenter_do_call+0x12/0x22
---[ end trace b6ab930b322ad482 ]---
kmalloc(33554432)= (null)
---------- after applying this patch ----------
--
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/