All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: David Miller <davem@davemloft.net>
Cc: rostedt@goodmis.org, linux-kernel@vger.kernel.org,
	hidden@balabit.hu, akpm@linux-foundation.org,
	netfilter-devel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH] netfilter: Fix build failure when ipv6 but xt_tproxy is built in
Date: Mon, 04 Apr 2011 15:54:40 +0200	[thread overview]
Message-ID: <4D99CDA0.3030305@trash.net> (raw)
In-Reply-To: <20110329.223536.245392030.davem@davemloft.net>

On 30.03.2011 07:35, David Miller wrote:
> From: Steven Rostedt <rostedt@goodmis.org>
> Date: Tue, 29 Mar 2011 22:13:19 -0400
> 
>> While running ktest.pl doing ranconfigs, the following build error
>> occurred:
> 
> Is sending netfilter patches to the explicitly listed maintainer in
> MAINTAINERS too much to ask Stephen? :-/
> 
> CC:'d
> 
>>
>> net/built-in.o: In function `tproxy_tg6_v1':
>> /home/rostedt/work/autotest/nobackup/linux-test.git/net/netfilter/xt_TPROXY.c:288: undefined reference to `ipv6_find_hdr'
>>
>> This happened because the xt_TPROXY code was compiled into the kernel
>> proper, but the ipv6 netfilter was compiled as a module. The fix is to
>> only enter the code that calls ipv6_find_hdr if ipv6 netfilter is
>> compiled into the kernel, or if it is a module, so is the xt_TPROXY
>> code.

I don't think this is a good fix for the problem since it may lead to
the confusing situation that both TPROXY and ip6tables are enabled,
but TPROXY has no IPv6 support.

I think we should solve this by either adding a Kconfig dependency
on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n) or using ipv6_skip_exthdr()
instead of ipv6_find_hdr().

Krisztian, what do you think?

>>
>> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
>>
>> diff --git a/net/netfilter/xt_TPROXY.c b/net/netfilter/xt_TPROXY.c
>> index dcfd57e..5915f94 100644
>> --- a/net/netfilter/xt_TPROXY.c
>> +++ b/net/netfilter/xt_TPROXY.c
>> @@ -22,7 +22,13 @@
>>  
>>  #include <net/netfilter/ipv4/nf_defrag_ipv4.h>
>>  
>> -#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
>> +/*
>> + * Only include the following if ip6 tables is compiled in
>> + * the kernel, or it is a module and this code is also a module.
>> + */
>> +#if defined(CONFIG_IP6_NF_IPTABLES) || \
>> +	(defined(CONFIG_IP6_NF_IPTABLES_MODULE) && \
>> +	 defined(CONFIG_NETFILTER_XT_TARGET_TPROXY_MODULE))
>>  #define XT_TPROXY_HAVE_IPV6 1
>>  #include <net/if_inet6.h>
>>  #include <net/addrconf.h>
>>
>>
> 


  parent reply	other threads:[~2011-04-04 13:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30  2:13 [PATCH] netfilter: Fix build failure when ipv6 but xt_tproxy is built in Steven Rostedt
2011-03-30  5:35 ` David Miller
2011-03-30 10:18   ` Steven Rostedt
2011-04-04 13:54   ` Patrick McHardy [this message]
2011-04-05 14:43     ` KOVACS Krisztian
2011-04-05 14:49       ` Patrick McHardy
2011-04-06 12:08         ` KOVACS Krisztian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D99CDA0.3030305@trash.net \
    --to=kaber@trash.net \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=hidden@balabit.hu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.