From: Greg Kroah-Hartman Date: Mon, 2 Jan 2023 10:32:24 +0000 (+0100) Subject: drop powerpc-msi-fix-deassociation-of-msi-descriptors.patch from all branches X-Git-Tag: v6.0.17~27 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f209c00dd49513674f4631924557275637ff12d3;p=thirdparty%2Fkernel%2Fstable-queue.git drop powerpc-msi-fix-deassociation-of-msi-descriptors.patch from all branches --- diff --git a/queue-4.14/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-4.14/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 025657143ea..00000000000 --- a/queue-4.14/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From c61df2f3661313a996d6baa620349e5160ed46c1 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index 9926ad67af76..ac5fbb2492aa 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -121,6 +121,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index e98b61c06a81..1c889a9e1a4f 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -299,6 +299,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d9cd510c8865..6e54377663db 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -74,6 +74,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index d43d3d1b27ed..83c6ea6a82e0 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -137,6 +137,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index cfc1c57d760f..26db91c8feff 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -116,6 +116,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - --- -2.35.1 - diff --git a/queue-4.14/series b/queue-4.14/series index 0883150d2ea..2383a9c501f 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -261,5 +261,4 @@ gcov-add-support-for-checksum-field.patch media-dvbdev-fix-refcnt-bug.patch powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-4.19/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-4.19/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index eae56dd6a10..00000000000 --- a/queue-4.19/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 60543a5036bcd01c190e9850578ce71981f05884 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index 1c18f2955f7d..8af640339de4 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -121,6 +121,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index 946a09ae9fb2..e6b35c25be21 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -299,6 +299,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d9cd510c8865..6e54377663db 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -74,6 +74,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index 44aedb6b9f55..870cff74ecc2 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -137,6 +137,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index cfc1c57d760f..26db91c8feff 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -116,6 +116,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - --- -2.35.1 - diff --git a/queue-4.19/series b/queue-4.19/series index baa2a1e89e4..bc4151f9620 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -364,5 +364,4 @@ media-dvbdev-fix-refcnt-bug.patch ata-ahci-fix-pcs-quirk-application-for-suspend.patch powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-4.9/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-4.9/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 0437e8ccb5f..00000000000 --- a/queue-4.9/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 760aa3717faf046c8d5bdc27c226179d192b7ddf Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - arch/powerpc/sysdev/ppc4xx_hsta_msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index 8b55c5f19d4c..f78dc043f370 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -298,6 +298,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d9cd510c8865..6e54377663db 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -74,6 +74,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index 8a244828782e..aa9dd3a92f2a 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -137,6 +137,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index cfc1c57d760f..26db91c8feff 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -116,6 +116,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/ppc4xx_hsta_msi.c b/arch/powerpc/sysdev/ppc4xx_hsta_msi.c -index 9926ad67af76..ac5fbb2492aa 100644 ---- a/arch/powerpc/sysdev/ppc4xx_hsta_msi.c -+++ b/arch/powerpc/sysdev/ppc4xx_hsta_msi.c -@@ -121,6 +121,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - --- -2.35.1 - diff --git a/queue-4.9/series b/queue-4.9/series index df65b766d25..ff0deabea96 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -216,5 +216,4 @@ reiserfs-add-missing-calls-to-reiserfs_security_free.patch iio-adc-ad_sigma_delta-do-not-use-internal-iio_dev-lock.patch gcov-add-support-for-checksum-field.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-5.10/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-5.10/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 82f48f1ced0..00000000000 --- a/queue-5.10/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From b92d6857500c31e9e6cc68bff1aaf6ade894c00b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index c950fed43b32..4f65bd0cf111 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -117,6 +117,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index ffbc7d2e9464..9f77dde61f31 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -295,6 +295,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d38944a1e258..76393c158ada 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -69,6 +69,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index d276c5e96445..5c3f3173638e 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -132,6 +132,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index 3861023d378a..43686c82e483 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -111,6 +111,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - --- -2.35.1 - diff --git a/queue-5.10/series b/queue-5.10/series index 44b56f97065..cfc3894e433 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -580,6 +580,5 @@ nvmet-don-t-defer-passthrough-commands-with-trivial-.patch objtool-fix-segfault.patch powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-multitouch-fix-asus-expertbook-p2-p2451fa-trackp.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-5.15/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-5.15/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 7f430b6c288..00000000000 --- a/queue-5.15/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 4cf3d1ee046537cbcbcb6690c4913dd7406c3b8b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index c950fed43b32..4f65bd0cf111 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -117,6 +117,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index f630693c8de7..2bcd9c54bce3 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -295,6 +295,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d38944a1e258..76393c158ada 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -69,6 +69,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index c55ccec0a169..173d585c1be8 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -132,6 +132,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index 3861023d378a..43686c82e483 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -111,6 +111,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - --- -2.35.1 - diff --git a/queue-5.15/series b/queue-5.15/series index 989c4e0bfc4..b98929886ca 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -31,6 +31,5 @@ fs-ntfs3-fix-slab-out-of-bounds-in-r_page.patch objtool-fix-segfault.patch powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-multitouch-fix-asus-expertbook-p2-p2451fa-trackp.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-5.4/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-5.4/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 92982ebd312..00000000000 --- a/queue-5.4/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 34fc35508d334897a23bf224c4d92512ac63260c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index c950fed43b32..4f65bd0cf111 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -117,6 +117,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index ba33140e671d..d141f64150e8 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -295,6 +295,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index d38944a1e258..76393c158ada 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -69,6 +69,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index d276c5e96445..5c3f3173638e 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -132,6 +132,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index 3861023d378a..43686c82e483 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -111,6 +111,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - --- -2.35.1 - diff --git a/queue-5.4/series b/queue-5.4/series index 4cd28655528..5aaff7fb4a3 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -460,6 +460,5 @@ nvme-fix-the-nvme_cmd_effects_cse_mask-definition.patch objtool-fix-segfault.patch powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-multitouch-fix-asus-expertbook-p2-p2451fa-trackp.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-6.0/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-6.0/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index be5365aabb1..00000000000 --- a/queue-6.0/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 74ebcf895a53c6ffced84928c2cbf1ed7086b76d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index d4f7fff1fc87..e11b57a62b05 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -115,6 +115,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index 5b012abca773..0c11aad896c7 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -289,6 +289,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - msi_for_each_desc(entry, &dev->dev, MSI_DESC_ASSOCIATED) { - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index dc1846660005..166c97fff16d 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -66,6 +66,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - } -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index 73c2d70706c0..57978a44d55b 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -132,6 +132,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - } -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index 1d8cfdfdf115..492cb03c0b62 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -108,6 +108,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - } --- -2.35.1 - diff --git a/queue-6.0/series b/queue-6.0/series index 3a235f98dfd..3107d05bc89 100644 --- a/queue-6.0/series +++ b/queue-6.0/series @@ -43,6 +43,5 @@ powerpc-rtas-avoid-device-tree-lookups-in-rtas_os_te.patch powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch rtc-msc313-fix-function-prototype-mismatch-in-msc313.patch kprobes-kretprobe-events-missing-on-2-core-kvm-guest.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-multitouch-fix-asus-expertbook-p2-p2451fa-trackp.patch hid-plantronics-additional-pids-for-double-volume-ke.patch diff --git a/queue-6.1/powerpc-msi-fix-deassociation-of-msi-descriptors.patch b/queue-6.1/powerpc-msi-fix-deassociation-of-msi-descriptors.patch deleted file mode 100644 index 581303ffe19..00000000000 --- a/queue-6.1/powerpc-msi-fix-deassociation-of-msi-descriptors.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 22a6a7a0b24fc5c4457fea8ae21d4bdd5e53f528 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 17 Dec 2022 10:46:44 +0000 -Subject: powerpc/msi: Fix deassociation of MSI descriptors - -From: Marc Zyngier - -[ Upstream commit 4545c6a3d6ba71747eaa984c338ddd745e56e23f ] - -Since 2f2940d16823 ("genirq/msi: Remove filter from -msi_free_descs_free_range()"), the core MSI code relies on the -msi_desc->irq field to have been cleared before the descriptor -can be freed, as it indicates that there is no association with -a device anymore. - -The irq domain code provides this guarantee, and so does s390, -which is one of the two architectures not using irq domains for -MSIs. - -Powerpc, however, is missing this particular requirements, -leading in a splat and leaked MSI descriptors. - -Adding the now required irq reset to the handful of powerpc backends -that implement MSIs fixes that particular problem. - -Reported-by: Guenter Roeck -Signed-off-by: Marc Zyngier -Link: https://lore.kernel.org/r/70dab88e-6119-0c12-7c6a-61bcbe239f66@roeck-us.net -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/4xx/hsta_msi.c | 1 + - arch/powerpc/platforms/cell/axon_msi.c | 1 + - arch/powerpc/platforms/pasemi/msi.c | 1 + - arch/powerpc/sysdev/fsl_msi.c | 1 + - arch/powerpc/sysdev/mpic_u3msi.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/arch/powerpc/platforms/4xx/hsta_msi.c b/arch/powerpc/platforms/4xx/hsta_msi.c -index d4f7fff1fc87..e11b57a62b05 100644 ---- a/arch/powerpc/platforms/4xx/hsta_msi.c -+++ b/arch/powerpc/platforms/4xx/hsta_msi.c -@@ -115,6 +115,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) - msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1); - pr_debug("%s: Teardown IRQ %u (index %u)\n", __func__, - entry->irq, irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c -index 5b012abca773..0c11aad896c7 100644 ---- a/arch/powerpc/platforms/cell/axon_msi.c -+++ b/arch/powerpc/platforms/cell/axon_msi.c -@@ -289,6 +289,7 @@ static void axon_msi_teardown_msi_irqs(struct pci_dev *dev) - msi_for_each_desc(entry, &dev->dev, MSI_DESC_ASSOCIATED) { - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - } - } - -diff --git a/arch/powerpc/platforms/pasemi/msi.c b/arch/powerpc/platforms/pasemi/msi.c -index dc1846660005..166c97fff16d 100644 ---- a/arch/powerpc/platforms/pasemi/msi.c -+++ b/arch/powerpc/platforms/pasemi/msi.c -@@ -66,6 +66,7 @@ static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); - } - } -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index 73c2d70706c0..57978a44d55b 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -132,6 +132,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) - msi_data = irq_get_chip_data(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); - } - } -diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c -index 1d8cfdfdf115..492cb03c0b62 100644 ---- a/arch/powerpc/sysdev/mpic_u3msi.c -+++ b/arch/powerpc/sysdev/mpic_u3msi.c -@@ -108,6 +108,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) - hwirq = virq_to_hw(entry->irq); - irq_set_msi_desc(entry->irq, NULL); - irq_dispose_mapping(entry->irq); -+ entry->irq = 0; - msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); - } - } --- -2.35.1 - diff --git a/queue-6.1/series b/queue-6.1/series index b9e7adac539..29419541a90 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -38,6 +38,5 @@ powerpc-rtas-avoid-scheduling-in-rtas_os_term.patch rtc-msc313-fix-function-prototype-mismatch-in-msc313.patch nfsd-fix-use-after-free-in-__nfs42_ssc_open.patch kprobes-kretprobe-events-missing-on-2-core-kvm-guest.patch -powerpc-msi-fix-deassociation-of-msi-descriptors.patch hid-multitouch-fix-asus-expertbook-p2-p2451fa-trackp.patch hid-plantronics-additional-pids-for-double-volume-ke.patch