Re: [PATCH net-next 2/3] net: 8021q: fix bridge binding behavior for vlan interfaces
From: kernel test robot
Date: Sat Jul 30 2022 - 15:58:37 EST
Hi Sevinj,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Sevinj-Aghayeva/net-vlan-fix-bridge-binding-behavior-and-add-selftests/20220731-000455
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 63757225a93353bc2ce4499af5501eabdbbf23f9
config: openrisc-randconfig-r031-20220729 (https://download.01.org/0day-ci/archive/20220731/202207310332.cSMhECu3-lkp@xxxxxxxxx/config)
compiler: or1k-linux-gcc (GCC) 12.1.0
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/993166d2a01876dc92807f74b3d72f63d25c8227
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Sevinj-Aghayeva/net-vlan-fix-bridge-binding-behavior-and-add-selftests/20220731-000455
git checkout 993166d2a01876dc92807f74b3d72f63d25c8227
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=openrisc SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
`.exit.text' referenced in section `.data' of sound/soc/codecs/tlv320adc3xxx.o: defined in discarded section `.exit.text' of sound/soc/codecs/tlv320adc3xxx.o
or1k-linux-ld: net/8021q/vlan_dev.o: in function `vlan_dev_change_flags':
>> net/8021q/vlan_dev.c:249: undefined reference to `br_vlan_upper_change'
net/8021q/vlan_dev.c:249:(.text+0x1d88): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `br_vlan_upper_change'
>> or1k-linux-ld: net/8021q/vlan_dev.c:251: undefined reference to `br_vlan_upper_change'
net/8021q/vlan_dev.c:251:(.text+0x1dc4): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `br_vlan_upper_change'
vim +249 net/8021q/vlan_dev.c
211
212 /* Flags are defined in the vlan_flags enum in
213 * include/uapi/linux/if_vlan.h file.
214 */
215 int vlan_dev_change_flags(struct net_device *dev, u32 flags, u32 mask)
216 {
217 struct vlan_dev_priv *vlan = vlan_dev_priv(dev);
218 u32 old_flags = vlan->flags;
219 struct net_device *br_dev;
220
221 if (mask & ~(VLAN_FLAG_REORDER_HDR | VLAN_FLAG_GVRP |
222 VLAN_FLAG_LOOSE_BINDING | VLAN_FLAG_MVRP |
223 VLAN_FLAG_BRIDGE_BINDING))
224 return -EINVAL;
225
226 vlan->flags = (old_flags & ~mask) | (flags & mask);
227
228 if (!netif_running(dev))
229 return 0;
230
231 if ((vlan->flags ^ old_flags) & VLAN_FLAG_GVRP) {
232 if (vlan->flags & VLAN_FLAG_GVRP)
233 vlan_gvrp_request_join(dev);
234 else
235 vlan_gvrp_request_leave(dev);
236 }
237
238 if ((vlan->flags ^ old_flags) & VLAN_FLAG_MVRP) {
239 if (vlan->flags & VLAN_FLAG_MVRP)
240 vlan_mvrp_request_join(dev);
241 else
242 vlan_mvrp_request_leave(dev);
243 }
244
245 if ((vlan->flags ^ old_flags) & VLAN_FLAG_BRIDGE_BINDING &&
246 netif_is_bridge_port(dev)) {
247 br_dev = vlan->real_dev;
248 if (vlan->flags & VLAN_FLAG_BRIDGE_BINDING)
> 249 br_vlan_upper_change(br_dev, dev, true);
250 else
> 251 br_vlan_upper_change(br_dev, dev, false);
252 }
253
254 return 0;
255 }
256
--
0-DAY CI Kernel Test Service
https://01.org/lkp