From: Manivannan Sadhasivam <mani@kernel.org>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Cc: "Bjorn Helgaas" <bhelgaas@google.com>,
linux-pci@vger.kernel.org,
"Rick Wertenbroek" <rick.wertenbroek@gmail.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 08/12] misc: pci_endpoint_test: Free IRQs before removing the device
Date: Thu, 16 Feb 2023 16:16:02 +0530 [thread overview]
Message-ID: <20230216104602.GI2420@thinkpad> (raw)
In-Reply-To: <20230215032155.74993-9-damien.lemoal@opensource.wdc.com>
On Wed, Feb 15, 2023 at 12:21:51PM +0900, Damien Le Moal wrote:
> 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.
>
> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
This looks like a bug. So there should be Fixes tag and stable list has to be
CCed for backporting.
With that,
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Thanks,
Mani
> ---
> drivers/misc/pci_endpoint_test.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c
> index 11530b4ec389..e27d471cc847 100644
> --- a/drivers/misc/pci_endpoint_test.c
> +++ b/drivers/misc/pci_endpoint_test.c
> @@ -937,6 +937,9 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
> if (id < 0)
> return;
>
> + pci_endpoint_test_release_irq(test);
> + pci_endpoint_test_free_irq_vectors(test);
> +
> misc_deregister(&test->miscdev);
> kfree(misc_device->name);
> kfree(test->name);
> @@ -946,9 +949,6 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
> pci_iounmap(pdev, test->bar[bar]);
> }
>
> - pci_endpoint_test_release_irq(test);
> - pci_endpoint_test_free_irq_vectors(test);
> -
> pci_release_regions(pdev);
> pci_disable_device(pdev);
> }
> --
> 2.39.1
>
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2023-02-16 10:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-15 3:21 [PATCH 00/12] PCI endpoint fixes and improvements Damien Le Moal
2023-02-15 3:21 ` [PATCH 01/12] pci: endpoint: Automatically create a function type attributes group Damien Le Moal
2023-02-16 10:04 ` Manivannan Sadhasivam
2023-02-16 12:31 ` Damien Le Moal
2023-02-15 3:21 ` [PATCH 02/12] pci: endpoint: do not export pci_epf_type_add_cfs() Damien Le Moal
2023-02-16 10:15 ` Manivannan Sadhasivam
2023-02-16 12:33 ` Damien Le Moal
2023-02-15 3:21 ` [PATCH 03/12] pci: epf-test: Fix DMA transfer completion detection Damien Le Moal
2023-02-16 10:18 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 04/12] pci: epf-test: Use driver registers as volatile Damien Le Moal
2023-02-16 10:23 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 05/12] pci: epf-test: Simplify dma support checks Damien Le Moal
2023-02-16 10:27 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 06/12] pci: epf-test: Simplify transfers result print Damien Le Moal
2023-02-16 10:39 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 07/12] pci: epf-test: Add debug and error messages Damien Le Moal
2023-02-15 11:34 ` Greg Kroah-Hartman
2023-02-15 11:44 ` Damien Le Moal
2023-02-15 11:34 ` Greg Kroah-Hartman
2023-02-15 11:45 ` Damien Le Moal
2023-02-15 12:01 ` Greg Kroah-Hartman
2023-02-15 12:18 ` Damien Le Moal
2023-02-15 13:24 ` Greg Kroah-Hartman
2023-02-15 13:49 ` Arnd Bergmann
2023-02-15 22:55 ` Damien Le Moal
2023-02-15 3:21 ` [PATCH 08/12] misc: pci_endpoint_test: Free IRQs before removing the device Damien Le Moal
2023-02-16 10:46 ` Manivannan Sadhasivam [this message]
2023-02-15 3:21 ` [PATCH 09/12] misc: pci_endpoint_test: Do not write status in IRQ handler Damien Le Moal
2023-02-16 10:51 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 10/12] misc: pci_endpoint_test: Re-init completion for every test Damien Le Moal
2023-02-16 10:55 ` Manivannan Sadhasivam
2023-02-16 12:35 ` Damien Le Moal
2023-02-15 3:21 ` [PATCH 11/12] misc: pci_endpoint_test: Simplify pci_endpoint_test_msi_irq() Damien Le Moal
2023-02-16 10:57 ` Manivannan Sadhasivam
2023-02-15 3:21 ` [PATCH 12/12] misc: pci_endpoint_test: Add debug and error messages Damien Le Moal
2023-02-15 9:20 ` kernel test robot
2023-02-15 11:34 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230216104602.GI2420@thinkpad \
--to=mani@kernel.org \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=gregkh@linuxfoundation.org \
--cc=kishon@kernel.org \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=rick.wertenbroek@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.