Module Name: src Committed By: msaitoh Date: Thu Jul 25 09:28:08 UTC 2019
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c ixv.c Log Message: Fix VLAN hardware filter initialization. Use unsigned. Found by KUBSan. To generate a diff of this commit: cvs rdiff -u -r1.195 -r1.196 src/sys/dev/pci/ixgbe/ixgbe.c cvs rdiff -u -r1.122 -r1.123 src/sys/dev/pci/ixgbe/ixv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.195 src/sys/dev/pci/ixgbe/ixgbe.c:1.196 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.195 Thu Jul 25 09:01:56 2019 +++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Jul 25 09:28:07 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.195 2019/07/25 09:01:56 msaitoh Exp $ */ +/* $NetBSD: ixgbe.c,v 1.196 2019/07/25 09:28:07 msaitoh Exp $ */ /****************************************************************************** @@ -2427,7 +2427,7 @@ ixgbe_setup_vlan_hw_support(struct adapt idx = vlanidp->vid / 32; KASSERT(idx < IXGBE_VFTA_SIZE); - adapter->shadow_vfta[idx] |= 1 << vlanidp->vid % 32; + adapter->shadow_vfta[idx] |= (u32)1 << (vlanidp->vid % 32); } mutex_exit(ec->ec_lock); for (i = 0; i < IXGBE_VFTA_SIZE; i++) Index: src/sys/dev/pci/ixgbe/ixv.c diff -u src/sys/dev/pci/ixgbe/ixv.c:1.122 src/sys/dev/pci/ixgbe/ixv.c:1.123 --- src/sys/dev/pci/ixgbe/ixv.c:1.122 Thu Jul 25 09:01:56 2019 +++ src/sys/dev/pci/ixgbe/ixv.c Thu Jul 25 09:28:07 2019 @@ -1,4 +1,4 @@ -/*$NetBSD: ixv.c,v 1.122 2019/07/25 09:01:56 msaitoh Exp $*/ +/*$NetBSD: ixv.c,v 1.123 2019/07/25 09:28:07 msaitoh Exp $*/ /****************************************************************************** @@ -1993,7 +1993,7 @@ ixv_setup_vlan_support(struct adapter *a idx = vlanidp->vid / 32; KASSERT(idx < IXGBE_VFTA_SIZE); - adapter->shadow_vfta[idx] |= 1 << vlanidp->vid % 32; + adapter->shadow_vfta[idx] |= (u32)1 << (vlanidp->vid % 32); } mutex_exit(ec->ec_lock); @@ -2012,7 +2012,7 @@ ixv_setup_vlan_support(struct adapter *a */ for (int j = 0; j < 32; j++) { retry = 0; - if ((vfta & (1 << j)) == 0) + if ((vfta & ((u32)1 << j)) == 0) continue; vid = (i * 32) + j;