From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick McHardy Subject: Re: [PATCH 1/1] netfilter: nf_ct_tcp: pack nf_ct_tcp_flags to match user space Date: Mon, 15 Mar 2010 17:57:32 +0100 Message-ID: <4B9E66FC.10303@trash.net> References: <1268157924-4879-1-git-send-email-ljaenicke@innominate.com> <1268157924-4879-2-git-send-email-ljaenicke@innominate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: netfilter-devel@vger.kernel.org To: Lutz Jaenicke Return-path: Received: from stinky.trash.net ([213.144.137.162]:47277 "EHLO stinky.trash.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965417Ab0COQ5d (ORCPT ); Mon, 15 Mar 2010 12:57:33 -0400 In-Reply-To: <1268157924-4879-2-git-send-email-ljaenicke@innominate.com> Sender: netfilter-devel-owner@vger.kernel.org List-ID: Lutz Jaenicke wrote: > On some platforms (here: Intel IXP4xx ARM big endian) > sizeof(struct nf_ct_tcp_flags) evaluates to 4 bytes while in the user > space code 2 bytes is hard coded. > Add "__attribute__ ((__packed__))" to enforce matching structure > sizes. > > Signed-off-by: Lutz Jaenicke > --- > include/linux/netfilter/nf_conntrack_tcp.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/include/linux/netfilter/nf_conntrack_tcp.h b/include/linux/netfilter/nf_conntrack_tcp.h > index 6e135f9..9d4cf26 100644 > --- a/include/linux/netfilter/nf_conntrack_tcp.h > +++ b/include/linux/netfilter/nf_conntrack_tcp.h > @@ -42,7 +42,7 @@ enum tcp_conntrack { > struct nf_ct_tcp_flags { > __u8 flags; > __u8 mask; > -}; > +} __attribute__ ((packed)); I would prefer to fix userspace to use sizeof(...) instead of using packed structs in the kernel. AFAICT, that should also work on all architectures.