[PATCH v4 05/11] PCI: liveupdate: Inherit bus numbers during Live Update

Bjorn Helgaas helgaas at kernel.org
Mon Apr 27 14:07:28 PDT 2026


On Thu, Apr 23, 2026 at 09:23:09PM +0000, David Matlack wrote:
> Inherit bus numbers from the previous kernel during a Live Update when
> one or more PCI devices are being preserved.

> +++ b/drivers/pci/liveupdate.c
> @@ -93,6 +93,19 @@
>   * bound to the correct driver. i.e. The PCI core does not protect against a
>   * device getting preserved by driver A in the outgoing kernel and then getting
>   * bound to driver B in the incoming kernel.
> + *
> + * BDF Stability
> + * =============
> + *
> + * The PCI core guarantees that incoming preserved devices can be identified by
> + * the same bus, device, and function numbers as prior to kexec. To accomplish
> + * this, the PCI core always inherits the secondary and subordinate bus numbers
> + * assigned to bridges during enumeration, rather than assigning new ones (the
> + * PCI core assumes that the previous kernel established a sane topology).
> + *
> + * If a misconfigured or unconfigured bridge is encountered during enumeration
> + * while there are incoming preserved devices, it's secondary and subordinate
> + * bus numbers will be cleared and devices below it will not be enumerated.

s/it's/its/



More information about the kexec mailing list