misc: pci_endpoint_test: Free IRQs before removing the device
authorDamien Le Moal <dlemoal@kernel.org>
Sat, 15 Apr 2023 02:35:39 +0000 (11:35 +0900)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 23 Jun 2023 20:03:26 +0000 (15:03 -0500)
commitf61b7634a3249d12b9daa36ffbdb9965b6f24c6c
tree73b28c6f8b5baab64de0e755757ceece53a677ec
parent1754dfd2e7931f60d199a9cb044991ab80cdfe0b
misc: pci_endpoint_test: Free IRQs before removing the device

In pci_endpoint_test_remove(), freeing the IRQs after removing the device
creates a small race window for IRQs to be received with the test device
memory already released, causing the IRQ handler to access invalid memory,
resulting in an oops.

Free the device IRQs before removing the device to avoid this issue.

Link: https://lore.kernel.org/r/20230415023542.77601-15-dlemoal@kernel.org
Fixes: e03327122e2c ("pci_endpoint_test: Add 2 ioctl commands")
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Cc: stable@vger.kernel.org
drivers/misc/pci_endpoint_test.c