Thread (2 messages) flat view 2 messages, 2 authors, 2015-11-11

Re: [PATCH] netfilter: fix xt_TEE and xt_TPROXY dependencies

From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: 2015-11-11 13:19:11
Also in: lkml, netfilter-devel

On Tue, Nov 10, 2015 at 01:22:15PM +0100, Arnd Bergmann wrote:
Kconfig is too smart for its own good: a Kconfig line that states

	select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES

means that if IP6_NF_IPTABLES is set to 'm', then NF_DEFRAG_IPV6 will
also be set to 'm', regardless of the state of the symbol from which
it is selected. When the xt_TEE driver is built-in and nothing else
forces NF_DEFRAG_IPV6 to be built-in, this causes a link-time error:

net/built-in.o: In function `tee_tg6':
net/netfilter/xt_TEE.c:46: undefined reference to `nf_dup_ipv6'

This works around that behavior by changing the dependency to
'if IP6_NF_IPTABLES != n', which is interpreted as boolean expression
rather than a tristate and causes the NF_DEFRAG_IPV6 symbol to
be built-in as well.

The bug only occurs once in thousands of 'randconfig' builds and
does not really impact real users. From inspecting the other
surrounding Kconfig symbols, I am guessing that NETFILTER_XT_TARGET_TPROXY
and NETFILTER_XT_MATCH_SOCKET have the same issue. If not, this
change should still be harmless.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I have done a few thousand randconfig builds with this applied, and the
problem did not come back, but it is super-rare.

Several people have tried to fix this in the past, but so far
every patch was wrong. Maybe this one is lucky.
Also applied, thanks Arnd!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help