From nobody Wed Oct 30 01:02:17 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XdTP53qy7z5bGsJ; Wed, 30 Oct 2024 01:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XdTP53NgXz4K2W; Wed, 30 Oct 2024 01:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ims2KP2omIvMN+XHWu4QuIqYaRwKIA4/3u6qD2i2/gc=; b=mABSxL1ggWkaMsZQWUHAFS2ttFUJON4sVSF8q30svUiX3HPmDRkk8StAK326aAv4OdpCQ0 urB1AW6FAgBntwmOymzQT4dvHXvYY6o8MargtvNf3eZNB5o79HnKNxw6SD48s35c65zYa1 w735ROW40W41bQqsOjMt0AXR+qwrGQIWJExE1EUCN47AMjMSHJz2X2FQ2/oNIod7nPv8no 1DAr32ldV6ZhHm6Qe4Mu5feprxuk/fq7+mcdK02ll2HAlP24Mv3b3V2dqI1xbW1pw/w5Rb 5EOD7TbuyEAzUqwLDV+reWnhApjwBvhUEk+YhgGJYyteExkkPIJBtft7ROyU+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730250137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ims2KP2omIvMN+XHWu4QuIqYaRwKIA4/3u6qD2i2/gc=; b=P+O7Nzzj9IzXmS1PwIxcm2dcfiHGc/IdICAiISbw3VGXJ1kG8nAax7v20v+VV6JC94eI0x RIMnlr891wtxKudRAX2TRqVZCYwhGHJX6XOazsf5yTZn9IQghMWxWmSNFgsBBu2FNSm13T FXJyE7YRachI5ZSEuXN4RYJjRlBUPCAnRRsNQcJ1aOlhh435/eOhMYXvBkO2+JxsBw2C+O MG/7TcNRra9J7bcja6L4Jb1krbyMapJRmFBBsd0e0dqPPziPavrbfEbXAqA0REgBr9aOFz nJ5w0IITlX9lT2e6hr1KQ9q+4hWazpQtfQJGO1n9u8JTnaW4Ms0hM2BxtjbCQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730250137; a=rsa-sha256; cv=none; b=AELGOkEPk5Wir5uAXPECcHwKBNBctsDrZGouL9aRf5SfJcSEFB04VFJvlN5iq4EY4hmnGy D6UZSuKg8DFJY97O8+zcju0mbn8/RmTSCDRaQ6ZSI0G/31NGdqBNzRYCLil30ddw4jJKFZ NzIhBAOLBxTi/GNdgj95kFmihNmKPrKvbMNiiUGeOrZ3dltFQE3KVIBfIOoVFxllOU709K XfWt2B272bg/2Mlnv7ZfCEfEb1lAwus8xs0AtigI2DqTo6CDkg/gaF8CpU6Qc79JTMzLId aGZXzpFQPXrC3g2yi1H+xIXwBOnrAQR9BpXO4PxK7l+IPjeoy2zHoA5uSlSFuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XdTP52r1MzmQR; Wed, 30 Oct 2024 01:02:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 49U12HOQ023079; Wed, 30 Oct 2024 01:02:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 49U12HPP023076; Wed, 30 Oct 2024 01:02:17 GMT (envelope-from git) Date: Wed, 30 Oct 2024 01:02:17 GMT Message-Id: <202410300102.49U12HPP023076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 86efff54916b - stable/14 - ixv: Check cap return before MSI-X enable write List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 86efff54916bba7b7543699fe5922d8363f16c11 Auto-Submitted: auto-generated The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=86efff54916bba7b7543699fe5922d8363f16c11 commit 86efff54916bba7b7543699fe5922d8363f16c11 Author: Jeremiah Lott AuthorDate: 2024-10-27 07:18:54 +0000 Commit: Kevin Bowling CommitDate: 2024-10-30 01:01:04 +0000 ixv: Check cap return before MSI-X enable write In the QEMU workaround code in if_ixv.c, the ixv driver calls pci_find_cap(dev, PCIY_MSIX, &rid). It is not checking the return code from that function and the function appears to always be failing. This then causes the driver to use the rid variable uninitialized, which will mean setting a bit at an arbitrary offset in pci config space. For now, this seems to have no adverse impact, but it could easily cause very subtle problems. PR: 207037 Sponsored by: BBOX.io (cherry picked from commit b87b3696c973ef0a9df70143cd89f6b488531e93) --- sys/dev/ixgbe/if_ixv.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 467a56e7269f..58384af5eea7 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -1073,11 +1073,14 @@ ixv_if_msix_intr_assign(if_ctx_t ctx, int msix) */ if (sc->hw.mac.type == ixgbe_mac_82599_vf) { int msix_ctrl; - pci_find_cap(dev, PCIY_MSIX, &rid); - rid += PCIR_MSIX_CTRL; - msix_ctrl = pci_read_config(dev, rid, 2); - msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; - pci_write_config(dev, rid, msix_ctrl, 2); + if (pci_find_cap(dev, PCIY_MSIX, &rid)) { + device_printf(dev, "Finding MSIX capability failed\n"); + } else { + rid += PCIR_MSIX_CTRL; + msix_ctrl = pci_read_config(dev, rid, 2); + msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; + pci_write_config(dev, rid, msix_ctrl, 2); + } } return (0);