tree: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git bpf head: 772b164e17bd40659b5a45e26389e4d9418162e4 commit: 772b164e17bd40659b5a45e26389e4d9418162e4 [9/9] mac80211: support bpf monitor filter config: i386-randconfig-x077-201715 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 772b164e17bd40659b5a45e26389e4d9418162e4 # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/srcu.h:33:0, from include/linux/notifier.h:15, from include/linux/memory_hotplug.h:6, from include/linux/mmzone.h:749, from include/linux/gfp.h:5, from include/linux/slab.h:14, from net//mac80211/iface.c:15: net//mac80211/iface.c: In function 'ieee80211_teardown_sdata': >> net//mac80211/iface.c:1113:56: error: 'struct ieee80211_if_mntr' has no member named 'filter' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^ include/linux/rcupdate.h:579:12: note: in definition of macro '__rcu_dereference_protected' ((typeof(*p) __force __kernel *)(p)); \ ^ include/linux/rtnetlink.h:73:2: note: in expansion of macro 'rcu_dereference_protected' rcu_dereference_protected(p, lockdep_rtnl_is_held()) ^~~~~~~~~~~~~~~~~~~~~~~~~ >> net//mac80211/iface.c:1113:26: note: in expansion of macro 'rtnl_dereference' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^~~~~~~~~~~~~~~~ >> net//mac80211/iface.c:1113:56: error: 'struct ieee80211_if_mntr' has no member named 'filter' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^ include/linux/rcupdate.h:579:35: note: in definition of macro '__rcu_dereference_protected' ((typeof(*p) __force __kernel *)(p)); \ ^ include/linux/rtnetlink.h:73:2: note: in expansion of macro 'rcu_dereference_protected' rcu_dereference_protected(p, lockdep_rtnl_is_held()) ^~~~~~~~~~~~~~~~~~~~~~~~~ >> net//mac80211/iface.c:1113:26: note: in expansion of macro 'rtnl_dereference' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^~~~~~~~~~~~~~~~ In file included from include/asm-generic/bug.h:4:0, from arch/x86/include/asm/bug.h:35, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/gfp.h:4, from include/linux/slab.h:14, from net//mac80211/iface.c:15: net//mac80211/iface.c:1115:33: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:333:17: note: in definition of macro 'WRITE_ONCE' union { typeof(x) __val; char __c[1]; } __u = \ ^ >> net//mac80211/iface.c:1115:3: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/iface.c:1115:33: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:334:30: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^ >> net//mac80211/iface.c:1115:3: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/iface.c:1115:33: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:335:22: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/iface.c:1115:3: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/iface.c:1115:33: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:335:42: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/iface.c:1115:3: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ -- In file included from include/linux/rbtree.h:34:0, from include/linux/mm_types.h:9, from include/linux/kmemcheck.h:4, from include/linux/skbuff.h:18, from include/linux/if_ether.h:23, from include/linux/ieee80211.h:21, from net//mac80211/cfg.c:11: net//mac80211/cfg.c: In function 'ieee80211_set_mon_options': >> net//mac80211/cfg.c:110:56: error: 'struct ieee80211_if_mntr' has no member named 'filter' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^ include/linux/rcupdate.h:579:12: note: in definition of macro '__rcu_dereference_protected' ((typeof(*p) __force __kernel *)(p)); \ ^ include/linux/rtnetlink.h:73:2: note: in expansion of macro 'rcu_dereference_protected' rcu_dereference_protected(p, lockdep_rtnl_is_held()) ^~~~~~~~~~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:110:26: note: in expansion of macro 'rtnl_dereference' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:110:56: error: 'struct ieee80211_if_mntr' has no member named 'filter' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^ include/linux/rcupdate.h:579:35: note: in definition of macro '__rcu_dereference_protected' ((typeof(*p) __force __kernel *)(p)); \ ^ include/linux/rtnetlink.h:73:2: note: in expansion of macro 'rcu_dereference_protected' rcu_dereference_protected(p, lockdep_rtnl_is_held()) ^~~~~~~~~~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:110:26: note: in expansion of macro 'rtnl_dereference' struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); ^~~~~~~~~~~~~~~~ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/ieee80211.h:20, from net//mac80211/cfg.c:11: net//mac80211/cfg.c:113:34: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:333:17: note: in definition of macro 'WRITE_ONCE' union { typeof(x) __val; char __c[1]; } __u = \ ^ >> net//mac80211/cfg.c:113:4: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/cfg.c:113:34: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:334:30: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^ >> net//mac80211/cfg.c:113:4: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/cfg.c:113:34: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:335:22: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/cfg.c:113:4: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/cfg.c:113:34: error: 'struct ieee80211_if_mntr' has no member named 'filter' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^ include/linux/compiler.h:335:42: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/cfg.c:113:4: note: in expansion of macro 'RCU_INIT_POINTER' RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); ^~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:333:17: note: in definition of macro 'WRITE_ONCE' union { typeof(x) __val; char __c[1]; } __u = \ ^ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:334:30: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:334:35: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:335:22: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:335:42: note: in definition of macro 'WRITE_ONCE' __write_once_size(&(x), __u.__c, sizeof(x)); \ ^ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/ieee80211.h:20, from net//mac80211/cfg.c:11: net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:509:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:529:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:21: note: in expansion of macro '__native_word' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~ arch/x86/include/asm/barrier.h:64:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:509:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:529:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:21: note: in expansion of macro '__native_word' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~ arch/x86/include/asm/barrier.h:64:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:509:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:529:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:21: note: in expansion of macro '__native_word' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~ arch/x86/include/asm/barrier.h:64:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:509:19: note: in definition of macro '__compiletime_assert' bool __cond = !(condition); \ ^~~~~~~~~ include/linux/compiler.h:529:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:2: note: in expansion of macro 'compiletime_assert' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~~~~~~ include/linux/compiler.h:532:21: note: in expansion of macro '__native_word' compiletime_assert(__native_word(t), \ ^~~~~~~~~~~~~ arch/x86/include/asm/barrier.h:64:2: note: in expansion of macro 'compiletime_assert_atomic_type' compiletime_assert_atomic_type(*p); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/ieee80211.h:20, from net//mac80211/cfg.c:11: net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:333:17: note: in definition of macro 'WRITE_ONCE' union { typeof(x) __val; char __c[1]; } __u = \ ^ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:334:30: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:334:35: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:25: note: in expansion of macro 'RCU_INITIALIZER' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~ >> net//mac80211/cfg.c:115:4: note: in expansion of macro 'rcu_assign_pointer' rcu_assign_pointer(sdata->u.mntr.filter, ^~~~~~~~~~~~~~~~~~ net//mac80211/cfg.c:115:36: error: 'struct ieee80211_if_mntr' has no member named 'filter' rcu_assign_pointer(sdata->u.mntr.filter, ^ include/linux/compiler.h:334:35: note: in definition of macro 'WRITE_ONCE' { .__val = (__force typeof(x)) (val) }; \ ^~~ include/asm-generic/barrier.h:157:33: note: in expansion of macro '__smp_store_release' #define smp_store_release(p, v) __smp_store_release(p, v) ^~~~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:3: note: in expansion of macro 'smp_store_release' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~~~ include/linux/rcupdate.h:632:25: note: in expansion of macro 'RCU_INITIALIZER' smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \ ^~~~~~~~~~~~~~~ vim +1113 net//mac80211/iface.c 1107 __skb_queue_purge(&sdata->fragments[i].skb_list); 1108 sdata->fragment_next = 0; 1109 1110 if (ieee80211_vif_is_mesh(&sdata->vif)) { 1111 ieee80211_mesh_teardown_sdata(sdata); 1112 } else if (sdata->vif.type == NL80211_IFTYPE_MONITOR) { > 1113 struct bpf_prog *old = rtnl_dereference(sdata->u.mntr.filter); 1114 > 1115 RCU_INIT_POINTER(sdata->u.mntr.filter, NULL); 1116 if (old) 1117 bpf_prog_put(old); 1118 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip