Module Name:    src
Committed By:   msaitoh
Date:           Fri Jul 26 04:08:39 UTC 2019

Modified Files:
        src/sys/dev/pci/ixgbe: ixgbe.c

Log Message:
 Set IVAR (Interrupt Vector Allocation Register) correctly for 82598 in
ixgbe_set_ivar(). Found by KUBSan.


To generate a diff of this commit:
cvs rdiff -u -r1.197 -r1.198 src/sys/dev/pci/ixgbe/ixgbe.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.197 src/sys/dev/pci/ixgbe/ixgbe.c:1.198
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.197	Fri Jul 26 03:28:13 2019
+++ src/sys/dev/pci/ixgbe/ixgbe.c	Fri Jul 26 04:08:39 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.197 2019/07/26 03:28:13 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.198 2019/07/26 04:08:39 msaitoh Exp $ */
 
 /******************************************************************************
 
@@ -4188,8 +4188,8 @@ ixgbe_set_ivar(struct adapter *adapter, 
 			entry += (type * 64);
 		index = (entry >> 2) & 0x1F;
 		ivar = IXGBE_READ_REG(hw, IXGBE_IVAR(index));
-		ivar &= ~(0xFF << (8 * (entry & 0x3)));
-		ivar |= (vector << (8 * (entry & 0x3)));
+		ivar &= ~(0xffUL << (8 * (entry & 0x3)));
+		ivar |= ((u32)vector << (8 * (entry & 0x3)));
 		IXGBE_WRITE_REG(&adapter->hw, IXGBE_IVAR(index), ivar);
 		break;
 	case ixgbe_mac_82599EB:

Reply via email to