lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 9 Apr 2022 18:17:15 +0800 From: kernel test robot <lkp@...el.com> To: Vladimir Oltean <vladimir.oltean@....com>, netdev@...r.kernel.org Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org, Jakub Kicinski <kuba@...nel.org>, Florian Fainelli <f.fainelli@...il.com>, Andrew Lunn <andrew@...n.ch>, Vivien Didelot <vivien.didelot@...il.com>, Vladimir Oltean <olteanv@...il.com>, UNGLinuxDriver@...rochip.com, Paolo Abeni <pabeni@...hat.com>, Roopa Prabhu <roopa@...dia.com>, Nikolay Aleksandrov <nikolay@...dia.com>, Jiri Pirko <jiri@...dia.com>, Ido Schimmel <idosch@...dia.com>, Tobias Waldekranz <tobias@...dekranz.com>, Mattias Forsblad <mattias.forsblad@...il.com> Subject: Re: [PATCH net-next 6/6] net: bridge: avoid uselessly making offloaded ports promiscuous Hi Vladimir, I love your patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Vladimir-Oltean/Disable-host-flooding-for-DSA-ports-under-a-bridge/20220409-041556 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git e8bd70250a821edb541c3abe1eacdad9f8dc7adf config: x86_64-randconfig-a003 (https://download.01.org/0day-ci/archive/20220409/202204091856.0PBgeBSa-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 893e1c18b98d8bbc7b8d7d22cc2c348f65c72ad9) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/2b24e24c704fa129c753dbc8fb764c95f4a3562c git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Vladimir-Oltean/Disable-host-flooding-for-DSA-ports-under-a-bridge/20220409-041556 git checkout 2b24e24c704fa129c753dbc8fb764c95f4a3562c # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/bridge/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@...el.com> All errors (new ones prefixed by >>): >> net/bridge/br_if.c:145:10: error: no member named 'offload_count' in 'struct net_bridge_port' if (p->offload_count) { ~ ^ 1 error generated. vim +145 net/bridge/br_if.c 129 130 /* When a port is added or removed or when certain port flags 131 * change, this function is called to automatically manage 132 * promiscuity setting of all the bridge ports. We are always called 133 * under RTNL so can skip using rcu primitives. 134 */ 135 void br_manage_promisc(struct net_bridge *br) 136 { 137 struct net_bridge_port *p; 138 139 list_for_each_entry(p, &br->port_list, list) { 140 /* Offloaded ports have a separate address database for 141 * forwarding, which is managed through switchdev and not 142 * through dev_uc_add(), so the promiscuous concept makes no 143 * sense for them. Avoid updating promiscuity in that case. 144 */ > 145 if (p->offload_count) { 146 br_port_clear_promisc(p); 147 continue; 148 } 149 150 /* If bridge is promiscuous, unconditionally place all ports 151 * in promiscuous mode too. This allows the bridge device to 152 * locally receive all unknown traffic. 153 */ 154 if (br->dev->flags & IFF_PROMISC) { 155 br_port_set_promisc(p); 156 continue; 157 } 158 159 /* If vlan filtering is disabled, place all ports in 160 * promiscuous mode. 161 */ 162 if (!br_vlan_enabled(br->dev)) { 163 br_port_set_promisc(p); 164 continue; 165 } 166 167 /* If the number of auto-ports is <= 1, then all other ports 168 * will have their output configuration statically specified 169 * through fdbs. Since ingress on the auto-port becomes 170 * forwarding/egress to other ports and egress configuration is 171 * statically known, we can say that ingress configuration of 172 * the auto-port is also statically known. 173 * This lets us disable promiscuous mode and write this config 174 * to hw. 175 */ 176 if (br->auto_cnt == 0 || 177 (br->auto_cnt == 1 && br_auto_port(p))) 178 br_port_clear_promisc(p); 179 else 180 br_port_set_promisc(p); 181 } 182 } 183 -- 0-DAY CI Kernel Test Service https://01.org/lkp
Powered by blists - more mailing lists