Module Name: src
Committed By: msaitoh
Date: Thu Jul 25 09:01:56 UTC 2019
Modified Files:
src/sys/dev/pci/ixgbe: ixgbe.c ixgbe_common.c ixv.c
Log Message:
Fix VLAN filter setting. Found by KUBSan.
To generate a diff of this commit:
cvs rdiff -u -r1.194 -r1.195 src/sys/dev/pci/ixgbe/ixgbe.c
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/pci/ixgbe/ixgbe_common.c
cvs rdiff -u -r1.121 -r1.122 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.194 src/sys/dev/pci/ixgbe/ixgbe.c:1.195
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.194 Wed Jul 24 06:07:57 2019
+++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Jul 25 09:01:56 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.194 2019/07/24 06:07:57 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.195 2019/07/25 09:01:56 msaitoh Exp $ */
/******************************************************************************
@@ -2339,7 +2339,7 @@ ixgbe_register_vlan(void *arg, struct if
IXGBE_CORE_LOCK(adapter);
index = (vtag >> 5) & 0x7F;
bit = vtag & 0x1F;
- adapter->shadow_vfta[index] |= (1 << bit);
+ adapter->shadow_vfta[index] |= ((u32)1 << bit);
error = adapter->hw.mac.ops.set_vfta(&adapter->hw, vtag, 0, true,
true);
IXGBE_CORE_UNLOCK(adapter);
@@ -2370,7 +2370,7 @@ ixgbe_unregister_vlan(void *arg, struct
IXGBE_CORE_LOCK(adapter);
index = (vtag >> 5) & 0x7F;
bit = vtag & 0x1F;
- adapter->shadow_vfta[index] &= ~(1 << bit);
+ adapter->shadow_vfta[index] &= ~((u32)1 << bit);
error = adapter->hw.mac.ops.set_vfta(&adapter->hw, vtag, 0, false,
true);
IXGBE_CORE_UNLOCK(adapter);
Index: src/sys/dev/pci/ixgbe/ixgbe_common.c
diff -u src/sys/dev/pci/ixgbe/ixgbe_common.c:1.24 src/sys/dev/pci/ixgbe/ixgbe_common.c:1.25
--- src/sys/dev/pci/ixgbe/ixgbe_common.c:1.24 Thu Jul 25 07:05:44 2019
+++ src/sys/dev/pci/ixgbe/ixgbe_common.c Thu Jul 25 09:01:56 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe_common.c,v 1.24 2019/07/25 07:05:44 msaitoh Exp $ */
+/* $NetBSD: ixgbe_common.c,v 1.25 2019/07/25 09:01:56 msaitoh Exp $ */
/******************************************************************************
SPDX-License-Identifier: BSD-3-Clause
@@ -4020,7 +4020,7 @@ s32 ixgbe_set_vfta_generic(struct ixgbe_
* bits[4-0]: which bit in the register
*/
regidx = vlan / 32;
- vfta_delta = 1 << (vlan % 32);
+ vfta_delta = (u32)1 << (vlan % 32);
vfta = IXGBE_READ_REG(hw, IXGBE_VFTA(regidx));
/*
Index: src/sys/dev/pci/ixgbe/ixv.c
diff -u src/sys/dev/pci/ixgbe/ixv.c:1.121 src/sys/dev/pci/ixgbe/ixv.c:1.122
--- src/sys/dev/pci/ixgbe/ixv.c:1.121 Thu Jul 25 05:58:25 2019
+++ src/sys/dev/pci/ixgbe/ixv.c Thu Jul 25 09:01:56 2019
@@ -1,4 +1,4 @@
-/*$NetBSD: ixv.c,v 1.121 2019/07/25 05:58:25 msaitoh Exp $*/
+/*$NetBSD: ixv.c,v 1.122 2019/07/25 09:01:56 msaitoh Exp $*/
/******************************************************************************
@@ -2074,7 +2074,7 @@ ixv_register_vlan(void *arg, struct ifne
IXGBE_CORE_LOCK(adapter);
index = (vtag >> 5) & 0x7F;
bit = vtag & 0x1F;
- adapter->shadow_vfta[index] |= (1 << bit);
+ adapter->shadow_vfta[index] |= ((u32)1 << bit);
error = hw->mac.ops.set_vfta(hw, vtag, 0, true, false);
IXGBE_CORE_UNLOCK(adapter);
@@ -2109,7 +2109,7 @@ ixv_unregister_vlan(void *arg, struct if
IXGBE_CORE_LOCK(adapter);
index = (vtag >> 5) & 0x7F;
bit = vtag & 0x1F;
- adapter->shadow_vfta[index] &= ~(1 << bit);
+ adapter->shadow_vfta[index] &= ~((u32)1 << bit);
error = hw->mac.ops.set_vfta(hw, vtag, 0, false, false);
IXGBE_CORE_UNLOCK(adapter);