]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: remove CONFIG_VMAP_STACK conditionals from irq stack setup
authorBreno Leitao <leitao@debian.org>
Mon, 7 Jul 2025 16:01:04 +0000 (09:01 -0700)
committerWill Deacon <will@kernel.org>
Tue, 8 Jul 2025 12:41:08 +0000 (13:41 +0100)
With VMAP_STACK always enabled on arm64, drop the CONFIG_VMAP_STACK
checks and legacy irq stack allocation from arch/arm64/kernel/irq.c. The
code now unconditionally uses the VMAP_STACK path for irq stack
initialization, simplifying the logic.

Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20250707-arm64_vmap-v1-4-8de98ca0f91c@debian.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/irq.c

index 85087e2df564982f6eefe78e075c55b39d60db71..c0065a1d77cf33dd8ae5a35ef9ec2c413ce735e5 100644 (file)
@@ -51,7 +51,6 @@ static void init_irq_scs(void)
                        scs_alloc(early_cpu_to_node(cpu));
 }
 
-#ifdef CONFIG_VMAP_STACK
 static void __init init_irq_stacks(void)
 {
        int cpu;
@@ -62,18 +61,6 @@ static void __init init_irq_stacks(void)
                per_cpu(irq_stack_ptr, cpu) = p;
        }
 }
-#else
-/* irq stack only needs to be 16 byte aligned - not IRQ_STACK_SIZE aligned. */
-DEFINE_PER_CPU_ALIGNED(unsigned long [IRQ_STACK_SIZE/sizeof(long)], irq_stack);
-
-static void init_irq_stacks(void)
-{
-       int cpu;
-
-       for_each_possible_cpu(cpu)
-               per_cpu(irq_stack_ptr, cpu) = per_cpu(irq_stack, cpu);
-}
-#endif
 
 #ifndef CONFIG_PREEMPT_RT
 static void ____do_softirq(struct pt_regs *regs)