From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pekka Enberg Subject: Re: linux-next: Tree for July 18: warning at kernel/lockdep.c:2068 trace_hardirqs_on_caller Date: Sat, 19 Jul 2008 15:56:29 +0300 Message-ID: <1216472189.6762.166.camel@penberg-laptop> References: <20080718195352.e562a00f.sfr@canb.auug.org.au> <200807190928.33978.m.kozlowski@tuxland.pl> <19f34abd0807190255x304173d4wf2bfabb2d5bce511@mail.gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <19f34abd0807190255x304173d4wf2bfabb2d5bce511-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Vegard Nossum Cc: Mariusz Kozlowski , Stephen Rothwell , kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-next-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, LKML , cl-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org On Sat, 2008-07-19 at 11:55 +0200, Vegard Nossum wrote: > On Sat, Jul 19, 2008 at 9:28 AM, Mariusz Kozlowski > wrote: > > Hello, > > > > I get this on my x86_32 laptop. > > > > ------------[ cut here ]------------ > > WARNING: at /home/mako/linux/lkt/sources/linux-next/kernel/lockdep.c:2068 trace_hardirqs_on_caller+0xdc/0x128() > > Modules linked in: > > Pid: 0, comm: swapper Not tainted 2.6.26-next-20080718 #1 > > [] warn_on_slowpath+0x4e/0x68 > > [] ? init_srcu_struct+0x17/0x3b > > [] ? release_console_sem+0x1c2/0x1e8 > > [] ? trace_hardirqs_off+0xb/0xd > > [] ? _spin_unlock_irqrestore+0x39/0x60 > > [] ? release_console_sem+0x1d6/0x1e8 > > [] ? up+0x23/0x30 > > [] ? release_console_sem+0x1c2/0x1e8 > > [] ? up+0x23/0x30 > > [] ? release_console_sem+0x1c2/0x1e8 > > [] ? __lock_acquire+0x365/0x1151 > > [] trace_hardirqs_on_caller+0xdc/0x128 > > [] trace_hardirqs_on+0xb/0xd > > [] __slab_alloc+0x329/0x61e > > [] ? kmemcheck_memset+0x24/0xe5 > > [] kmem_cache_alloc+0xa0/0xb6 > > [] ? kobject_init+0x3b/0xdd > > [] ? kobject_init+0x3b/0xdd > > [] kobject_init+0x3b/0xdd > > [] firmware_map_add_entry+0x2a/0x4b > > [] firmware_map_add_early+0x32/0x56 > > [] e820_reserve_resources+0x10a/0x14e > > [] setup_arch+0x375/0x540 > > [] ? clockevents_register_notifier+0x28/0x2d > > [] ? printk+0x1b/0x1d > > [] start_kernel+0x67/0x278 > > [] i386_start_kernel+0x64/0x70 > > ======================= > > ---[ end trace 4eaa2a86a8e2da22 ]--- > > > > What I don't get here is how SLUB can be used this early in the boot > process. Notice that this is still miles away from the > > SLUB: Genslabs=12, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 > > line, which comes much later. And that kobject_init() _is_ calling > kzalloc() via verify_dynamic_kobject_allocation(). Isn't this an > error? > > (Unfortunately, my "git log" doesn't turn up any recent changes for > any of the affected code paths here.) Indeed, looks like a bug in kobject_init(). You need to wait for kmem_cache_init() to be run before using kzalloc(). Pekka