Re: [PATCH] PCI: Make PCI cfg_access_lock lockdep key a singleton

Alison Schofield
2024-05-29T00:00:03Z

On Tue, May 28, 2024 at 04:22:59PM -0700, Dan Williams wrote:
> The new lockdep annotation for cfg_access_lock naively registered a new
> key per device. This is overkill and leads to warnings on hash
> collisions at dynamic registration time:
>
> WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:1226 lockdep_register_key+0xb0/0x240
> RIP: 0010:lockdep_register_key+0xb0/0x240
> [..]
> Call Trace:
> <TASK>
> ? __warn+0x8c/0x190
> ? lockdep_register_key+0xb0/0x240
> ? report_bug+0x1f8/0x200
> ? handle_bug+0x3c/0x70
> ? exc_invalid_op+0x18/0x70
> ? asm_exc_invalid_op+0x1a/0x20
> ? lockdep_register_key+0xb0/0x240
> pci_device_add+0x14b/0x560
> ? pci_setup_device+0x42e/0x6a0
> pci_scan_single_device+0xa7/0xd0
> p2sb_scan_and_cache_devfn+0xc/0x90
> p2sb_fs_init+0x15f/0x170
>
> Switch to a shared static key for all instances.
>
> Fixes: 7e89efc6e9e4 ("PCI: Lock upstream bridge for pci_reset_function()")
> Reported-by: Jani Saarinen <jani.saarinen@intel.com>
> Closes: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14834/bat-apl-1/boot0.txt
> Cc: Dave Jiang <dave.jiang@intel.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---

Reviewed-by: Alison Schofield <alison.schofield@intel.com>

>