[PATCH v4 0/4] stackleak: Support Clang stack depth tracking
Kees Cook
kees at kernel.org
Fri Jul 25 23:27:18 PDT 2025
On Fri, Jul 25, 2025 at 05:43:13PM -0700, Nathan Chancellor wrote:
> A few build issues that I see when building next-20250725, which seem
> related to this series.
AH! Thank you for letting me know!
> 1. I see
>
> ld.lld: error: undefined symbol: __sanitizer_cov_stack_depth
> >>> referenced by atags_to_fdt.c
> >>> arch/arm/boot/compressed/atags_to_fdt.o:(atags_to_fdt)
> make[5]: *** [arch/arm/boot/compressed/Makefile:152: arch/arm/boot/compressed/vmlinux] Error 1
>
> when building ARCH=arm allmodconfig on next-20250725. The following diff appears to cure that one.
Ah-ha perfect. Yes, that matches what I was expecting to fix it, I was
just about to start working on it, but you beat me to it. :) The same
was reported here:
https://lore.kernel.org/all/CA+G9fYtBk8qnpWvoaFwymCx5s5i-5KXtPGpmf=_+UKJddCOnLA@mail.gmail.com
> 2. I see
>
> kernel/kstack_erase.c:168:2: warning: function with attribute 'no_caller_saved_registers' should only call a function with attribute 'no_caller_saved_registers' or be compiled with '-mgeneral-regs-only' [-Wexcessive-regsave]
> [...]
> when building ARCH=i386 allmodconfig.
Oh, hm, I will figure that out.
> 3. I see
>
> In file included from kernel/fork.c:96:
> include/linux/kstack_erase.h:29:37: error: passing 'const struct task_struct *' to parameter of type 'struct task_struct *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
> 29 | return (unsigned long)end_of_stack(tsk) + sizeof(unsigned long);
> | ^~~
> include/linux/sched/task_stack.h:56:63: note: passing argument to parameter 'p' here
> 56 | static inline unsigned long *end_of_stack(struct task_struct *p)
> | ^
>
> when building ARCH=loongarch allmodconfig, which does not support
> CONFIG_THREAD_INFO_IN_TASK it seems.
Oh, eek. Yeah, I'll need to make an explicit dependency I guess? ("How
did this ever work?")
Thanks again!
--
Kees Cook
More information about the kexec
mailing list