diff options
author | Dexuan Cui <[email protected]> | 2023-06-14 21:44:47 -0700 |
---|---|---|
committer | Wei Liu <[email protected]> | 2023-06-18 03:05:39 +0000 |
commit | 440b5e3663271b0ffbd4908115044a6a51fb938b (patch) | |
tree | a522a1483f191ba92049426b651effbacccb41de /drivers/gpu/drm/logicvc/logicvc_interface.c | |
parent | 52ae076c3a9b366b6fa9f7c7e67aed8b28716ed9 (diff) |
PCI: hv: Fix a race condition bug in hv_pci_query_relations()
Since day 1 of the driver, there has been a race between
hv_pci_query_relations() and survey_child_resources(): during fast
device hotplug, hv_pci_query_relations() may error out due to
device-remove and the stack variable 'comp' is no longer valid;
however, pci_devices_present_work() -> survey_child_resources() ->
complete() may be running on another CPU and accessing the no-longer-valid
'comp'. Fix the race by flushing the workqueue before we exit from
hv_pci_query_relations().
Fixes: 4daace0d8ce8 ("PCI: hv: Add paravirtual PCI front-end for Microsoft Hyper-V VMs")
Signed-off-by: Dexuan Cui <[email protected]>
Reviewed-by: Michael Kelley <[email protected]>
Acked-by: Lorenzo Pieralisi <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Wei Liu <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/logicvc/logicvc_interface.c')
0 files changed, 0 insertions, 0 deletions