]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: Fix BAR resize rollback path overwriting ret
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 21 Jan 2026 13:14:16 +0000 (15:14 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 22 Jan 2026 16:28:59 +0000 (10:28 -0600)
commit08d9eae76b85263173f8c833800e3cc409ee1be4
treea0c00b3caca0ea375bae98fea1997f61e2402f31
parent8f0b4cce4481fb22653697cced8d0d04027cb1e8
PCI: Fix BAR resize rollback path overwriting ret

The commit 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize rollback
path") added BAR rollback to pci_do_resource_release_and_resize() in case
of resize failure.

On the rollback, pci_claim_resource() is called, which can fail and the
code is prepared for that possibility. pci_claim_resource()'s return value,
however, overwrites the original value of ret so
pci_do_resource_release_and_resize() will return an incorrect value in the
end (as pci_claim_resource() normally succeeds, in practice ret will be 0).

Fix the issue by directly calling pci_claim_resource() inside the if ().

Fixes: 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize rollback path")
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/linux-pci/aW_w1oFQCzUxGYtu@intel.com/
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260121131417.9582-2-ilpo.jarvinen@linux.intel.com
drivers/pci/setup-bus.c