Re: linux-next: build failure after merge of the final tree(net-next tree related)

From: Andrew Morton
Date: Wed Nov 23 2011 - 18:02:15 EST


On Wed, 23 Nov 2011 07:09:37 -0500
Neil Horman <nhorman@xxxxxxxxxxxxx> wrote:

> On Wed, Nov 23, 2011 at 03:00:04PM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the final tree, today's linux-next build (powerpc allnoconfig)
> > failed like this:
> >
> > In file included from include/linux/netdevice.h:53:0,
> > from include/linux/icmpv6.h:173,
> > from include/linux/ipv6.h:220,
> > from include/net/ipv6.h:16,
> > from include/linux/sunrpc/clnt.h:26,
> > from include/linux/nfs_fs.h:50,
> > from init/do_mounts.c:20:
> > include/net/netprio_cgroup.h:23:29: error: field 'css' has incomplete type
>
> ...
>
> FYI, I've got a more appropriate fix building right now getting posted for the
> net-next tree. I'll cc you on it.

This header looks to be pretty screwed up:

- Extraneous newline after "struct cgroup_netprio_state"

- Weird special-casing of the CONFIG_CGROUPS &&
!CONFIG_NETPRIO_CGROUP case looks suspicious.

- Unnecessary use of IS_ENABLED - jsut use #ifdef CONFIG_NETPRIO_CGROUP

- Adds code stubs specifically for the CONFIG_CGROUPS &&
!CONFIG_NETPRIO_CGROUP case. Doesn't add any for the !CONFIG_CGROUPS
case. Seems wrong.

- Uses empty macros for the sock_update_netprioidx() and
skb_update_prio() which can cause build errors. Should be changed to
plain old typechecked inline C functions. If that causes build
errors then something else is screwed up.

- Adds a stub for skb_update_prio() but there's no non-stub version
of it.

also

- doesn't compile


Needs a thorough redo. Please take a look at the other cgroup
subsystem headers. The basic pattern is

#ifdef CONFIG_FOO_CGROUP
<definitions and declarations>
#else
<any needed stubs go here>
#endif

And that's it.
--
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/