From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Hutchings Subject: Re: XT_ALIGN changed to use ALIGN breaks iproute2 Date: Tue, 30 Mar 2010 16:01:18 +0100 Message-ID: <1269961278.2174.11.camel@achroite.uk.solarflarecom.com> References: <20100330092829.GA3106@amd64.fatal.se> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Andreas Henriksson , Patrick McHardy , Stephen Hemminger , jamal , netdev@vger.kernel.org To: Alexey Dobriyan Return-path: Received: from mail.solarflare.com ([216.237.3.220]:2455 "EHLO exchange.solarflare.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754141Ab0C3PBV (ORCPT ); Tue, 30 Mar 2010 11:01:21 -0400 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 2010-03-30 at 16:15 +0300, Alexey Dobriyan wrote: > On Tue, Mar 30, 2010 at 12:28 PM, Andreas Henriksson 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 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.