Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758566Ab0BRRpT (ORCPT ); Thu, 18 Feb 2010 12:45:19 -0500 Received: from stinky.trash.net ([213.144.137.162]:37489 "EHLO stinky.trash.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757342Ab0BRRpR (ORCPT ); Thu, 18 Feb 2010 12:45:17 -0500 Message-ID: <4B7D7CAA.1070605@trash.net> Date: Thu, 18 Feb 2010 18:45:14 +0100 From: Patrick McHardy User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090701) MIME-Version: 1.0 To: Randy Dunlap CC: Stephen Rothwell , linux-next@vger.kernel.org, LKML , netfilter-devel@vger.kernel.org, Netdev Subject: Re: linux-next: Tree for February 18 (netfilter) References: <20100218204937.54a613d2.sfr@canb.auug.org.au> <4B7D70D0.9090003@oracle.com> <4B7D72FF.4010401@trash.net> <4B7D7617.9070600@oracle.com> In-Reply-To: <4B7D7617.9070600@oracle.com> X-Enigmail-Version: 0.95.0 Content-Type: multipart/mixed; boundary="------------000008030609080801050302" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4516 Lines: 116 This is a multi-part message in MIME format. --------------000008030609080801050302 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Randy Dunlap wrote: > On 02/18/10 09:03, Patrick McHardy wrote: >> Randy Dunlap wrote: >>> On 02/18/10 01:49, Stephen Rothwell wrote: >>>> Hi all, >>>> >>>> Changes since 20100217: >>>> >>>> The net tree lost its build failure but gained a conflict against the kvm >>>> tree. >>> >>> include/net/netfilter/nf_conntrack.h:94: error: field 'ct_general' has incomplete type >>> include/net/netfilter/nf_conntrack.h:178: error: 'const struct sk_buff' has no member named 'nfct' >>> include/net/netfilter/nf_conntrack.h:185: error: implicit declaration of function 'nf_conntrack_put' >>> include/net/netfilter/nf_conntrack.h:294: error: 'const struct sk_buff' has no member named 'nfct' >>> net/ipv4/netfilter/nf_defrag_ipv4.c:45: error: 'struct sk_buff' has no member named 'nfct' >>> net/ipv4/netfilter/nf_defrag_ipv4.c:46: error: 'struct sk_buff' has no member named 'nfct' >>> >>> CONFIG_NF_CONNTRACK is not enabled >>> but CONFIG_NF_DEFRAG_IPV4=y. It is "select"ed by >>> NETFILTER_XT_MATCH_SOCKET and NETFILTER_XT_TARGET_TPROXY, >>> both of which are enabled. >>> >>> Hm, NETFILTER_XT_MATCH_SOCKET depends on !NF_CONNTRACK || NF_CONNTRACK. >>> Maybe NETFILTER_XT_TARGET_TPROXY needs to do that also. No, that would >>> go against that config option's help text: >> No, the problem is use of skb->nfct without CONFIG_NF_CONNTRACK. >> >> This patch should fix it. > > Nope: > > In file included from /lnx/src/NEXT/linux-next-20100218/include/net/netfilter/nf_conntrack_extend.h:4, > from /lnx/src/NEXT/linux-next-20100218/include/net/netfilter/nf_conntrack_zones.h:4, > from /lnx/src/NEXT/linux-next-20100218/net/ipv4/netfilter/nf_defrag_ipv4.c:19: > /lnx/src/NEXT/linux-next-20100218/include/net/netfilter/nf_conntrack.h:94: error: field 'ct_general' has incomplete type > /lnx/src/NEXT/linux-next-20100218/include/net/netfilter/nf_conntrack.h: In function 'nf_ct_get': Ah I see, we must not include nf_conntrack.h at all. Eventually we need to fix this properly by making nf_conntrack.h usable even with NF_CONNTRACK=n, but that's a more complicated change. This patch works fine for me using your config: --------------000008030609080801050302 Content-Type: text/plain; name="x" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="x" diff --git a/include/net/netfilter/nf_conntrack_zones.h b/include/net/netfilter/nf_conntrack_zones.h index 0bbb2bd..034efe8 100644 --- a/include/net/netfilter/nf_conntrack_zones.h +++ b/include/net/netfilter/nf_conntrack_zones.h @@ -1,10 +1,11 @@ #ifndef _NF_CONNTRACK_ZONES_H #define _NF_CONNTRACK_ZONES_H -#include - #define NF_CT_DEFAULT_ZONE 0 +#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) +#include + struct nf_conntrack_zone { u16 id; }; @@ -20,4 +21,5 @@ static inline u16 nf_ct_zone(const struct nf_conn *ct) return NF_CT_DEFAULT_ZONE; } +#endif /* CONFIG_NF_CONNTRACK || CONFIG_NF_CONNTRACK_MODULE */ #endif /* _NF_CONNTRACK_ZONES_H */ diff --git a/net/ipv4/netfilter/nf_defrag_ipv4.c b/net/ipv4/netfilter/nf_defrag_ipv4.c index d498a70..cb763ae 100644 --- a/net/ipv4/netfilter/nf_defrag_ipv4.c +++ b/net/ipv4/netfilter/nf_defrag_ipv4.c @@ -16,9 +16,11 @@ #include #include -#include #include +#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) #include +#endif +#include /* Returns new sk_buff, or NULL */ static int nf_ct_ipv4_gather_frags(struct sk_buff *skb, u_int32_t user) @@ -42,8 +44,10 @@ static enum ip_defrag_users nf_ct_defrag_user(unsigned int hooknum, { u16 zone = NF_CT_DEFAULT_ZONE; +#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) if (skb->nfct) zone = nf_ct_zone((struct nf_conn *)skb->nfct); +#endif #ifdef CONFIG_BRIDGE_NETFILTER if (skb->nf_bridge && --------------000008030609080801050302-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/