]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI/pwrctrl: Cancel outstanding rescan work when unregistering
authorBrian Norris <briannorris@google.com>
Wed, 9 Apr 2025 18:53:13 +0000 (11:53 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 23 May 2025 20:22:25 +0000 (15:22 -0500)
commit8b926f237743f020518162c62b93cb7107a2b5eb
treea7d2ce950fd5314010d2477713146d6de9a8614c
parent0af2f6be1b4281385b618cb86ad946eded089ac8
PCI/pwrctrl: Cancel outstanding rescan work when unregistering

It's possible to trigger use-after-free here by:

  (a) forcing rescan_work_func() to take a long time and
  (b) utilizing a pwrctrl driver that may be unloaded for some reason

Cancel outstanding work to ensure it is finished before we allow our data
structures to be cleaned up.

[bhelgaas: tidy commit log]
Fixes: 8f62819aaace ("PCI/pwrctl: Rescan bus on a separate thread")
Signed-off-by: Brian Norris <briannorris@google.com>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Cc: Konrad Dybcio <konradybcio@kernel.org>
Link: https://patch.msgid.link/20250409115313.1.Ia319526ed4ef06bec3180378c9a008340cec9658@changeid
drivers/pci/pwrctrl/core.c