lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251219174036.16738-1-ilpo.jarvinen@linux.intel.com>
Date: Fri, 19 Dec 2025 19:40:13 +0200
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: linux-pci@...r.kernel.org,
	Bjorn Helgaas <bhelgaas@...gle.com>,
	Dominik Brodowski <linux@...inikbrodowski.net>
Cc: linux-kernel@...r.kernel.org,
	Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Subject: [PATCH 00/23] PCI: Resource code fixes (supercedes earlier series) & cleanups

Hi all,

Here's the resource code fixes and cleanups series. The 6 patches (the
first 5 + 1 cleanup) have been submitted earlier (not yet applied, I've
closed the patchwork entries for them) but due to a number conflicts
that could easily ensue if these are applied independently, I had to
put all these into the same series.

The series consists of:

1. The first 5 are the most important changes as they relate to
   regressions. These may case shrinkage of bridge windows that
   previous had surplus space beyond the HP reservation size (due to
   sizes inherited from FW). In some HP scenarios the smaller bridge
   window could cause a regression, but this seems a case the pci=hpmm*
   parameters are meant to address.

2. Followed by cleanups (no functional change intended, excluding the
   extra debug logging added).

3. Introduction of pbus_mem_size_optional() to avoid the need to handle
   optional resource in a deeply nested loop (rebar awareness changes
   will have to add some code there). Doing all optional calculations
   in one place feels more logical and consistent anyway. There's a
   minor functional change in this change related to bridge windows
   with only optional resources (I don't expect issues because of it).

4. Separating CardBus bridge setup code to own file + compile it only
   when CONFIG_CARDBUS is set (I'd have wanted to send this separately
   but it seems impractical given that I need to rename the
   pci_dev_resource handling functions when exposing them to another
   file).

Any comments are welcome.


Ilpo Järvinen (23):
  PCI: Fix bridge window alignment with optional resources
  PCI: Rewrite bridge window head alignment function
  PCI: Stop over-estimating bridge window size
  resource: Increase MAX_IORES_LEVEL to 8
  PCI: Remove old_size limit from bridge window sizing
  PCI: Push realloc check into pbus_size_mem()
  PCI: Pass bridge window resource to pbus_size_mem()
  PCI: Use res_to_dev_res() in reassign_resources_sorted()
  PCI: Fetch dev_res to local var in __assign_resources_sorted()
  PCI: Add pci_resource_is_bridge_win()
  PCI: Log reset and restore of resources
  PCI: Check invalid align earlier in pbus_size_mem()
  PCI: Add pbus_mem_size_optional() to handle optional sizes
  resource: Mark res given to resource_assigned() as const
  PCI: Use resource_assigned() in setup-bus.c algorithm
  PCI: Properly prefix struct pci_dev_resource handling functions
  PCI: Separate cardbus setup & build it only with CONFIG_CARDBUS
  PCI: Handle CardBus specific params in setup-cardbus.c
  PCI: Use scnprintf() instead of sprintf()
  PCI: Add Bus Number + Secondary Latency Timer as dword fields
  PCI: Convert to use Bus Number field defines
  PCI: Add pbus_validate_busn() for Bus Number validation
  PCI: Move scanbus bridge scanning to setup-cardbus.c

 drivers/pci/Makefile          |   1 +
 drivers/pci/pci-sysfs.c       |   2 +-
 drivers/pci/pci.c             |  14 +-
 drivers/pci/pci.h             |  49 ++-
 drivers/pci/probe.c           | 128 +++----
 drivers/pci/setup-bus.c       | 644 ++++++++++++----------------------
 drivers/pci/setup-cardbus.c   | 306 ++++++++++++++++
 drivers/pci/setup-res.c       |   2 +-
 drivers/pcmcia/yenta_socket.c |   2 +-
 include/linux/ioport.h        |   2 +-
 include/linux/pci.h           |   6 +-
 include/uapi/linux/pci_regs.h |   5 +
 kernel/resource.c             |   2 +-
 13 files changed, 648 insertions(+), 515 deletions(-)
 create mode 100644 drivers/pci/setup-cardbus.c


base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
-- 
2.39.5


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