From nobody Wed Apr 16 20:37:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1741932984; cv=none; d=zohomail.com; s=zohoarc; b=FUwgabnWkxa4xiQCrnfjuJuHyKmcwhu0RPVb3XAFVRlHIFp6m0YmtiM/n5oaz/+8Cf8vVCvp4nYDGWjSgfhAmIlwJPfUmiJ6UHD2x1JKVqKFvlKWsfQM6muUW7XzT0BclU7iwbaFTqS+ntyYhCVZmddMHbcNuJ5R0OiZre5Hqlk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1741932984; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Oiba08HNvN6peWQHd81BixbQ6a0+XB6ZKumC/k2imsU=; b=FRPVn5Xe0qVcaiY2mNuZcHfDCFsEc/Zo62XsjvO6RG3Ppj51RdCnYwQx5BWfIrniDAEf4rwsGNA9MMw9/6uMrz4S0QoIDOzAm1gkm/PsM2CQX5B+iKEdj82OwRM9B7UfdydsfNMGOL2eN8IK0laDL63UTWkgXassPdB3+YW9HrQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1741932984535956.4228128199458; Thu, 13 Mar 2025 23:16:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tsyKy-0004kj-Fj; Fri, 14 Mar 2025 02:16:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tsyKL-0004QE-Oc for qemu-devel@nongnu.org; Fri, 14 Mar 2025 02:15:25 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tsyKC-0005Mn-7f for qemu-devel@nongnu.org; Fri, 14 Mar 2025 02:15:20 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-223a7065ff8so47702875ad.0 for ; Thu, 13 Mar 2025 23:15:15 -0700 (PDT) Received: from localhost ([157.82.205.237]) by smtp.gmail.com with UTF8SMTPSA id d2e1a72fcca58-7371167df0esm2408830b3a.93.2025.03.13.23.15.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Mar 2025 23:15:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1741932914; x=1742537714; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Oiba08HNvN6peWQHd81BixbQ6a0+XB6ZKumC/k2imsU=; b=c61kYKSvArYdhOlpWrcXOq0uHQplBV6asPLx8pVJkZ7kti5F7H3+uFl6/i24wnD9Z3 rDGUEgyfk5KMYARjhZxrhUwgNJaFB/uhdwVut+zOZngljxtBPfdretqP1Meel+PZuDlr T9t2gXjRVb7g8yvHfLbrJPXIXbfdyzFnxoHfK4GH6XMhTr9AxNhZ1RH3fCt5dHAQff4l hlbddRSZaXbk/rK/FbBbXXH7zfwLSauPNinmDlY94NCTYVEls7aEyoRjbdEiHWhNCidk N4Kyr4W3DQZrFoKrxlxbzhnNOnhJnNCJ5ekAkwzeHIahnt4Sg7OhvifUj5yhQnBsFQ/A +BIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741932914; x=1742537714; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Oiba08HNvN6peWQHd81BixbQ6a0+XB6ZKumC/k2imsU=; b=Jo/srMaxydgy7OxH7Ia/NlJhtPxdcf9BD12GgSpxoOjFHp45nQ8t2TvljCNJXaFCJn 31mgZcN9JIlxuY78Vlr6dTMNfxrsnOnsqxWch3nrJGPclCMHmUK+/usaZsDdOYF4PelU QCZeBM//jQfE546vHWsAUWFpffvJp383A8PJJS37MyRwAY1EbhiVJqgz01KaevyEcSrC klctsh1TsHz8W/CcUuPO5oyPvBgcsEWj32F1dpvhFiZJjq5bFwzuC9rEB/bk+5AF8BUP c1vlCBb/Lxp0N8Q20ZF3A2rODYV2D4TeWCuoZ5b0VTpBVU2dZ4090+g8dut/kn5lCmVr MWBA== X-Gm-Message-State: AOJu0YywxD8IMeiQcSOzsteRm2JdqNRTPPiTY4XBK34aRS5zDahQiOoD yJF8aFM8EAwFApwCovueCc4FrN6lDJY+k2T/ecC0nP8+16v8sydGudnVyaQ6R0o= X-Gm-Gg: ASbGnctSFB9XMcHXZN8ap3lDMoOULthV/MqFm0gHi5KNjinI5g0wFfVIOjPeEc3L7s4 +X10f9jOOvttuxe6tGFQbno+99c6AUSRsn8Hqdal4OBYvlVNbsvgGB11zHmJzDPuTueOV8O4/Wd /2ZE+/bJA/0XL9ChbGTA9BJ8Oz+jIHoONhoy1sUT28jtOxLsGZBEPthyaos/vVPQpU4r8WXDGE+ H5vAWgn+kb7nlWyoMEnsFau6daQ99KO8Oacawym8ArFX+KKZY51y+pt4rKfpvSJxWSlVBluj0cd Nl81k9c0J3xVdtOJvf/nRU/4fkbOmTUTSZkEmSBdYbPdYH5i X-Google-Smtp-Source: AGHT+IGQquZn4Qr/FAdATfV9I/VNrS6WX53tcgcoRLZklhYOpSmp5tqUk8U/GIJVk5m3HVyRgvx8Mw== X-Received: by 2002:a05:6a00:2e20:b0:736:34ff:be8 with SMTP id d2e1a72fcca58-73722412c0amr1534358b3a.19.1741932914298; Thu, 13 Mar 2025 23:15:14 -0700 (PDT) From: Akihiko Odaki Date: Fri, 14 Mar 2025 15:14:51 +0900 Subject: [PATCH for-10.1 v9 2/9] hw/pci: Fix SR-IOV VF number calculation MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250314-sriov-v9-2-57dae8ae3ab5@daynix.com> References: <20250314-sriov-v9-0-57dae8ae3ab5@daynix.com> In-Reply-To: <20250314-sriov-v9-0-57dae8ae3ab5@daynix.com> To: "Michael S. Tsirkin" , Marcel Apfelbaum , Alex Williamson , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Paolo Bonzini , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Jason Wang , Sriram Yagnaraman , Keith Busch , Klaus Jensen , Pasha Tatashin Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, devel@daynix.com, Yui Washizu , Akihiko Odaki X-Mailer: b4 0.15-dev-edae6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20230601.gappssmtp.com) X-ZM-MESSAGEID: 1741932986749019000 pci_config_get_bar_addr() had a division by vf_stride. vf_stride needs to be non-zero when there are multiple VFs, but the specification does not prohibit to make it zero when there is only one VF. Do not perform the division for the first VF to avoid division by zero. Signed-off-by: Akihiko Odaki --- hw/pci/pci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 8460b6105338..2b1c7d487fc1 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -1594,7 +1594,11 @@ static pcibus_t pci_config_get_bar_addr(PCIDevice *d= , int reg, pci_get_word(pf->config + sriov_cap + PCI_SRIOV_VF_OFFSET); uint16_t vf_stride =3D pci_get_word(pf->config + sriov_cap + PCI_SRIOV_VF_STRIDE); - uint32_t vf_num =3D (d->devfn - (pf->devfn + vf_offset)) / vf_stri= de; + uint32_t vf_num =3D d->devfn - (pf->devfn + vf_offset); + + if (vf_num) { + vf_num /=3D vf_stride; + } =20 if (type & PCI_BASE_ADDRESS_MEM_TYPE_64) { new_addr =3D pci_get_quad(pf->config + bar); --=20 2.48.1