linux-sg2042/include/linux/netfilter
Daniel Borkmann 62da98656b netfilter: nf_conntrack: make nf_ct_zone_dflt built-in
Fengguang reported, that some randconfig generated the following linker
issue with nf_ct_zone_dflt object involved:

  [...]
  CC      init/version.o
  LD      init/built-in.o
  net/built-in.o: In function `ipv4_conntrack_defrag':
  nf_defrag_ipv4.c:(.text+0x93e95): undefined reference to `nf_ct_zone_dflt'
  net/built-in.o: In function `ipv6_defrag':
  nf_defrag_ipv6_hooks.c:(.text+0xe3ffe): undefined reference to `nf_ct_zone_dflt'
  make: *** [vmlinux] Error 1

Given that configurations exist where we have a built-in part, which is
accessing nf_ct_zone_dflt such as the two handlers nf_ct_defrag_user()
and nf_ct6_defrag_user(), and a part that configures nf_conntrack as a
module, we must move nf_ct_zone_dflt into a fixed, guaranteed built-in
area when netfilter is configured in general.

Therefore, split the more generic parts into a common header under
include/linux/netfilter/ and move nf_ct_zone_dflt into the built-in
section that already holds parts related to CONFIG_NF_CONNTRACK in the
netfilter core. This fixes the issue on my side.

Fixes: 308ac9143e ("netfilter: nf_conntrack: push zone object into functions")
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-09-02 16:32:56 -07:00
..
ipset netfilter: ipset: Fix coding styles reported by checkpatch.pl 2015-06-14 10:40:18 +02:00
nf_conntrack_amanda.h
nf_conntrack_common.h netfilter: Remove extern from function prototypes 2013-09-26 14:48:15 -07:00
nf_conntrack_dccp.h
nf_conntrack_ftp.h UAPI: (Scripted) Disintegrate include/linux/netfilter 2012-10-09 09:48:54 +01:00
nf_conntrack_h323.h netfilter: Remove extern from function prototypes 2013-09-26 14:48:15 -07:00
nf_conntrack_h323_asn1.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
nf_conntrack_h323_types.h
nf_conntrack_irc.h
nf_conntrack_pptp.h
nf_conntrack_proto_gre.h netfilter: nf_conntrack: flush net_gre->keymap_list only from gre helper 2014-04-08 10:56:12 +02:00
nf_conntrack_sane.h
nf_conntrack_sip.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2013-10-04 13:26:38 -04:00
nf_conntrack_snmp.h
nf_conntrack_tcp.h UAPI: (Scripted) Disintegrate include/linux/netfilter 2012-10-09 09:48:54 +01:00
nf_conntrack_tftp.h
nf_conntrack_zones_common.h netfilter: nf_conntrack: make nf_ct_zone_dflt built-in 2015-09-02 16:32:56 -07:00
nfnetlink.h netfilter: nfnetlink: add rcu_dereference_protected() helpers 2014-02-25 11:29:21 +01:00
nfnetlink_acct.h netfilter: nfacct: per network namespace support 2015-08-07 11:50:56 +02:00
x_tables.h netfilter: add and use jump label for xt_tee 2015-07-15 18:18:06 +02:00
xt_hashlimit.h UAPI: (Scripted) Disintegrate include/linux/netfilter 2012-10-09 09:48:54 +01:00
xt_physdev.h UAPI: (Scripted) Disintegrate include/linux/netfilter 2012-10-09 09:48:54 +01:00