From nobody Fri May 16 11:29:24 2025 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 4ZzPxJ6JCBz5wWHJ; Fri, 16 May 2025 11:29:24 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZzPxJ54pjz3kwj; Fri, 16 May 2025 11:29:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747394964; 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=HB4t9HUPSgEGB75Vx4KpC22JuLrCAMQK68g90TJMg20=; b=HkRejhSvNPifHtxrngXUJup4wc+FiTyo65vtFo7MvQp2a4NRo8kY/RO0isO5EVd0cbAX7G 1nGmGoLG8//x1K6o5RUgj52tLsLqoSlI5VIR/FII2fa6nFfsUENxsfZWdB9ANNDywXfeNl 8nfrsBQvsuavVU6mz8GT1V/wIvxQ4cWhA71DCW6tok5U35hy3uhlrp/H1iHmdxR9SjdJap jLpMLxzsNPOuGzHCX7SI+tV5qgZL19u8t6M8JGrTFOOjIfzfScepRzUtCQGhwt8KHs8zQU fuFnXNtlyVIxt2dE5UqybkRreUE5QzPPFcDIprXxD7iO/LQrFYsieakWjmyvfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747394964; 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=HB4t9HUPSgEGB75Vx4KpC22JuLrCAMQK68g90TJMg20=; b=dy4WjyGKpl3/R4v22tJg0p6Jr7crZq/AR+2xHQArcs9OTM5v2CdYP67dzmWgx1qf3MQlti DXpbl9wCuPqPBvrL1eR/oPt2dbsQyBxNwBzFVIYO2acU0JTVVrt7vjOH5MdcaIyD+CbYQl LLCUgR4lKIDbhMP9dz6GGa4hVVagHbeTHlY34Z7p0Cqn0ji00afXrLTAEeKBBzauBgIZcM eIN/sVj0QhX8KAtk91nQ/u2dkXc1bHNWBgJJ8++wEX5gcPOL1S1gWc5eCQc0WMt0lWLUiC XT8lGeOjVobf6od4o8KVODmBOHcetdRHp4yES8gFQxXcogNXdEoomYRdQdzudw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747394964; a=rsa-sha256; cv=none; b=e/lYv6g0Gi8rXxpehGwNOfp8M2Nmd0wbSsMhJs+PWAYsyhEq356pKFRDlhoGJq6kmDRGnk YBIPxciJfcDZ1bUKl6ZyEVGLPD5u2u2ca6Eo2QTcrzImyz6ltYdqa8l2Vx4QwWHrBUDnQc iM7eC71l+q2snwMfHQ6/rebWGUCveG+69Yr8ize9FHVuz9CEqVskL2TWSIa488SWJDTSeR /IcG91Pu5uVqshgKit3HHQYQgQRtUvJwILAZKHaLnuD+djBRHm8FPBulJcJn4hpeiIJ6JD hXLY89rzAYQ8198r0gBb8C+KxKyJVqQvYHh/DVq3Eixh5M1C46M4z7YGMikqjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4ZzPxJ4dPxz11Gp; Fri, 16 May 2025 11:29:24 +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 54GBTO94022751; Fri, 16 May 2025 11:29:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54GBTOHG022748; Fri, 16 May 2025 11:29:24 GMT (envelope-from git) Date: Fri, 16 May 2025 11:29:24 GMT Message-Id: <202505161129.54GBTOHG022748@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Krzysztof Galazka Subject: git: 413197cef9cc - main - ppt: Fix panic when configuring unavailable MSI-X vector 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: kgalazka X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 413197cef9ccbf22831eb914c2ef469880468d97 Auto-Submitted: auto-generated The branch main has been updated by kgalazka: URL: https://cgit.FreeBSD.org/src/commit/?id=413197cef9ccbf22831eb914c2ef469880468d97 commit 413197cef9ccbf22831eb914c2ef469880468d97 Author: Krzysztof Galazka AuthorDate: 2025-05-16 11:29:08 +0000 Commit: Krzysztof Galazka CommitDate: 2025-05-16 11:29:08 +0000 ppt: Fix panic when configuring unavailable MSI-X vector In some cases VM may have different idea about number of available MSI-X vectors then PPT driver. Return an error when VM requests setup for more vectors than expected. It was observed while using SR-IOV on an Intel E810 Ethernet adapter. VF driver in a VM sees a correct number of available MSI-X vectors, which depends on num-queues assigned in iovctl.conf, while pci_msix_count in the PPT driver always returns 1. Signed-off-by: Krzysztof Galazka Reviewed By: #bhyve, jhb Approved by: erj (mentor), kbowling (mentor) MFC after: 1 week Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D48812 --- sys/amd64/vmm/io/ppt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/amd64/vmm/io/ppt.c b/sys/amd64/vmm/io/ppt.c index c3b2b57da988..2cb459fb848f 100644 --- a/sys/amd64/vmm/io/ppt.c +++ b/sys/amd64/vmm/io/ppt.c @@ -750,6 +750,9 @@ ppt_setup_msix(struct vm *vm, int bus, int slot, int func, } } + if (idx >= ppt->msix.num_msgs) + return (EINVAL); + if ((vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { /* Tear down the IRQ if it's already set up */ ppt_teardown_msix_intr(ppt, idx);