Hi Pablo! I hit the following build breakage on net with the config attached. GCC 9, doesn't seem like your just-posted series fixes this? From a quick scan it doesn't seem like your just posted series fixes that, but I didn't actually test (the threading is broken and patchwork CC include/net/netfilter/nf_tables_offload.h.s In file included from ../include/net/netfilter/nf_tables.h:8, from ./../include/net/netfilter/nf_tables_offload.h:5, from : ../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’ 46 | return par->state->net; | ^~ In file included from ../include/net/netfilter/nf_tables.h:8, from ./../include/net/netfilter/nf_tables_offload.h:5, from : ../include/linux/netfilter/x_tables.h: At top level: ../include/linux/netfilter/x_tables.h:449:64: error: unknown type name ‘nf_hookfn’ 449 | struct nf_hook_ops *xt_hook_ops_alloc(const struct xt_table *, nf_hookfn *); | ^~~~~~~~~ In file included from ../include/net/netfilter/nf_tables.h:12, from ./../include/net/netfilter/nf_tables_offload.h:5, from : ../include/net/netfilter/nf_flow_table.h:19:2: error: unknown type name ‘nf_hookfn’ 19 | nf_hookfn *hook; | ^~~~~~~~~ In file included from ./../include/net/netfilter/nf_tables_offload.h:5, from : ../include/net/netfilter/nf_tables.h:929:2: error: unknown type name ‘nf_hookfn’ 929 | nf_hookfn *hooks[NF_MAX_HOOKS]; | ^~~~~~~~~ ../include/net/netfilter/nf_tables.h:957:22: error: field ‘ops’ has incomplete type 957 | struct nf_hook_ops ops; | ^~~ ../include/net/netfilter/nf_tables.h: In function ‘nft_gencursor_next’: ../include/net/netfilter/nf_tables.h:1223:12: error: ‘const struct net’ has no member named ‘nft’ 1223 | return net->nft.gencursor + 1 == 1 ? 1 : 0; | ^~ In file included from ../include/linux/kernel.h:11, from ../include/net/flow_offload.h:4, from ./../include/net/netfilter/nf_tables_offload.h:4, from : ../include/net/netfilter/nf_tables.h: In function ‘nft_genmask_cur’: ../include/net/netfilter/nf_tables.h:1234:27: error: ‘const struct net’ has no member named ‘nft’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~ ../include/linux/compiler.h:256:17: note: in definition of macro ‘__READ_ONCE’ 256 | union { typeof(x) __val; char __c[1]; } __u; \ | ^ ../include/net/netfilter/nf_tables.h:1234:14: note: in expansion of macro ‘READ_ONCE’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~~~~~~~~ ../include/net/netfilter/nf_tables.h:1234:27: error: ‘const struct net’ has no member named ‘nft’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~ ../include/linux/compiler.h:258:22: note: in definition of macro ‘__READ_ONCE’ 258 | __read_once_size(&(x), __u.__c, sizeof(x)); \ | ^ ../include/net/netfilter/nf_tables.h:1234:14: note: in expansion of macro ‘READ_ONCE’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~~~~~~~~ ../include/net/netfilter/nf_tables.h:1234:27: error: ‘const struct net’ has no member named ‘nft’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~ ../include/linux/compiler.h:258:42: note: in definition of macro ‘__READ_ONCE’ 258 | __read_once_size(&(x), __u.__c, sizeof(x)); \ | ^ ../include/net/netfilter/nf_tables.h:1234:14: note: in expansion of macro ‘READ_ONCE’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~~~~~~~~ ../include/net/netfilter/nf_tables.h:1234:27: error: ‘const struct net’ has no member named ‘nft’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~ ../include/linux/compiler.h:260:30: note: in definition of macro ‘__READ_ONCE’ 260 | __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \ | ^ ../include/net/netfilter/nf_tables.h:1234:14: note: in expansion of macro ‘READ_ONCE’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~~~~~~~~ ../include/net/netfilter/nf_tables.h:1234:27: error: ‘const struct net’ has no member named ‘nft’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~ ../include/linux/compiler.h:260:50: note: in definition of macro ‘__READ_ONCE’ 260 | __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \ | ^ ../include/net/netfilter/nf_tables.h:1234:14: note: in expansion of macro ‘READ_ONCE’ 1234 | return 1 << READ_ONCE(net->nft.gencursor); | ^~~~~~~~~ ../scripts/Makefile.build:304: recipe for target 'include/net/netfilter/nf_tables_offload.h.s' failed make[2]: *** [include/net/netfilter/nf_tables_offload.h.s] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/jkicinski/devel/linux/Makefile:1077: recipe for target 'include' failed make[1]: *** [include] Error 2 make[1]: Leaving directory '/home/jkicinski/devel/linux/build_randconfig' Makefile:179: recipe for target 'sub-make' failed make: *** [sub-make] Error 2