Re: [PATCH] kmemtrace: fix build breakage in befs

Eduard - Gabriel Munteanu
2009-03-24T16:32:37Z

On Tue, Mar 24, 2009 at 11:15:13AM +0200, Pekka Enberg wrote:
> On Tue, 2009-03-24 at 10:07 +0100, Ingo Molnar wrote:
> > * Pekka Enberg <penberg@cs.helsinki.fi> wrote:
> >
> > > On Tue, 2009-03-24 at 09:56 +0100, Ingo Molnar wrote:
> > > > * Pekka Enberg <penberg@cs.helsinki.fi> wrote:
> > > >
> > > > > On Tue, 2009-03-24 at 09:51 +0100, Ingo Molnar wrote:
> > > > > > there's another build problem as well, in squashfs, and in key.h:
> > > > > >
> > > > > > include/linux/key.h:128: error: field 'sem' has incomplete type
> > > > > > fs/squashfs/export.c:133: error: implicit declaration of function 'kmalloc'
> > > > > > fs/squashfs/export.c:143: error: implicit declaration of function 'kfree'
> > > > > >
> > > > > > And i suspect there's more as well. Is there really no unintrusive
> > > > > > way to solve this - or do you think the RCU change reduces the
> > > > > > include file spaghetti?
> > > > >
> > > > > I don't think there is and yes, I do think the RCU change cleans
> > > > > up things as well.
> > > >
> > > > Okay. Note, you'll have to test tip:tracing/kmemtrace explicitly as
> > > > i had to exclude it from tip:master due to test failures. Will put
> > > > it back in once fixes arrive :)
> > >
> > > That's what I am testing right now. It's just that I am working on
> > > an old laptop where building the kernel takes a looong time....
> > > :-)
> >
> > ok - let me help then.
> >
> > On (64-bit) allyesconfig there's 5 distinct build failures:
> >
> > include/linux/key.h:128: error: field ???sem??? has incomplete type
> > distcc[22541] ERROR: compile security/keys/sysctl.c on a/16 failed
> >
> > lib/decompress_bunzip2.c:636: error: implicit declaration of function ???kmalloc???
> > lib/decompress_bunzip2.c:726: error: implicit declaration of function ???kfree???
> >
> > In file included from include/keys/user-type.h:16,
> > from fs/cifs/cifs_spnego.c:25:
> > include/linux/key.h:128: error: field ???sem??? has incomplete type
> > distcc[3226] ERROR: compile fs/cifs/cifs_spnego.c on ph/16 failed
> >
> > lib/decompress_inflate.c:45: error: implicit declaration of function ???kmalloc???
> > lib/decompress_inflate.c:154: error: implicit declaration of function ???kfree???
> >
> > lib/decompress_unlzma.c:122: error: implicit declaration of function ???kfree???
> > lib/decompress_unlzma.c:551: error: implicit declaration of function ???kmalloc???
> >
> > You should be able to reproduce them (on 32-bit too) one by one via:
> >
> > make lib/decompress_unlzma.o
> >
> > etc. - without having to redo the full allyesconfig. (i'll redo that
> > after the fixes, to flush out remaining/dependent bugs)
>
> OK, I think all of them are now fixed. I haven't yet been able to
> complete a build so help is still appreciated. ;-)
>
> Pekka

Gosh, what have I done?! oO

As far as I can see (or I hope so), it isn't really my fault the
original authors didn't use headers in a semantically-consistent way.

Pekka, thanks a lot for helping with this.

Eduard