Hi Horatiu, url: https://github.com/0day-ci/linux/commits/Horatiu-Vultur/net-bridge-igmp-Extend-IGMP-query-to-be-per-vlan/20210112-220655 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git c73a45965dd54a10c368191804b9de661eee1007 config: i386-randconfig-m021-20210113 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: net/bridge/br_multicast.c:3866 br_multicast_set_querier() error: we previously assumed 'query' could be null (see line 3850) net/bridge/br_multicast.c:3866 br_multicast_set_querier() warn: maybe use && instead of & vim +/query +3866 net/bridge/br_multicast.c 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3833 int br_multicast_set_querier(struct net_bridge *br, unsigned long val, u16 vid) c5c23260594c5701 Herbert Xu 2012-04-13 3834 { 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3835 struct bridge_mcast_other_query *other_query; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3836 struct bridge_mcast_own_query *query; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3837 struct net_bridge_vlan_group *vg; b00589af3b047363 Linus Lüssing 2013-08-01 3838 unsigned long max_delay; b00589af3b047363 Linus Lüssing 2013-08-01 3839 c5c23260594c5701 Herbert Xu 2012-04-13 3840 val = !!val; c5c23260594c5701 Herbert Xu 2012-04-13 3841 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3842 if (vid == 0) { 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3843 vg = br_vlan_group(br); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3844 if (vg) 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3845 vid = vg->pvid; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3846 } 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3847 c5c23260594c5701 Herbert Xu 2012-04-13 3848 spin_lock_bh(&br->multicast_lock); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3849 query = br_mcast_find_own_query(&br->ip4_own_queries, vid); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 @3850 if (!query) { 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3851 if (br_vlan_enabled(br->dev)) c5c23260594c5701 Herbert Xu 2012-04-13 3852 goto unlock; c5c23260594c5701 Herbert Xu 2012-04-13 3853 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3854 br_mcast_add_queries(br, vid); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3855 } 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3856 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3857 other_query = br_mcast_find_other_query(&br->ip4_other_queries, vid); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3858 if (!other_query) b00589af3b047363 Linus Lüssing 2013-08-01 3859 goto unlock; b00589af3b047363 Linus Lüssing 2013-08-01 3860 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3861 if (!val && query) { ^^^^^ "query" can be NULL. 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3862 br_multicast_stop_querier(br, query, vid); 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3863 goto unlock; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3864 } b00589af3b047363 Linus Lüssing 2013-08-01 3865 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 @3866 if (val & query->enabled) ^^^^^^^^^^^^^^^^^^^^ Smatch suggests that this should be && because I guess "query->enabled" is a boolean. One of the difference between & and && is there are no ordering requirements. 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3867 goto unlock; cc0fdd802859eaeb Linus Lüssing 2013-08-30 3868 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3869 query->enabled = true; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3870 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3871 max_delay = br->multicast_query_response_interval; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3872 if (!timer_pending(&other_query->timer)) 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3873 other_query->delay_time = jiffies + max_delay; 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3874 8d72e3d611eb9514 Horatiu Vultur 2021-01-12 3875 br_multicast_start_querier(br, query, vid); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org _______________________________________________ kbuild mailing list -- kbuild(a)lists.01.org To unsubscribe send an email to kbuild-leave(a)lists.01.org