Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2221683/?format=api
{ "id": 2221683, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2221683/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260410055040.39233-4-kwilczynski@kernel.org/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/1.1/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260410055040.39233-4-kwilczynski@kernel.org>", "date": "2026-04-10T05:50:23", "name": "[03/20] PCI/sysfs: Use BAR length in pci_llseek_resource() when attr->size is zero", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "1910392f6627cf5a11bf392d9c1d701ac8cc5710", "submitter": { "id": 86709, "url": "http://patchwork.ozlabs.org/api/1.1/people/86709/?format=api", "name": "Krzysztof Wilczyński", "email": "kwilczynski@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260410055040.39233-4-kwilczynski@kernel.org/mbox/", "series": [ { "id": 499398, "url": "http://patchwork.ozlabs.org/api/1.1/series/499398/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=499398", "date": "2026-04-10T05:50:21", "name": "PCI: Convert all dynamic sysfs attributes to static", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499398/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2221683/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2221683/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-pci+bounces-52265-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.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=rXzq+qXX;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52265-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"rXzq+qXX\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\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 4fsQtV0vB3z1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 15:52:18 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id D588C3028033\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 05:50:57 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 0C541322B9F;\n\tFri, 10 Apr 2026 05:50:56 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id DE19430F52A;\n\tFri, 10 Apr 2026 05:50:55 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 50A5EC19421;\n\tFri, 10 Apr 2026 05:50:52 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775800255; cv=none;\n b=KandSWmUom6/VOtQX9f/2w+H2cfTRpctVsWz5Wyp8jeOObleQrg5kI5yTnL5jEB8LNbrPpS1vAVPLFsY0rXG6HkDhGsZzIBX7/pkM5utRkxgm9J6bGGexQqHT7Ogen1wM3zJCMYBNeIel0QvbYBViZk6jGTA3Ac/wy1r25t6on0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775800255; c=relaxed/simple;\n\tbh=adotA/V+MQ7wgPmgyJRZLabHOEzjzDHEZuvNSiVnByw=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=pK3QBJZtaNA88nqYzAMCfy7LJFKq6C9obtSYjRPLo/XLHwYA0J3XeDheOCZQ70auCUMIKDsQUVK1glowgnZwdxTO+ol+sqaRPxKJ6qDiYU1wxPbZVhtcUWOZG+X/kpB7zlcplKfHzRDpg3br1VUc6a9CpG8VxBRDIoy/3rRnups=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=rXzq+qXX; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775800255;\n\tbh=adotA/V+MQ7wgPmgyJRZLabHOEzjzDHEZuvNSiVnByw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=rXzq+qXXGHKFdTEHH4V081hOqLkNfjy+xN3A5I8xX0aYNfICbiGwyuZ4M+EQxV/y8\n\t OVas0PkRjej2GjVa2TpozsrFLkYhADO2Z8BI5c2RQD0sS8lgX0nPAxSSs67Y6iYShi\n\t lvNfF4hO12cIERJz/rc/oWrrJbCoIAn68jxSdQvtmMTEw3QXQ+sE4UCgB12QfpXAoM\n\t dCptzylbzbnOLJUlrfaV/rJhjXggRsRzdxjmQwbmp8TFGemSxaNRFSU/akdoECuUJD\n\t KrIhwYEurakMPTHwHiNXwIAYdQhuwAcruK1YVIHeaP5RBsLznbYH+ivhACQkevt7ew\n\t KKmng7Ls70EVw==", "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 03/20] PCI/sysfs: Use BAR length in pci_llseek_resource() when\n attr->size is zero", "Date": "Fri, 10 Apr 2026 05:50:23 +0000", "Message-ID": "<20260410055040.39233-4-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>", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit" }, "content": "Both legacy and resource attributes set .f_mapping = iomem_get_mapping,\nso the default generic_file_llseek() would consult iomem_inode for the\nfile size, which knows nothing about the attribute. That is why this\ncustom llseek callback exists.\n\nCurrently, the legacy and resource attributes have .size set at creation\ntime, as such, using the attr->size is sufficient. However, the upcoming\nstatic resource attributes will have .size == 0 set, since they are const,\nand the .bin_size callback will be used to provide the real size to kernfs\ninstead.\n\nThus, update pci_llseek_resource() to derive the file size from the\nBAR using pci_resource_len() instead of reading the attr->size directly.\n\nThe custom pci_llseek_resource() helper has been added in commit\n24de09c16f97 (\"PCI: Implement custom llseek for sysfs resource\nentries\").\n\nSigned-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>\n---\n drivers/pci/pci-sysfs.c | 14 ++++++++++++--\n 1 file changed, 12 insertions(+), 2 deletions(-)", "diff": "diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c\nindex 008e0dd0de36..ac4e7c516e78 100644\n--- a/drivers/pci/pci-sysfs.c\n+++ b/drivers/pci/pci-sysfs.c\n@@ -909,11 +909,21 @@ static const struct attribute_group pci_dev_config_attr_group = {\n */\n static __maybe_unused loff_t\n pci_llseek_resource(struct file *filep,\n-\t\t struct kobject *kobj __always_unused,\n+\t\t struct kobject *kobj,\n \t\t const struct bin_attribute *attr,\n \t\t loff_t offset, int whence)\n {\n-\treturn fixed_size_llseek(filep, offset, whence, attr->size);\n+\tstruct pci_dev *pdev;\n+\tint bar;\n+\n+\tif (attr->size)\n+\t\treturn fixed_size_llseek(filep, offset, whence, attr->size);\n+\n+\tpdev = to_pci_dev(kobj_to_dev(kobj));\n+\tbar = (unsigned long)attr->private;\n+\n+\treturn fixed_size_llseek(filep, offset, whence,\n+\t\t\t\t pci_resource_len(pdev, bar));\n }\n \n #ifdef HAVE_PCI_LEGACY\n", "prefixes": [ "03/20" ] }