From: Sasha Levin Date: Fri, 3 Jul 2026 13:08:10 +0000 (-0400) Subject: drop 1 patch based on RC review feedback X-Git-Tag: v5.10.260~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=800a8114d6462a0b34e0e65641d2b97564cea269;p=thirdparty%2Fkernel%2Fstable-queue.git drop 1 patch based on RC review feedback Dropped patches: - "MIPS: smp: Report dying CPU to RCU in stop_this_cpu()" Queues: 6.1, 6.6 Reason: build failure - rcutree_report_cpu_dead() does not exist before v6.7 (renamed from rcu_report_dead() in 448e9f34d91d); Huacai Chen asked for the sibling LoongArch patch to be dropped from 6.1/6.6 for the same reason and will send properly adapted backports Report: https://lore.kernel.org/stable/329cd36.6ac7d.19f25f6d0e3.Coremail.chenhuacai@loongson.cn/ Signed-off-by: Sasha Levin --- diff --git a/queue-6.1/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch b/queue-6.1/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch deleted file mode 100644 index 92bb42b4d9..0000000000 --- a/queue-6.1/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 9f3f3bdc6d9dac1a5a8262ee7ad0f2ff1527a7e7 Mon Sep 17 00:00:00 2001 -From: Jonas Jelonek -Date: Mon, 8 Jun 2026 09:37:29 +0000 -Subject: MIPS: smp: report dying CPU to RCU in stop_this_cpu() - -From: Jonas Jelonek - -commit 9f3f3bdc6d9dac1a5a8262ee7ad0f2ff1527a7e7 upstream. - -smp_send_stop() parks all secondary CPUs in stop_this_cpu(). The function -marks the CPU offline for the scheduler via set_cpu_online(false) but -never informs RCU, so RCU keeps expecting a quiescent state from CPUs -that are now spinning forever with interrupts disabled. - -As long as nothing waits for an RCU grace period after smp_send_stop() -this is harmless, which is why it went unnoticed. Since commit -91840be8f710 ("irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT") -however, irq_work_sync() calls synchronize_rcu() on architectures without -an irq_work self-IPI, i.e. where arch_irq_work_has_interrupt() returns -false. That is the asm-generic default used by MIPS. Any irq_work_sync() -issued in the reboot/shutdown path after smp_send_stop() then blocks on -a grace period that can never complete, hanging the reboot: - - WARNING: CPU: 0 PID: 15 at kernel/irq_work.c:144 irq_work_queue_on - ... - rcu: INFO: rcu_sched detected stalls on CPUs/tasks: - rcu: Offline CPU 1 blocking current GP. - rcu: Offline CPU 2 blocking current GP. - rcu: Offline CPU 3 blocking current GP. - -This issue was noticed on several Realtek MIPS switch SoCs (MIPS -interAptiv) and came up during kernel bump downstream in OpenWrt from -6.18.33 to 6.18.34, after the backport of the patch to the 6.18 stable -branch. The patch also has been backported all the way back to 6.1. - -Call rcutree_report_cpu_dead() once interrupts are disabled, mirroring the -generic CPU-hotplug offline path, so RCU stops waiting on the parked CPUs -and grace periods can still complete. MIPS shuts down all CPUs here -without going through the CPU-hotplug mechanism, so this report is not -otherwise issued. Reporting a dying CPU to RCU outside the regular hotplug -offline path is not unprecedented: arm64 does the same in cpu_die_early(). -There it is an exception for a CPU that was coming online and is aborting -bringup, rather than the default shutdown action as on MIPS. - -Fixes: 91840be8f710 ("irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT") -CC: stable@vger.kernel.org -Signed-off-by: Jonas Jelonek -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Greg Kroah-Hartman ---- - arch/mips/kernel/smp.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/arch/mips/kernel/smp.c -+++ b/arch/mips/kernel/smp.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -392,6 +393,7 @@ static void stop_this_cpu(void *dummy) - set_cpu_online(smp_processor_id(), false); - calculate_cpu_foreign_map(); - local_irq_disable(); -+ rcutree_report_cpu_dead(); - while (1); - } - diff --git a/queue-6.1/series b/queue-6.1/series index 38d545c20a..66ba2ee355 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -97,7 +97,6 @@ irqchip-imgpdc-fix-resource-leak-add-missing-chained-handler-cleanup-on-remove.p fpga-region-fix-use-after-free-in-child_regions_with_firmware.patch ocfs2-reject-oversized-group-bitmap-descriptors.patch 9p-avoid-putting-oldfid-in-p9_client_walk-error-path.patch -mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch kvm-svm-fix-page-overflow-in-sev_dbg_crypt-for-encrypt-path.patch power-reset-linkstation-poweroff-fix-use-after-free-in-the-linkstation_poweroff_init.patch fbdev-fix-fb_new_modelist-to-prevent-null-ptr-deref-in-fb_videomode_to_var.patch diff --git a/queue-6.6/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch b/queue-6.6/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch deleted file mode 100644 index 56cad02c1f..0000000000 --- a/queue-6.6/mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 9f3f3bdc6d9dac1a5a8262ee7ad0f2ff1527a7e7 Mon Sep 17 00:00:00 2001 -From: Jonas Jelonek -Date: Mon, 8 Jun 2026 09:37:29 +0000 -Subject: MIPS: smp: report dying CPU to RCU in stop_this_cpu() - -From: Jonas Jelonek - -commit 9f3f3bdc6d9dac1a5a8262ee7ad0f2ff1527a7e7 upstream. - -smp_send_stop() parks all secondary CPUs in stop_this_cpu(). The function -marks the CPU offline for the scheduler via set_cpu_online(false) but -never informs RCU, so RCU keeps expecting a quiescent state from CPUs -that are now spinning forever with interrupts disabled. - -As long as nothing waits for an RCU grace period after smp_send_stop() -this is harmless, which is why it went unnoticed. Since commit -91840be8f710 ("irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT") -however, irq_work_sync() calls synchronize_rcu() on architectures without -an irq_work self-IPI, i.e. where arch_irq_work_has_interrupt() returns -false. That is the asm-generic default used by MIPS. Any irq_work_sync() -issued in the reboot/shutdown path after smp_send_stop() then blocks on -a grace period that can never complete, hanging the reboot: - - WARNING: CPU: 0 PID: 15 at kernel/irq_work.c:144 irq_work_queue_on - ... - rcu: INFO: rcu_sched detected stalls on CPUs/tasks: - rcu: Offline CPU 1 blocking current GP. - rcu: Offline CPU 2 blocking current GP. - rcu: Offline CPU 3 blocking current GP. - -This issue was noticed on several Realtek MIPS switch SoCs (MIPS -interAptiv) and came up during kernel bump downstream in OpenWrt from -6.18.33 to 6.18.34, after the backport of the patch to the 6.18 stable -branch. The patch also has been backported all the way back to 6.1. - -Call rcutree_report_cpu_dead() once interrupts are disabled, mirroring the -generic CPU-hotplug offline path, so RCU stops waiting on the parked CPUs -and grace periods can still complete. MIPS shuts down all CPUs here -without going through the CPU-hotplug mechanism, so this report is not -otherwise issued. Reporting a dying CPU to RCU outside the regular hotplug -offline path is not unprecedented: arm64 does the same in cpu_die_early(). -There it is an exception for a CPU that was coming online and is aborting -bringup, rather than the default shutdown action as on MIPS. - -Fixes: 91840be8f710 ("irq_work: Fix use-after-free in irq_work_single() on PREEMPT_RT") -CC: stable@vger.kernel.org -Signed-off-by: Jonas Jelonek -Signed-off-by: Thomas Bogendoerfer -Signed-off-by: Greg Kroah-Hartman ---- - arch/mips/kernel/smp.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/arch/mips/kernel/smp.c -+++ b/arch/mips/kernel/smp.c -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -410,6 +411,7 @@ static void stop_this_cpu(void *dummy) - set_cpu_online(smp_processor_id(), false); - calculate_cpu_foreign_map(); - local_irq_disable(); -+ rcutree_report_cpu_dead(); - while (1); - } - diff --git a/queue-6.6/series b/queue-6.6/series index 65942742a8..49c02202cc 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -151,7 +151,6 @@ fpga-region-fix-use-after-free-in-child_regions_with_firmware.patch rpmsg-char-fix-use-after-free-on-probe-error-path.patch ocfs2-reject-oversized-group-bitmap-descriptors.patch 9p-avoid-putting-oldfid-in-p9_client_walk-error-path.patch -mips-smp-report-dying-cpu-to-rcu-in-stop_this_cpu.patch kvm-x86-hyper-v-bound-the-bank-index-when-querying-sparse-banks.patch kvm-svm-fix-page-overflow-in-sev_dbg_crypt-for-encrypt-path.patch power-reset-linkstation-poweroff-fix-use-after-free-in-the-linkstation_poweroff_init.patch