From: Greg Kroah-Hartman Date: Tue, 18 Oct 2022 17:31:47 +0000 (+0200) Subject: drop arm64-run-softirqs-on-the-per-cpu-irq-stack.patch X-Git-Tag: v6.0.3~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f7df0647775490306f9d2d449b1ba7ba5f0fb33;p=thirdparty%2Fkernel%2Fstable-queue.git drop arm64-run-softirqs-on-the-per-cpu-irq-stack.patch --- diff --git a/queue-5.15/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch b/queue-5.15/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch deleted file mode 100644 index 19757eb74f4..00000000000 --- a/queue-5.15/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d142e3103d8d9191fba4e1ffd56b2cb0f731f87d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 15 Aug 2022 20:47:39 +0800 -Subject: arm64: run softirqs on the per-CPU IRQ stack - -From: Qi Zheng - -[ Upstream commit 8eb858c44b98e0326bb32fca34ae671995cd73bb ] - -Currently arm64 supports per-CPU IRQ stack, but softirqs -are still handled in the task context. - -Since any call to local_bh_enable() at any level in the task's -call stack may trigger a softirq processing run, which could -potentially cause a task stack overflow if the combined stack -footprints exceed the stack's size, let's run these softirqs -on the IRQ stack as well. - -Signed-off-by: Qi Zheng -Reviewed-by: Arnd Bergmann -Acked-by: Will Deacon -Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com -Signed-off-by: Catalin Marinas -Signed-off-by: Sasha Levin ---- - arch/arm64/Kconfig | 1 + - arch/arm64/kernel/irq.c | 14 ++++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 1e5a03d51d46..73f411975357 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -221,6 +221,7 @@ config ARM64 - select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD - select TRACE_IRQFLAGS_SUPPORT - select TRACE_IRQFLAGS_NMI_SUPPORT -+ select HAVE_SOFTIRQ_ON_OWN_STACK - help - ARM 64-bit (AArch64) Linux support. - -diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c -index bda49430c9ea..38dbd3828f13 100644 ---- a/arch/arm64/kernel/irq.c -+++ b/arch/arm64/kernel/irq.c -@@ -21,7 +21,9 @@ - #include - #include - #include -+#include - #include -+#include - - /* Only access this in an NMI enter/exit */ - DEFINE_PER_CPU(struct nmi_ctx, nmi_contexts); -@@ -71,6 +73,18 @@ static void init_irq_stacks(void) - } - #endif - -+#ifndef CONFIG_PREEMPT_RT -+static void ____do_softirq(struct pt_regs *regs) -+{ -+ __do_softirq(); -+} -+ -+void do_softirq_own_stack(void) -+{ -+ call_on_irq_stack(NULL, ____do_softirq); -+} -+#endif -+ - static void default_handle_irq(struct pt_regs *regs) - { - panic("IRQ taken without a root IRQ handler\n"); --- -2.35.1 - diff --git a/queue-5.15/series b/queue-5.15/series index 2f7561ef69d..051880e3274 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -533,7 +533,6 @@ arm-dts-imx6sl-add-missing-properties-for-sram.patch arm-dts-imx6sll-add-missing-properties-for-sram.patch arm-dts-imx6sx-add-missing-properties-for-sram.patch kselftest-arm64-fix-validatation-termination-record-.patch -arm64-run-softirqs-on-the-per-cpu-irq-stack.patch arm64-dts-imx8mq-librem5-add-bq25895-as-max17055-s-p.patch arm-orion-fix-include-path.patch btrfs-dump-extra-info-if-one-free-space-cache-has-mo.patch diff --git a/queue-5.19/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch b/queue-5.19/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch deleted file mode 100644 index 6f25abe8f10..00000000000 --- a/queue-5.19/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 4feb063f3cb5158e76785d83ffabeb9501bc5925 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 15 Aug 2022 20:47:39 +0800 -Subject: arm64: run softirqs on the per-CPU IRQ stack - -From: Qi Zheng - -[ Upstream commit 8eb858c44b98e0326bb32fca34ae671995cd73bb ] - -Currently arm64 supports per-CPU IRQ stack, but softirqs -are still handled in the task context. - -Since any call to local_bh_enable() at any level in the task's -call stack may trigger a softirq processing run, which could -potentially cause a task stack overflow if the combined stack -footprints exceed the stack's size, let's run these softirqs -on the IRQ stack as well. - -Signed-off-by: Qi Zheng -Reviewed-by: Arnd Bergmann -Acked-by: Will Deacon -Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com -Signed-off-by: Catalin Marinas -Signed-off-by: Sasha Levin ---- - arch/arm64/Kconfig | 1 + - arch/arm64/kernel/irq.c | 14 ++++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index dfd9228c2adc..38e0a8b19f82 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -227,6 +227,7 @@ config ARM64 - select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD - select TRACE_IRQFLAGS_SUPPORT - select TRACE_IRQFLAGS_NMI_SUPPORT -+ select HAVE_SOFTIRQ_ON_OWN_STACK - help - ARM 64-bit (AArch64) Linux support. - -diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c -index bda49430c9ea..38dbd3828f13 100644 ---- a/arch/arm64/kernel/irq.c -+++ b/arch/arm64/kernel/irq.c -@@ -21,7 +21,9 @@ - #include - #include - #include -+#include - #include -+#include - - /* Only access this in an NMI enter/exit */ - DEFINE_PER_CPU(struct nmi_ctx, nmi_contexts); -@@ -71,6 +73,18 @@ static void init_irq_stacks(void) - } - #endif - -+#ifndef CONFIG_PREEMPT_RT -+static void ____do_softirq(struct pt_regs *regs) -+{ -+ __do_softirq(); -+} -+ -+void do_softirq_own_stack(void) -+{ -+ call_on_irq_stack(NULL, ____do_softirq); -+} -+#endif -+ - static void default_handle_irq(struct pt_regs *regs) - { - panic("IRQ taken without a root IRQ handler\n"); --- -2.35.1 - diff --git a/queue-5.19/series b/queue-5.19/series index a3daa8590b3..05f121d4a24 100644 --- a/queue-5.19/series +++ b/queue-5.19/series @@ -722,7 +722,6 @@ arm-dts-imx6sx-add-missing-properties-for-sram.patch arm-dts-imx6sl-use-tabs-for-code-indent.patch arm-dts-imx6sx-udoo-neo-don-t-use-multiple-blank-lin.patch kselftest-arm64-fix-validatation-termination-record-.patch -arm64-run-softirqs-on-the-per-cpu-irq-stack.patch arm64-dts-imx8mm-kontron-use-the-vselect-signal-to-s.patch arm64-dts-imx8ulp-no-executable-source-file-permissi.patch arm64-dts-imx8mq-librem5-add-bq25895-as-max17055-s-p.patch diff --git a/queue-6.0/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch b/queue-6.0/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch deleted file mode 100644 index addb3e3816c..00000000000 --- a/queue-6.0/arm64-run-softirqs-on-the-per-cpu-irq-stack.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 8b72cc663801f6e97e2b8b4ce7d035ad41a7854d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 15 Aug 2022 20:47:39 +0800 -Subject: arm64: run softirqs on the per-CPU IRQ stack - -From: Qi Zheng - -[ Upstream commit 8eb858c44b98e0326bb32fca34ae671995cd73bb ] - -Currently arm64 supports per-CPU IRQ stack, but softirqs -are still handled in the task context. - -Since any call to local_bh_enable() at any level in the task's -call stack may trigger a softirq processing run, which could -potentially cause a task stack overflow if the combined stack -footprints exceed the stack's size, let's run these softirqs -on the IRQ stack as well. - -Signed-off-by: Qi Zheng -Reviewed-by: Arnd Bergmann -Acked-by: Will Deacon -Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com -Signed-off-by: Catalin Marinas -Signed-off-by: Sasha Levin ---- - arch/arm64/Kconfig | 1 + - arch/arm64/kernel/irq.c | 14 ++++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 3795eb5ba1cd..6bd34a77d4f5 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -230,6 +230,7 @@ config ARM64 - select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD - select TRACE_IRQFLAGS_SUPPORT - select TRACE_IRQFLAGS_NMI_SUPPORT -+ select HAVE_SOFTIRQ_ON_OWN_STACK - help - ARM 64-bit (AArch64) Linux support. - -diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c -index bda49430c9ea..38dbd3828f13 100644 ---- a/arch/arm64/kernel/irq.c -+++ b/arch/arm64/kernel/irq.c -@@ -21,7 +21,9 @@ - #include - #include - #include -+#include - #include -+#include - - /* Only access this in an NMI enter/exit */ - DEFINE_PER_CPU(struct nmi_ctx, nmi_contexts); -@@ -71,6 +73,18 @@ static void init_irq_stacks(void) - } - #endif - -+#ifndef CONFIG_PREEMPT_RT -+static void ____do_softirq(struct pt_regs *regs) -+{ -+ __do_softirq(); -+} -+ -+void do_softirq_own_stack(void) -+{ -+ call_on_irq_stack(NULL, ____do_softirq); -+} -+#endif -+ - static void default_handle_irq(struct pt_regs *regs) - { - panic("IRQ taken without a root IRQ handler\n"); --- -2.35.1 - diff --git a/queue-6.0/series b/queue-6.0/series index ed2542304bf..84f90ab22de 100644 --- a/queue-6.0/series +++ b/queue-6.0/series @@ -805,7 +805,6 @@ arm-dts-imx6sx-add-missing-properties-for-sram.patch arm-dts-imx6sl-use-tabs-for-code-indent.patch arm-dts-imx6sx-udoo-neo-don-t-use-multiple-blank-lin.patch kselftest-arm64-fix-validatation-termination-record-.patch -arm64-run-softirqs-on-the-per-cpu-irq-stack.patch arm64-dts-imx8mm-kontron-use-the-vselect-signal-to-s.patch arm64-dts-imx8ulp-no-executable-source-file-permissi.patch arm64-dts-imx8mq-librem5-add-bq25895-as-max17055-s-p.patch