Hi Florian, I love your patch! Perhaps something to improve: [auto build test WARNING on v4.16-rc4] [also build test WARNING on next-20180319] [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/Florian-Westphal/netfilter-nf_tables-permit-second-nat-hook-if-colliding-hook-is-going-away/20180319-161221 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> net/netfilter/nf_tables_api.c:92:6: sparse: symbol 'nf_tables_allow_nat_conflict' was not declared. Should it be static? net/netfilter/nf_tables_api.c:1242:31: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] <asn:3>* @@ got sn:3>* @@ net/netfilter/nf_tables_api.c:1242:31: expected struct nft_stats [noderef] <asn:3>* net/netfilter/nf_tables_api.c:1242:31: got void * net/netfilter/nf_tables_api.c:1245:31: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] <asn:3>* @@ got sn:3>* @@ net/netfilter/nf_tables_api.c:1245:31: expected struct nft_stats [noderef] <asn:3>* net/netfilter/nf_tables_api.c:1245:31: got void * net/netfilter/nf_tables_api.c:1249:31: sparse: incorrect type in return expression (different address spaces) @@ expected struct nft_stats [noderef] <asn:3>* @@ got sn:3>* @@ net/netfilter/nf_tables_api.c:1249:31: expected struct nft_stats [noderef] <asn:3>* net/netfilter/nf_tables_api.c:1249:31: got void * net/netfilter/nf_tables_api.c:1272:28: sparse: cast between address spaces (<asn:3>-><asn:4>) net/netfilter/nf_tables_api.c:1272:28: sparse: incompatible types in comparison expression (different address spaces) net/netfilter/nf_tables_api.c:1526:23: sparse: incorrect type in assignment (different address spaces) @@ expected struct nft_stats *stats @@ got struct nft_stats struct nft_stats *stats @@ net/netfilter/nf_tables_api.c:1534:29: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:3>*__pdata @@ got [noderef] <asn:3>*__pdata @@ net/netfilter/nf_tables_api.c:1538:38: sparse: incorrect type in assignment (different address spaces) @@ expected struct nft_stats [noderef] <asn:3>*stats @@ got [noderef] <asn:3>*stats @@ net/netfilter/nf_tables_api.c:1552:37: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:3>*__pdata @@ got [noderef] <asn:3>*__pdata @@ net/netfilter/nf_tables_api.c:4393:19: sparse: symbol 'nf_tables_obj_lookup_byhandle' was not declared. Should it be static? net/netfilter/nf_tables_api.c:4422:41: sparse: Variable length array is used. net/netfilter/nf_tables_api.c:4915:22: sparse: symbol 'nf_tables_flowtable_lookup_byhandle' was not declared. Should it be static? Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html