All of lore.kernel.org
 help / color / mirror / Atom feed
* XT_ALIGN changed to use ALIGN breaks iproute2
@ 2010-03-30  9:28 Andreas Henriksson
  2010-03-30 13:15 ` Alexey Dobriyan
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Henriksson @ 2010-03-30  9:28 UTC (permalink / raw)
  To: Alexey Dobriyan, Patrick McHardy; +Cc: Stephen Hemminger, jamal, netdev

Hello Alexey (and everyone else)!

You updated the kernel header include/linux/netfilter/x_tables.h
in torvalds/linux-2.6.git commit 42107f5009da223daa800d6da6904d77297ae829
with the comment "Use ALIGN() macro while I'm at it for same types.".

When this header was synced into iproute2 the build broke because the
ALIGN macro apparently only is defined in kernel headers.

(For iproute2 the problem was introduced in
8ecdcce08319d0e39b0d32c1d17db3f69d85a35c and found by Stephen
and worked around in 609ceb807deba8e23 and edaaa11e5a3cf2c9c1a39)

I'm guessing the problem in the iproute2 header sync is just a heads
up for what's going to happen when distributions updates their
system headers to match linux 2.6.33.


Could someone who knows how the userspace version of the kernel
headers are generated please find a suitable solution?

-- 
Andreas Henriksson

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: XT_ALIGN changed to use ALIGN breaks iproute2
  2010-03-30  9:28 XT_ALIGN changed to use ALIGN breaks iproute2 Andreas Henriksson
@ 2010-03-30 13:15 ` Alexey Dobriyan
  2010-03-30 15:01   ` Ben Hutchings
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey Dobriyan @ 2010-03-30 13:15 UTC (permalink / raw)
  To: Andreas Henriksson; +Cc: Patrick McHardy, Stephen Hemminger, jamal, netdev

On Tue, Mar 30, 2010 at 12:28 PM, Andreas Henriksson <andreas@fatal.se> wrote:
> You updated the kernel header include/linux/netfilter/x_tables.h
> in torvalds/linux-2.6.git commit 42107f5009da223daa800d6da6904d77297ae829
> with the comment "Use ALIGN() macro while I'm at it for same types.".
>
> When this header was synced into iproute2 the build broke because the
> ALIGN macro apparently only is defined in kernel headers.
>
> (For iproute2 the problem was introduced in
> 8ecdcce08319d0e39b0d32c1d17db3f69d85a35c and found by Stephen
> and worked around in 609ceb807deba8e23 and edaaa11e5a3cf2c9c1a39)
>
> I'm guessing the problem in the iproute2 header sync is just a heads
> up for what's going to happen when distributions updates their
> system headers to match linux 2.6.33.
>
>
> Could someone who knows how the userspace version of the kernel
> headers are generated please find a suitable solution?

We can export ALIGN to userspace, but the name is so generic,
so it's not clear what breakage more risky.

XT_ALIGN is a macro so breakage will appear only when it's used,
not when header is included directly or indirectly.

We have tc, iptables, both carry their own copy of headers, what else?

Right now, I'd say, do nothing, and iptables will carry fixlet as in tc,
eventually.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: XT_ALIGN changed to use ALIGN breaks iproute2
  2010-03-30 13:15 ` Alexey Dobriyan
@ 2010-03-30 15:01   ` Ben Hutchings
  2010-03-30 15:29     ` Stephen Hemminger
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Hutchings @ 2010-03-30 15:01 UTC (permalink / raw)
  To: Alexey Dobriyan
  Cc: Andreas Henriksson, Patrick McHardy, Stephen Hemminger, jamal, netdev

On Tue, 2010-03-30 at 16:15 +0300, Alexey Dobriyan wrote:
> On Tue, Mar 30, 2010 at 12:28 PM, Andreas Henriksson <andreas@fatal.se> wrote:
> > You updated the kernel header include/linux/netfilter/x_tables.h
> > in torvalds/linux-2.6.git commit 42107f5009da223daa800d6da6904d77297ae829
> > with the comment "Use ALIGN() macro while I'm at it for same types.".
> >
> > When this header was synced into iproute2 the build broke because the
> > ALIGN macro apparently only is defined in kernel headers.
> >
> > (For iproute2 the problem was introduced in
> > 8ecdcce08319d0e39b0d32c1d17db3f69d85a35c and found by Stephen
> > and worked around in 609ceb807deba8e23 and edaaa11e5a3cf2c9c1a39)
> >
> > I'm guessing the problem in the iproute2 header sync is just a heads
> > up for what's going to happen when distributions updates their
> > system headers to match linux 2.6.33.
> >
> >
> > Could someone who knows how the userspace version of the kernel
> > headers are generated please find a suitable solution?
> 
> We can export ALIGN to userspace, but the name is so generic,
> so it's not clear what breakage more risky.

Right.

> XT_ALIGN is a macro so breakage will appear only when it's used,
> not when header is included directly or indirectly.
> 
> We have tc, iptables, both carry their own copy of headers, what else?
> 
> Right now, I'd say, do nothing, and iptables will carry fixlet as in tc,
> eventually.

