On Thu, 2007-07-19 at 21:42 +0200, Ingo Molnar wrote: > Linus, Christoph, > > recent slub commits in -git cause this bootup crash: > > Freeing unused kernel memory: 324k freed > Write protecting the kernel read-only data: 1294k
Just curious, are the crashes even possible in 2.6.22.1? (I see the same patchable code snippet in the source). Just wondering if I should also apply this to 2.6.21.1-rt4... -- Fernando > ------------[ cut here ]------------ > kernel BUG at mm/slub.c:2401! > invalid opcode: 0000 [#1] > PREEMPT SMP > Modules linked in: > CPU: 0 > EIP: 0060:[<c017dac3>] Not tainted VLI > EFLAGS: 00010046 (2.6.22 #1) > EIP is at ksize+0x13/0x42 > eax: 00000000 ebx: 00000000 ecx: 00000020 edx: 00000000 > esi: f76a4000 edi: 00000004 ebp: f7b11e74 esp: f7b11e74 > ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068 > Process udevd (pid: 824, ti=f7b11000 task=f7ca5000 task.ti=f7b11000) > Stack: f7b11e94 c016c28b f768cb00 00000020 f7ca5000 00000004 f76a4000 > fffffff4 > f7b11eb4 c03cf158 00000002 f76a4000 00000020 f768cb00 f76a4000 > f7b11ed8 > f7b11ed0 c03cfbc6 f768cb00 f768cb00 c046bf80 f768cb00 0000000c > f7b11f6c > Call Trace: > [<c0105e3e>] show_trace_log_lvl+0x19/0x2e > [<c0105ef0>] show_stack_log_lvl+0x9d/0xa5 > [<c010628f>] show_registers+0x1f5/0x334 > [<c01064e6>] die+0x118/0x1fc > [<c0426e7f>] do_trap+0x8e/0xa8 > [<c0106ac3>] do_invalid_op+0x88/0x92 > [<c0426a92>] error_code+0x72/0x78 > [<c016c28b>] krealloc+0x27/0x6d > [<c03cf158>] netlink_realloc_groups+0x61/0xd9 > [<c03cfbc6>] netlink_bind+0x4f/0x121 > [<c03afe8d>] sys_bind+0x67/0x86 > [<c03b11e3>] sys_socketcall+0x8f/0x244 > [<c0104ef2>] sysenter_past_esp+0x6b/0xb5 > ======================= > Code: 40 02 00 75 03 8b 52 0c 8b 02 5d 84 c0 b8 00 00 00 00 0f 49 d0 89 d0 > c3 55 31 d2 83 f8 10 89 e5 74 34 e8 bc ff ff ff 85 c0 75 04 <0f> 0b eb fe 8b > 40 10 85 c0 75 04 0f 0b eb fe 8b 10 f6 c6 0c 74 > > i had to apply the patch below to make the kernel boot again. > > Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]> > > Index: linux/mm/slub.c > =================================================================== > --- linux.orig/mm/slub.c > +++ linux/mm/slub.c > @@ -2394,7 +2394,7 @@ size_t ksize(const void *object) > struct page *page; > struct kmem_cache *s; > > - if (object == ZERO_SIZE_PTR) > + if (object == ZERO_SIZE_PTR || !object) > return 0; > > page = get_object_page(object); > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/