{"id":2221716,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2221716/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260410055040.39233-14-kwilczynski@kernel.org/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.2/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20260410055040.39233-14-kwilczynski@kernel.org>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260410055040.39233-14-kwilczynski@kernel.org/","date":"2026-04-10T05:50:33","name":"[13/20] alpha/PCI: Clean up __pci_mmap_fits()","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"0185f98d6c3cbcc14d2424d2e1142b4c30d02fa7","submitter":{"id":86709,"url":"http://patchwork.ozlabs.org/api/1.2/people/86709/?format=json","name":"Krzysztof Wilczyński","email":"kwilczynski@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260410055040.39233-14-kwilczynski@kernel.org/mbox/","series":[{"id":499413,"url":"http://patchwork.ozlabs.org/api/1.2/series/499413/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=499413","date":"2026-04-10T05:50:20","name":"PCI: Convert all dynamic sysfs attributes to static","version":1,"mbox":"http://patchwork.ozlabs.org/series/499413/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2221716/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221716/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19545-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=XGDauH65;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19545-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=172.105.4.254","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=XGDauH65;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=kwilczynski@kernel.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsSk40lqfz1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 17:15:08 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fsSk36Qqmz2yqT;\n\tFri, 10 Apr 2026 17:15:07 +1000 (AEST)","from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fsQsd5dpdz2yRl\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 10 Apr 2026 15:51:33 +1000 (AEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id DF9A660154;\n\tFri, 10 Apr 2026 05:51:31 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 5A7F7C19421;\n\tFri, 10 Apr 2026 05:51:28 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775800294;\n\tcv=none;\n b=dyps4s4RHhzBiVfM7FWuHNCA9YdJnqRJdRYmTcMtABBazibNGNucVY82AHc8xs9/0RDO44BjxdCVykDxI95wuVFeTnLbMgKMWypeLgg/MJHGBd3wri/kdewOFkL6mddnDTJmdZKyaEibrtGvKCW1feTafGunwrgZjVJhanojssoIDZ6m8va+lEolmxi5Az90qcwvf1AEBlba/ncISOEpccR474l8ukEudRwV0pbdvQp4dUUa823L2Vjp+TT9oBhA+Jp1RrbWy0lgZ/qTSqpTnO9ixrX6qiSjINQN21y3j9hFplNa0LrXPYvY5VgukuaK4G3Q/7FjIzxvl91JubWNaw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775800294; c=relaxed/relaxed;\n\tbh=7ihdq0dkuXXlKpfHGFEsrcCKM1l9tINSYpcYKghtRok=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=iiEp/GODJgioOO2WqBCl7VbW4u5m/WrJgcUppMsnOeW8sOhg2gYQ2HuZlDJfmNpO9gWpEc+2zR4RYV4NX83pTWKFxDz9iT9VygM1UtKgLnn2tfKxo4RozsuwunY6d8XbK+IG/UjFFq1MFy4duzvLKcbv2VseUUOCP6UAXxtcMthCqLtFi+zi+fHZHAGRXIweOTG9tG2B4ArZTVIcgVHyM/mbqB2AJw/XSyBrP1aZQ1dh3SAeLKJKhwN5RCuUK5xEswBaJuBS/Oex0QkigGZbxHEAX2n/SsUgb+KRC/K8UcKgc3qSc9jYn6Yr6DpvdNd+JYZutYjyTl/lDtD7LM+g7Q==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=XGDauH65; dkim-atps=neutral;\n spf=pass (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=kwilczynski@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775800291;\n\tbh=Nh7a1ArkRQeNDsZQ4G4s7B27zHMA9oeNqUUdRhEq7Fs=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=XGDauH65tg4bJ9ruSw7Z6gY2FgZvSRdoiVLxHgO6FHnL6maslO7dpOby3VlujfHY6\n\t lp71qjGPI9FnJ+YkDygQZLF5ftlEhT8uDDo3MIf7YZBN6Itnjwxnhzm72KF4k+HFD0\n\t GpQmeT9QHiDMxTrn+nKdUqMsIwo+qI9jQVMvVAYuN333KZPyYMJovH9pMhkBeIGf2V\n\t 5iyGh6zq4JQKEamShug3eT7CotSXt3MqJ+1Tg0qxcotMGh+oKGvTXX7Cs6ugCuVz52\n\t aLYqZNvCXjb5KJX1U93HTRBGcVdyqotqEjICJRYp1s9beAn1C1ORBRpyLbEfda9fm/\n\t Li3fkgG20rMiw==","From":"=?utf-8?q?Krzysztof_Wilczy=C5=84ski?= <kwilczynski@kernel.org>","To":"Bjorn Helgaas <bhelgaas@google.com>","Cc":"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 =?utf-8?q?Krzysztof_Ha=C5=82asa?= <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>, Srivatsa Bhat <srivatsabhat@microsoft.com>,\n\t=?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>,\n linux-pci@vger.kernel.org, linux-alpha@vger.kernel.org,\n linuxppc-dev@lists.ozlabs.org","Subject":"[PATCH 13/20] alpha/PCI: Clean up __pci_mmap_fits()","Date":"Fri, 10 Apr 2026 05:50:33 +0000","Message-ID":"<20260410055040.39233-14-kwilczynski@kernel.org>","X-Mailer":"git-send-email 2.53.0","In-Reply-To":"<20260410055040.39233-1-kwilczynski@kernel.org>","References":"<20260410055040.39233-1-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":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"Currently, __pci_mmap_fits() computes the BAR size using\npci_resource_len() - 1, which wraps to a large value when the\nBAR length is zero, causing the bounds check to incorrectly\nsucceed.\n\nThus, add an early return for empty resources.\n\nAlso, remove the WARN() that fires when userspace attempts to\nmmap beyond the BAR bounds.  The check still returns 0 to reject\nthe mapping, but the warning is excessive for normal operation.\n\nA similar warning was removed from the PCI core in the commit\n3b519e4ea618 (\"PCI: fix size checks for mmap() on /proc/bus/pci files\").\n\nSigned-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>\n---\n arch/alpha/kernel/pci-sysfs.c | 14 ++++++--------\n 1 file changed, 6 insertions(+), 8 deletions(-)","diff":"diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c\nindex 7aac5e76dcd6..867199b988de 100644\n--- a/arch/alpha/kernel/pci-sysfs.c\n+++ b/arch/alpha/kernel/pci-sysfs.c\n@@ -37,20 +37,18 @@ 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-\tWARN(1, \"process \\\"%s\\\" tried to map%s 0x%08lx-0x%08lx on %s BAR %d \"\n-\t\t\"(size 0x%08lx)\\n\",\n-\t\tcurrent->comm, sparse ? \" sparse\" : \"\", start, start + nr,\n-\t\tpci_name(pdev), num, size);\n-\treturn 0;\n+\treturn start < size && size - start >= nr;\n }\n \n /**\n","prefixes":["13/20"]}