Why should every user-space consumer have to fix this up?  We've been
through this with ethtool.h in the past (wrong type names); please don't
repeat that mistake.

Note that <linux/kernel.h> is exported and could be changed to define a
macro named e.g. __KERNEL_ALIGN() for user-space.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: XT_ALIGN changed to use ALIGN breaks iproute2
  2010-03-30 15:01   ` Ben Hutchings
@ 2010-03-30 15:29     ` Stephen Hemminger
  2010-04-01 10:50       ` Patrick McHardy
  0 siblings, 1 reply; 5+ messages in thread
From: Stephen Hemminger @ 2010-03-30 15:29 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: Alexey Dobriyan, Andreas Henriksson, Patrick McHardy, jamal, netdev

On Tue, 30 Mar 2010 16:01:18 +0100
Ben Hutchings <bhutchings@solarflare.com> wrote:

> On Tue, 2010-03-30 at 16:15 +0300, Alexey Dobriyan wrote:
> > On Tue, Mar 30, 2010 at 12:28 PM, Andreas Henriksson <andreas@fatal.se> wrote:
> > > You updated the kernel header include/linux/netfilter/x_tables.h
> > > in torvalds/linux-2.6.git commit 42107f5009da223daa800d6da6904d77297ae829
> > > with the comment "Use ALIGN() macro while I'm at it for same types.".
> > >
> > > When this header was synced into iproute2 the build broke because the
> > > ALIGN macro apparently only is defined in kernel headers.
> > >
> > > (For iproute2 the problem was introduced in
> > > 8ecdcce08319d0e39b0d32c1d17db3f69d85a35c and found by Stephen
> > > and worked around in 609ceb807deba8e23 and edaaa11e5a3cf2c9c1a39)
> > >
> > > I'm guessing the problem in the iproute2 header sync is just a heads
> > > up for what's going to happen when distributions updates their
> > > system headers to match linux 2.6.33.
> > >
> > >
> > > Could someone who knows how the userspace version of the kernel
> > > headers are generated please find a suitable solution?
> > 
> > We can export ALIGN to userspace, but the name is so generic,
> > so it's not clear what breakage more risky.
> 

I put a hack in m_xt.c to keep iproute2 building.
But this is a temporary workaround until you guys figure out the
right answer.

-- 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: XT_ALIGN changed to use ALIGN breaks iproute2
  2010-03-30 15:29     ` Stephen Hemminger
@ 2010-04-01 10:50       ` Patrick McHardy
  0 siblings, 0 replies; 5+ messages in thread
From: Patrick McHardy @ 2010-04-01 10:50 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Ben Hutchings, Alexey Dobriyan, Andreas Henriksson, jamal, netdev

Stephen Hemminger wrote:
> On Tue, 30 Mar 2010 16:01:18 +0100
> Ben Hutchings <bhutchings@solarflare.com> wrote:
> 
>> On Tue, 2010-03-30 at 16:15 +0300, Alexey Dobriyan wrote:
>>> On Tue, Mar 30, 2010 at 12:28 PM, Andreas Henriksson <andreas@fatal.se> wrote:
>>>> You updated the kernel header include/linux/netfilter/x_tables.h
>>>> in torvalds/linux-2.6.git commit 42107f5009da223daa800d6da6904d77297ae829
>>>> with the comment "Use ALIGN() macro while I'm at it for same types.".
>>>>
>>>> When this header was synced into iproute2 the build broke because the
>>>> ALIGN macro apparently only is defined in kernel headers.
>>>>
>>>> (For iproute2 the problem was introduced in
>>>> 8ecdcce08319d0e39b0d32c1d17db3f69d85a35c and found by Stephen
>>>> and worked around in 609ceb807deba8e23 and edaaa11e5a3cf2c9c1a39)
>>>>
>>>> I'm guessing the problem in the iproute2 header sync is just a heads
>>>> up for what's going to happen when distributions updates their
>>>> system headers to match linux 2.6.33.
>>>>
>>>>
>>>> Could someone who knows how the userspace version of the kernel
>>>> headers are generated please find a suitable solution?
>>> We can export ALIGN to userspace, but the name is so generic,
>>> so it's not clear what breakage more risky.
> 
> I put a hack in m_xt.c to keep iproute2 building.
> But this is a temporary workaround until you guys figure out the
> right answer.

I can't think of anything but to restore the XT_ALIGN macro.
We could add a XT_ALIGN definition to xtables.h, but that might
still leave problems for other users.

Alexey, do you have any better suggestions?


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-04-01 10:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-30  9:28 XT_ALIGN changed to use ALIGN breaks iproute2 Andreas Henriksson
2010-03-30 13:15 ` Alexey Dobriyan
2010-03-30 15:01   ` Ben Hutchings
2010-03-30 15:29     ` Stephen Hemminger
2010-04-01 10:50       ` Patrick McHardy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.