[PATCH] arm64: irq: set the correct node for shadow call stack

Huang Shijie posted 1 patch 2 years ago
arch/arm64/kernel/irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] arm64: irq: set the correct node for shadow call stack
Posted by Huang Shijie 2 years ago
The init_irq_stacks() has been changed to use the correct node:
https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=75b5e0bf90bf

The init_irq_scs() has the same issue with init_irq_stacks():
	cpu_to_node() is not initialized yet, it does not work.

This patch uses early_cpu_to_node() to set the init_irq_scs()
with the correct node.

Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
---
 arch/arm64/kernel/irq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c
index 9f253d8efe90..85087e2df564 100644
--- a/arch/arm64/kernel/irq.c
+++ b/arch/arm64/kernel/irq.c
@@ -48,7 +48,7 @@ static void init_irq_scs(void)
 
 	for_each_possible_cpu(cpu)
 		per_cpu(irq_shadow_call_stack_ptr, cpu) =
-			scs_alloc(cpu_to_node(cpu));
+			scs_alloc(early_cpu_to_node(cpu));
 }
 
 #ifdef CONFIG_VMAP_STACK
-- 
2.40.1
Re: [PATCH] arm64: irq: set the correct node for shadow call stack
Posted by Will Deacon 2 years ago
On Wed, 13 Dec 2023 09:20:46 +0800, Huang Shijie wrote:
> The init_irq_stacks() has been changed to use the correct node:
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=75b5e0bf90bf
> 
> The init_irq_scs() has the same issue with init_irq_stacks():
> 	cpu_to_node() is not initialized yet, it does not work.
> 
> This patch uses early_cpu_to_node() to set the init_irq_scs()
> with the correct node.
> 
> [...]

Applied to arm64 (for-next/mm), thanks!

[1/1] arm64: irq: set the correct node for shadow call stack
      https://git.kernel.org/arm64/c/7b1a09e44dc6

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: [PATCH] arm64: irq: set the correct node for shadow call stack
Posted by Catalin Marinas 2 years ago
On Wed, Dec 13, 2023 at 09:20:46AM +0800, Huang Shijie wrote:
> The init_irq_stacks() has been changed to use the correct node:
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/commit/?id=75b5e0bf90bf
> 
> The init_irq_scs() has the same issue with init_irq_stacks():
> 	cpu_to_node() is not initialized yet, it does not work.
> 
> This patch uses early_cpu_to_node() to set the init_irq_scs()
> with the correct node.
> 
> Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>