Re: [PATCH nf-next,v2 2/3] netfilter: add struct nf_nat_hook and use it
Hi Pablo, I love your patch! Yet something to improve: [auto build test ERROR on nf-next/master] [also build test ERROR on v4.17-rc5] [cannot apply to nf/master next-20180516] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Pablo-Neira-Ayuso/netfilter-add-struct-nf_ct_hook-and-use-it/20180515-215248 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master config: i386-randconfig-n0-201819 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/net/netfilter/nf_conntrack_tuple.h:14:0, from include/linux/netfilter/nf_conntrack_proto_gre.h:14, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/linux/netfilter/x_tables.h: In function 'xt_net': >> include/linux/netfilter/x_tables.h:46:19: error: dereferencing pointer to >> incomplete type 'const struct nf_hook_state' return par->state->net; ^~ In file included from include/net/netfilter/nf_conntrack_tuple.h:14:0, from include/linux/netfilter/nf_conntrack_proto_gre.h:14, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/linux/netfilter/x_tables.h: At top level: >> include/linux/netfilter/x_tables.h:450:64: error: unknown type name >> 'nf_hookfn' struct nf_hook_ops *xt_hook_ops_alloc(const struct xt_table *, nf_hookfn *); ^ In file included from include/linux/netfilter/nf_conntrack_proto_gre.h:14:0, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/net/netfilter/nf_conntrack_tuple.h: In function '__nf_ct_tuple_src_equal': >> include/net/netfilter/nf_conntrack_tuple.h:127:10: error: implicit >> declaration of function 'nf_inet_addr_cmp'; did you mean 'inet_addr_type'? >> [-Werror=implicit-function-declaration] return (nf_inet_addr_cmp(>src.u3, >src.u3) && ^~~~ inet_addr_type In file included from include/net/netfilter/nf_nat_core.h:5:0, from net/xfrm/xfrm_policy.c:36: include/net/netfilter/nf_conntrack.h: At top level: >> include/net/netfilter/nf_conntrack.h:59:22: error: field 'ct_general' has >> incomplete type struct nf_conntrack ct_general; ^~ include/net/netfilter/nf_conntrack.h: In function 'nf_ct_get': >> include/net/netfilter/nf_conntrack.h:148:15: error: 'const struct sk_buff' >> has no member named '_nfct' *ctinfo = skb->_nfct & NFCT_INFOMASK; ^~ include/net/netfilter/nf_conntrack.h:150:31: error: 'const struct sk_buff' has no member named '_nfct' return (struct nf_conn *)(skb->_nfct & NFCT_PTRMASK); ^~ include/net/netfilter/nf_conntrack.h: In function 'nf_ct_put': >> include/net/netfilter/nf_conntrack.h:157:2: error: implicit declaration of >> function 'nf_conntrack_put'; did you mean 'nf_ct_put'? >> [-Werror=implicit-function-declaration] nf_conntrack_put(>ct_general); ^~~~ nf_ct_put include/net/netfilter/nf_conntrack.h: In function 'nf_ct_set': >> include/net/netfilter/nf_conntrack.h:316:5: error: 'struct sk_buff' has no >> member named '_nfct' skb->_nfct = (unsigned long)ct | info; ^~ cc1: some warnings being treated as errors vim +148 include/net/netfilter/nf_conntrack.h f8eb24a89a Patrick McHardy2006-11-29 49 ea781f197d Eric Dumazet 2009-03-25 50 struct nf_conn { f330a7fdbe Florian Westphal 2016-08-25 51 /* Usage count in here is 1 for hash table, 1 per skb, b476b72a0f Jesper Dangaard Brouer 2014-03-03 52* plus 1 for any connection(s) we are `master' for b476b72a0f Jesper Dangaard Brouer 2014-03-03 53* a9e419dc7b Florian Westphal 2017-01-23 54* Hint, SKB address this struct and refcnt via skb->_nfct and b476b72a0f Jesper Dangaard Brouer 2014-03-03 55* helpers nf_conntrack_get() and nf_conntrack_put(). b476b72a0f Jesper Dangaard Brouer 2014-03-03 56* Helper nf_ct_put() equals nf_conntrack_put() by dec refcnt, b476b72a0f Jesper Dangaard Brouer 2014-03-03 57* beware nf_ct_get() is different and don't inc refcnt. b476b72a0f Jesper Dangaard Brouer 2014-03-03 58*/ 9fb9cbb108 Yasuyuki Kozakai 2005-11-09 @59 struct nf_conntrack
Re: [PATCH nf-next,v2 2/3] netfilter: add struct nf_nat_hook and use it
Hi Pablo, I love your patch! Yet something to improve: [auto build test ERROR on nf-next/master] [also build test ERROR on v4.17-rc5] [cannot apply to nf/master next-20180516] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Pablo-Neira-Ayuso/netfilter-add-struct-nf_ct_hook-and-use-it/20180515-215248 base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master config: i386-randconfig-s1-201819 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/net/netfilter/nf_conntrack_tuple.h:14:0, from include/linux/netfilter/nf_conntrack_proto_gre.h:14, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/linux/netfilter/x_tables.h: In function 'xt_net': include/linux/netfilter/x_tables.h:46:19: error: dereferencing pointer to incomplete type 'const struct nf_hook_state' return par->state->net; ^~ In file included from include/net/netfilter/nf_conntrack_tuple.h:14:0, from include/linux/netfilter/nf_conntrack_proto_gre.h:14, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/linux/netfilter/x_tables.h: At top level: include/linux/netfilter/x_tables.h:450:64: error: unknown type name 'nf_hookfn' struct nf_hook_ops *xt_hook_ops_alloc(const struct xt_table *, nf_hookfn *); ^ In file included from include/linux/netfilter/nf_conntrack_proto_gre.h:14:0, from include/net/netfilter/nf_conntrack.h:25, from include/net/netfilter/nf_nat_core.h:5, from net/xfrm/xfrm_policy.c:36: include/net/netfilter/nf_conntrack_tuple.h: In function '__nf_ct_tuple_src_equal': >> include/net/netfilter/nf_conntrack_tuple.h:127:10: error: implicit >> declaration of function 'nf_inet_addr_cmp' >> [-Werror=implicit-function-declaration] return (nf_inet_addr_cmp(>src.u3, >src.u3) && ^~~~ In file included from include/net/netfilter/nf_nat_core.h:5:0, from net/xfrm/xfrm_policy.c:36: include/net/netfilter/nf_conntrack.h: At top level: include/net/netfilter/nf_conntrack.h:59:22: error: field 'ct_general' has incomplete type struct nf_conntrack ct_general; ^~ include/net/netfilter/nf_conntrack.h: In function 'nf_ct_get': include/net/netfilter/nf_conntrack.h:148:15: error: 'const struct sk_buff' has no member named '_nfct' *ctinfo = skb->_nfct & NFCT_INFOMASK; ^~ include/net/netfilter/nf_conntrack.h:150:31: error: 'const struct sk_buff' has no member named '_nfct' return (struct nf_conn *)(skb->_nfct & NFCT_PTRMASK); ^~ include/net/netfilter/nf_conntrack.h: In function 'nf_ct_put': >> include/net/netfilter/nf_conntrack.h:157:2: error: implicit declaration of >> function 'nf_conntrack_put' [-Werror=implicit-function-declaration] nf_conntrack_put(>ct_general); ^~~~ include/net/netfilter/nf_conntrack.h: In function 'nf_ct_set': include/net/netfilter/nf_conntrack.h:316:5: error: 'struct sk_buff' has no member named '_nfct' skb->_nfct = (unsigned long)ct | info; ^~ cc1: some warnings being treated as errors vim +/nf_inet_addr_cmp +127 include/net/netfilter/nf_conntrack_tuple.h 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 123 5f2b4c90 Jan Engelhardt 2008-04-14 124 static inline bool __nf_ct_tuple_src_equal(const struct nf_conntrack_tuple *t1, 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 125 const struct nf_conntrack_tuple *t2) 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 126 { b8beedd2 Patrick McHardy 2008-03-25 @127 return (nf_inet_addr_cmp(>src.u3, >src.u3) && 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 128 t1->src.u.all == t2->src.u.all && 380517de Patrick McHardy 2008-01-31 129 t1->src.l3num == t2->src.l3num); 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 130 } 9fb9cbb1 Yasuyuki Kozakai 2005-11-09 131 :: The code at line 127 was first introduced by commit :: b8beedd25d3913d45b8330a08ab88fdf90eb54b8 [NETFILTER]: Add nf_inet_addr_cmp() :: TO: Patrick McHardy:: CC: David S. Miller --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel