Linux PCI subsystem development
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Krzysztof Wilczyński" <kwilczynski@kernel.org>
Cc: linux-pci@vger.kernel.org
Subject: Re: [PATCH v7 19/24] PCI: Add macros for legacy I/O and memory address space sizes
Date: Fri, 08 May 2026 05:09:25 +0000	[thread overview]
Message-ID: <20260508050926.821E2C2BCB0@smtp.kernel.org> (raw)
In-Reply-To: <20260508043543.217179-20-kwilczynski@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] PCI_LEGACY_IO_SIZE macro is defined with an incorrect size of (SZ_64K - 1).
--

commit d53406577948bbef31acd8d9cf7f8f8d4aed412a
Author: Krzysztof Wilczyński <kwilczynski@kernel.org>

PCI: Add macros for legacy I/O and memory address space sizes

This commit adds defines for the standard PCI legacy address space sizes
to replace raw literals used by legacy sysfs attributes. It then updates
the sysfs code to use these newly added macros.

> diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
> index a6451bbf69a8c..7ba12b2abe486 100644
> --- a/drivers/pci/pci-sysfs.c
> +++ b/drivers/pci/pci-sysfs.c
> @@ -1019,7 +1019,7 @@ void pci_create_legacy_files(struct pci_bus *b)
>  
>  	sysfs_bin_attr_init(b->legacy_io);
>  	b->legacy_io->attr.name = "legacy_io";
> -	b->legacy_io->size = 0xffff;
> +	b->legacy_io->size = PCI_LEGACY_IO_SIZE;
>  	b->legacy_io->attr.mode = 0600;

[ ... ]

> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index c56f2cf0d2ab5..e37677a8dd3ca 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h

[ ... ]

> @@ -1169,6 +1170,10 @@ enum {
>  /* These external functions are only available when PCI support is enabled */
>  #ifdef CONFIG_PCI
>  
> +/* PCI legacy I/O port and memory address space sizes. */
> +#define PCI_LEGACY_IO_SIZE	(SZ_64K - 1)

Is this macro value mathematically correct for a size definition?

The legacy PCI I/O port space spans ports 0x0000 through 0xFFFF, meaning
its total size is exactly 64 KiB.

While the original sysfs code hardcoded 0xffff as the file size (which this
patch intentionally maintains), exposing this off-by-one limit globally under
a SIZE naming convention seems potentially confusing.

If other subsystems start using PCI_LEGACY_IO_SIZE for memory allocations
or loop bounds, could this lead to unexpected truncations? Might it make
sense to define the true size as SZ_64K, and handle the off-by-one quirk
directly at the sysfs site instead?

> +#define PCI_LEGACY_MEM_SIZE	SZ_1M
> +
>  extern unsigned int pci_flags;

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260508043543.217179-1-kwilczynski@kernel.org?part=19

  reply	other threads:[~2026-05-08  5:09 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-08  4:35 [PATCH v7 00/24] PCI: Convert all dynamic sysfs attributes to static Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 01/24] PCI/sysfs: Use PCI resource accessor macros Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 02/24] PCI: Add pci_resource_is_io() and pci_resource_is_mem() helpers Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 03/24] PCI/sysfs: Only allow supported resource types in I/O and MMIO helpers Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 04/24] PCI/sysfs: Split pci_llseek_resource() for device and legacy attributes Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 05/24] PCI/sysfs: Add CAP_SYS_ADMIN check to __resource_resize_store() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 06/24] PCI/sysfs: Add static PCI resource attribute macros Krzysztof Wilczyński
2026-05-08  5:23   ` sashiko-bot
2026-05-08  4:35 ` [PATCH v7 07/24] PCI/sysfs: Convert PCI resource files to static attributes Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 08/24] PCI/sysfs: Warn about BAR resize failure in __resource_resize_store() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 09/24] PCI/sysfs: Add stubs for pci_{create,remove}_sysfs_dev_files() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 10/24] PCI/sysfs: Limit pci_sysfs_init() late_initcall compile scope Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 11/24] alpha/PCI: Add security_locked_down() check to pci_mmap_resource() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 12/24] alpha/PCI: Use BAR index in sysfs attr->private instead of resource pointer Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 13/24] alpha/PCI: Use PCI resource accessor macros Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 14/24] alpha/PCI: Fix __pci_mmap_fits() overflow for zero-length BARs Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 15/24] alpha/PCI: Remove WARN from __pci_mmap_fits() and __legacy_mmap_fits() Krzysztof Wilczyński
2026-05-08  4:54   ` sashiko-bot
2026-05-08  5:04     ` Krzysztof Wilczyński
2026-05-08 23:07       ` Bjorn Helgaas
2026-05-11  7:14         ` Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 16/24] alpha/PCI: Add static PCI resource attribute macros Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 17/24] alpha/PCI: Convert resource files to static attributes Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 18/24] PCI/sysfs: Remove pci_{create,remove}_sysfs_dev_files() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 19/24] PCI: Add macros for legacy I/O and memory address space sizes Krzysztof Wilczyński
2026-05-08  5:09   ` sashiko-bot [this message]
2026-05-08  4:35 ` [PATCH v7 20/24] alpha/PCI: Compute legacy size in pci_mmap_legacy_page_range() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 21/24] PCI/sysfs: Add __weak pci_legacy_has_sparse() helper Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 22/24] PCI/sysfs: Convert legacy I/O and memory attributes to static definitions Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 23/24] PCI/sysfs: Remove pci_create_legacy_files() and pci_sysfs_init() Krzysztof Wilczyński
2026-05-08  4:35 ` [PATCH v7 24/24] PCI/sysfs: Limit BAR resize attribute scope to platforms with PCI mmap Krzysztof Wilczyński
2026-05-08 23:00 ` [PATCH v7 00/24] PCI: Convert all dynamic sysfs attributes to static Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260508050926.821E2C2BCB0@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=kwilczynski@kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=sashiko@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox