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: