[{"id":3676675,"web_url":"http://patchwork.ozlabs.org/comment/3676675/","msgid":"<e6dfcdef-c5ba-7c23-73cc-cf2ffd084b4e@linux.intel.com>","date":"2026-04-13T11:44:29","subject":"Re: [PATCH v4 15/24] alpha/PCI: Fix __pci_mmap_fits() overflow for\n zero-length BARs","submitter":{"id":83553,"url":"http://patchwork.ozlabs.org/api/people/83553/","name":"Ilpo Järvinen","email":"ilpo.jarvinen@linux.intel.com"},"content":"On Sat, 11 Apr 2026, Krzysztof Wilczyński wrote:\n\n> Currently, __pci_mmap_fits() computes the BAR size using\n> pci_resource_len() - 1, which wraps to a large value when the\n> BAR length is zero, causing the bounds check to incorrectly\n> succeed.\n> \n> Thus, add an early return for empty resources.\n> \n> Fixes: 10a0ef39fbd1 (\"PCI/alpha: pci sysfs resources\")\n> Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>\n> ---\n>  arch/alpha/kernel/pci-sysfs.c | 6 +++++-\n>  1 file changed, 5 insertions(+), 1 deletion(-)\n> \n> diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c\n> index 6c011dab326d..2748000a7486 100644\n> --- a/arch/alpha/kernel/pci-sysfs.c\n> +++ b/arch/alpha/kernel/pci-sysfs.c\n> @@ -37,12 +37,16 @@ static int hose_mmap_page_range(struct pci_controller *hose,\n>  static int __pci_mmap_fits(struct pci_dev *pdev, int num,\n>  \t\t\t   struct vm_area_struct *vma, int sparse)\n>  {\n> +\tresource_size_t len = pci_resource_len(pdev, num);\n>  \tunsigned long nr, start, size;\n>  \tint shift = sparse ? 5 : 0;\n>  \n> +\tif (!len)\n> +\t\treturn 0;\n> +\n>  \tnr = vma_pages(vma);\n>  \tstart = vma->vm_pgoff;\n> -\tsize = ((pci_resource_len(pdev, num) - 1) >> (PAGE_SHIFT - shift)) + 1;\n> +\tsize = ((len - 1) >> (PAGE_SHIFT - shift)) + 1;\n>  \n>  \tif (start < size && size - start >= nr)\n>  \t\treturn 1;\n> \n\nReviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19683-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=bOoVIJdq;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19683-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=192.198.163.12","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=bOoVIJdq;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.intel.com\n (client-ip=192.198.163.12; helo=mgamail.intel.com;\n envelope-from=ilpo.jarvinen@linux.intel.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvQYy4XFyz1yDG\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 21:44:54 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fvQYx60lJz2yjV;\n\tMon, 13 Apr 2026 21:44:53 +1000 (AEST)","from mgamail.intel.com (mgamail.intel.com [192.198.163.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fvQYt0x35z2yDk\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 21:44:48 +1000 (AEST)","from fmviesa010.fm.intel.com ([10.60.135.150])\n  by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 13 Apr 2026 04:44:45 -0700","from ijarvine-mobl1.ger.corp.intel.com (HELO localhost)\n ([10.245.245.63])\n  by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 13 Apr 2026 04:44:35 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776080693;\n\tcv=none;\n b=gGMo5YwV6/zTFHQnVbawkDHvBK6/G8F75R4Bo+yBn+44qc3MygmMAFnmaNU4MEiKHmuHKZiL5tEqhDKbzLvQ5CRAKhlXjc0yzzsqzsa8vknnGU9fgLvDvaHrUBObCa0uCTKMHvaAifBiDXjyOYXHUsYbjghzNDLuI+Tb9ePntAczZi07TsbEAF2acb6YGOFnurcqYc+jdboD/rpserj0fI/matfLg9B25R85Oj1cVg2rf216sLjj2JnTNL+ao8ePxdu3OFFxYfNQQpqoo3sENrNKfNeDPLRIJ+KLdY8cuixH2MndZnwNSc9X2jqvJDF6vqBjd2dKQLpOtCsN1K1Tfg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776080693; c=relaxed/relaxed;\n\tbh=0OPnmwYBvXZosOFjXMJRrVIVarhnf2RU37zaKd9adfc=;\n\th=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:\n\t MIME-Version:Content-Type;\n b=hS6MIdeQ0PCTBKTzcVc0zRwuINimh87Obnlp+Y3G+boYP3/tAFrqY5F4IgPV7Xf0nWZ1t3L1bfLzOeVmkTrnvHvCItBbia2LiajXyTIPlAJkoI2BAfGJw4mM6U17yxrbm/rbatjZ5mh9jiJTVOaUSyhJIzM44E5kNIprXSYzwDw0IUWehIEPYU+DM2l+/tHdXR762FfEwzHNfrutAx1m5TdfcryU0B38qbUUsipRW+838XCTdrBN5wfi39zQ2p7zBGwUTfXrBLUDRzlLOgUCSdtx2YifIK1upFwyEkuqijixltuR/qJyt050lWPKQjYjlaxfqsngXbkYYonGFozuDw==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.intel.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=bOoVIJdq; dkim-atps=neutral;\n spf=pass (client-ip=192.198.163.12; helo=mgamail.intel.com;\n envelope-from=ilpo.jarvinen@linux.intel.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.intel.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1776080691; x=1807616691;\n  h=from:date:to:cc:subject:in-reply-to:message-id:\n   references:mime-version;\n  bh=AFSD+d73vMww+hbY63uE4fAGE+VrR8hSSF0t67UtcMY=;\n  b=bOoVIJdqYkC1pefJe/IwhcPX/nTb1u1Vc+Wuoix66X6F4m8k8chfbbrC\n   NU5KkJPN+w3YBVonWtbGf6kIIsuRAi/ARx6hiV83H9gX7RM7x9tiNMDar\n   FwHvWwoFo6ertVEnmsc1i7b1fwaVvxNus1ZfBm1BMgn8YIJoaRWY3k3Ep\n   xUNIbxLlocbubpNCRMMqnxr/za1PRtRP2IGx7aHF5XcyIjgnimqqo4gE7\n   Rw8MuHxsOxHgFQABWb21HzD1IuafDXF9KLOMqQz3VMGkkaGMUEQQc52/r\n   UzGCQcG6N7cPFb8pF21JdiueMF6YEcAuqVd4kjTyRr0iywNLiN9BnRmK+\n   A==;","X-CSE-ConnectionGUID":["MLaJM7KdQFawDgIJe9VqUQ==","hIZS6DwhSW2wkfAszU3ESQ=="],"X-CSE-MsgGUID":["pZMucf0nQriT1XmFxq7Hbg==","0jcsmTVPSeCQKJIJ8iTaGg=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11757\"; a=\"80894520\"","E=Sophos;i=\"6.23,177,1770624000\";\n   d=\"scan'208\";a=\"80894520\"","E=Sophos;i=\"6.23,177,1770624000\";\n   d=\"scan'208\";a=\"225482707\""],"X-ExtLoop1":"1","From":"=?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>","Date":"Mon, 13 Apr 2026 14:44:29 +0300 (EEST)","To":"=?iso-8859-2?q?Krzysztof_Wilczy=F1ski?= <kwilczynski@kernel.org>","cc":"Bjorn Helgaas <bhelgaas@google.com>, Bjorn Helgaas <helgaas@kernel.org>,\n  Manivannan Sadhasivam <mani@kernel.org>,\n  Lorenzo Pieralisi <lpieralisi@kernel.org>,\n  Magnus Lindholm <linmag7@gmail.com>, Matt Turner <mattst88@gmail.com>,\n  Richard Henderson <richard.henderson@linaro.org>,\n  Christophe Leroy <chleroy@kernel.org>,\n  Madhavan Srinivasan <maddy@linux.ibm.com>,\n  Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,\n  Dexuan Cui <decui@microsoft.com>,\n =?iso-8859-2?q?Krzysztof_Ha=B3asa?= <khalasa@piap.pl>,\n  Lukas Wunner <lukas@wunner.de>, Oliver O'Halloran <oohall@gmail.com>,\n  Saurabh Singh Sengar <ssengar@microsoft.com>,\n  Shuan He <heshuan@bytedance.com>,\n  Srivatsa Bhat <srivatsabhat@microsoft.com>, linux-pci@vger.kernel.org,\n  linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org","Subject":"Re: [PATCH v4 15/24] alpha/PCI: Fix __pci_mmap_fits() overflow for\n zero-length BARs","In-Reply-To":"<20260411080148.471335-16-kwilczynski@kernel.org>","Message-ID":"<e6dfcdef-c5ba-7c23-73cc-cf2ffd084b4e@linux.intel.com>","References":"<20260411080148.471335-1-kwilczynski@kernel.org>\n <20260411080148.471335-16-kwilczynski@kernel.org>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"multipart/mixed; boundary=\"8323328-1214616222-1776080669=:962\"","X-Spam-Status":"No, score=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]