+++ /dev/null
-From d142e3103d8d9191fba4e1ffd56b2cb0f731f87d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 15 Aug 2022 20:47:39 +0800
-Subject: arm64: run softirqs on the per-CPU IRQ stack
-
-From: Qi Zheng <zhengqi.arch@bytedance.com>
-
-[ 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 <zhengqi.arch@bytedance.com>
-Reviewed-by: Arnd Bergmann <arnd@arndb.de>
-Acked-by: Will Deacon <will@kernel.org>
-Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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 <linux/seq_file.h>
- #include <linux/vmalloc.h>
- #include <asm/daifflags.h>
-+#include <asm/exception.h>
- #include <asm/vmap_stack.h>
-+#include <asm/softirq_stack.h>
-
- /* 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
-
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
+++ /dev/null
-From 4feb063f3cb5158e76785d83ffabeb9501bc5925 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 15 Aug 2022 20:47:39 +0800
-Subject: arm64: run softirqs on the per-CPU IRQ stack
-
-From: Qi Zheng <zhengqi.arch@bytedance.com>
-
-[ 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 <zhengqi.arch@bytedance.com>
-Reviewed-by: Arnd Bergmann <arnd@arndb.de>
-Acked-by: Will Deacon <will@kernel.org>
-Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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 <linux/seq_file.h>
- #include <linux/vmalloc.h>
- #include <asm/daifflags.h>
-+#include <asm/exception.h>
- #include <asm/vmap_stack.h>
-+#include <asm/softirq_stack.h>
-
- /* 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
-
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
+++ /dev/null
-From 8b72cc663801f6e97e2b8b4ce7d035ad41a7854d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 15 Aug 2022 20:47:39 +0800
-Subject: arm64: run softirqs on the per-CPU IRQ stack
-
-From: Qi Zheng <zhengqi.arch@bytedance.com>
-
-[ 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 <zhengqi.arch@bytedance.com>
-Reviewed-by: Arnd Bergmann <arnd@arndb.de>
-Acked-by: Will Deacon <will@kernel.org>
-Link: https://lore.kernel.org/r/20220815124739.15948-1-zhengqi.arch@bytedance.com
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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 <linux/seq_file.h>
- #include <linux/vmalloc.h>
- #include <asm/daifflags.h>
-+#include <asm/exception.h>
- #include <asm/vmap_stack.h>
-+#include <asm/softirq_stack.h>
-
- /* 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
-
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