Re: linux-next: Tree for July 18: warning at kernel/lockdep.c:2068 trace_hardirqs_on_caller

Greg KH
2008-07-19T23:02:10Z

On Sun, Jul 20, 2008 at 12:44:38AM +0200, Vegard Nossum wrote:
> On Sun, Jul 20, 2008 at 12:27 AM, Vegard Nossum <vegard.nossum@gmail.com> wrote:
> >>> commit 0e3638d1e04040121af00195f7e4628078246489
> >>> Author: Dave Hansen <haveblue@us.ibm.com>
> >>> Date: Thu Mar 16 17:30:16 2006 -0800
> >>>
> >>> warn when statically-allocated kobjects are used
> >>>
> >>> ..which only exists in -next. Is that just a truly ancient patch, or
> >>> did somebody forget to adjust their clock?
> >>
> >> It is truely a very old patch, that only lives in my tree, and currently
> >> isn't planned to go to Linus any year soon.
> >>
> >> But it has a very long history of living in the -mm tree, and finding
> >> real bugs, it's just not "safe" enough to go to Linus's tree. Unless
> >> you think it is?
> >
> > Hm. In this case, the patch is not even reporting a problem, it is in
> > fact in error itself.
> >
> > The problem is that it calls kzalloc() before the slab caches have
> > been set up. (Yes, it's a wonder that nothing crashed.) I can only
> > suggest the addendum
> >
> > if (!slab_is_available())
> > return;
>
> Well, of course, it's also possible that the e820 code shouldn't be
> initializing kobjects this early in the first place.

That's probably the case, the kobject code isn't able to handle this
kind of thing (sysfs included).

> firmware_map_add_early() is using bootmem for the allocation. So yes,
> I guess it should possible to use kobjects here. That said, this code
> is in fact fairly recent:
>
> commit 69ac9cd629ca96e59f34eb4ccd12d00b2c8276a7
> Author: Bernhard Walle <bwalle@suse.de>
> Date: Fri Jun 27 13:12:54 2008 +0200
>
> sysfs: add /sys/firmware/memmap
>
> I'll add the Cc. I still have a feeling that the kobject patch should
> expect to run even when slab is not available.

I never has been expected to do so in the past, so odds are, lots of
things might break :(

thanks,

greg k-h