PCI: Fix race condition with driver_override
authorNicolai Stange <nstange@suse.de>
Mon, 11 Sep 2017 07:45:40 +0000 (09:45 +0200)
committerpopcornmix <popcornmix@gmail.com>
Fri, 6 Oct 2017 12:06:51 +0000 (13:06 +0100)
commitfae2bc49cf6e629b227a8eae466b345197bc7e35
tree6e42839de3b89a537f38429d2aab3c11f8fba89a
parentd614581d66b592a6fad37e2676b82a5c6dd9716d
PCI: Fix race condition with driver_override

commit 9561475db680f7144d2223a409dd3d7e322aca03 upstream.

The driver_override implementation is susceptible to a race condition when
different threads are reading vs. storing a different driver override.  Add
locking to avoid the race condition.

This is in close analogy to commit 6265539776a0 ("driver core: platform:
fix race condition with driver_override") from Adrian Salido.

Fixes: 782a985d7af2 ("PCI: Introduce new device binding path using pci_dev.driver_override")
Signed-off-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/pci-sysfs.c