arch/riscv/include/asm/stacktrace.h | 5 +++++ 1 file changed, 5 insertions(+)
The percpu area overflow_stacks is exported from arch/riscv/kernel/traps.c
for use in the entry code, but is not declared anywhere. Add the relevant
declaration to arch/riscv/include/asm/stacktrace.h to silence the following
sparse warning:
arch/riscv/kernel/traps.c:395:1: warning: symbol '__pcpu_scope_overflow_stack' was not declared. Should it be static?
We don't add the stackinfo_get_overflow() call as for some of the other
architectures as this doesn't seem to be used yet, so just silence the
warning.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
arch/riscv/include/asm/stacktrace.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/riscv/include/asm/stacktrace.h b/arch/riscv/include/asm/stacktrace.h
index f7e8ef2418b9..b1495a7e06ce 100644
--- a/arch/riscv/include/asm/stacktrace.h
+++ b/arch/riscv/include/asm/stacktrace.h
@@ -21,4 +21,9 @@ static inline bool on_thread_stack(void)
return !(((unsigned long)(current->stack) ^ current_stack_pointer) & ~(THREAD_SIZE - 1));
}
+
+#ifdef CONFIG_VMAP_STACK
+DECLARE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack);
+#endif /* CONFIG_VMAP_STACK */
+
#endif /* _ASM_RISCV_STACKTRACE_H */
--
2.37.2.352.g3c44437643
On Thu, Nov 23, 2023 at 01:42:14PM +0000, Ben Dooks wrote:
> The percpu area overflow_stacks is exported from arch/riscv/kernel/traps.c
> for use in the entry code, but is not declared anywhere. Add the relevant
> declaration to arch/riscv/include/asm/stacktrace.h to silence the following
> sparse warning:
>
> arch/riscv/kernel/traps.c:395:1: warning: symbol '__pcpu_scope_overflow_stack' was not declared. Should it be static?
>
> We don't add the stackinfo_get_overflow() call as for some of the other
> architectures as this doesn't seem to be used yet, so just silence the
> warning.
>
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
I suppose this should also be
Fixes: be97d0db5f44 ("riscv: VMAP_STACK overflow detection thread-safe")
Cheers,
Conor.
> ---
> arch/riscv/include/asm/stacktrace.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/riscv/include/asm/stacktrace.h b/arch/riscv/include/asm/stacktrace.h
> index f7e8ef2418b9..b1495a7e06ce 100644
> --- a/arch/riscv/include/asm/stacktrace.h
> +++ b/arch/riscv/include/asm/stacktrace.h
> @@ -21,4 +21,9 @@ static inline bool on_thread_stack(void)
> return !(((unsigned long)(current->stack) ^ current_stack_pointer) & ~(THREAD_SIZE - 1));
> }
>
> +
> +#ifdef CONFIG_VMAP_STACK
> +DECLARE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_stack);
> +#endif /* CONFIG_VMAP_STACK */
> +
> #endif /* _ASM_RISCV_STACKTRACE_H */
> --
> 2.37.2.352.g3c44437643
>
On 23/11/2023 13:51, Conor Dooley wrote:
> On Thu, Nov 23, 2023 at 01:42:14PM +0000, Ben Dooks wrote:
>> The percpu area overflow_stacks is exported from arch/riscv/kernel/traps.c
>> for use in the entry code, but is not declared anywhere. Add the relevant
>> declaration to arch/riscv/include/asm/stacktrace.h to silence the following
>> sparse warning:
>>
>> arch/riscv/kernel/traps.c:395:1: warning: symbol '__pcpu_scope_overflow_stack' was not declared. Should it be static?
>>
>> We don't add the stackinfo_get_overflow() call as for some of the other
>> architectures as this doesn't seem to be used yet, so just silence the
>> warning.
>>
>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> I suppose this should also be
> Fixes: be97d0db5f44 ("riscv: VMAP_STACK overflow detection thread-safe")
Thanks, never sure if the Fixes: should be applied when it is simply a
warning fix and there's nothing actually being currently flagging an
issue with anything else using it (currently just the assembly)
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html
© 2016 - 2025 Red Hat, Inc.