On Wed, Mar 08, 2023 at 11:59:33AM -0800, Nick Desaulniers wrote: > Building sigaltstack with clang via: > $ ARCH=x86 make LLVM=1 -C tools/testing/selftests/sigaltstack/ > > produces the following warning: > warning: variable 'sp' is uninitialized when used here [-Wuninitialized] > if (sp < (unsigned long)sstack || > ^~ > > Clang expects these to be declared at global scope; we've fixed this in > the kernel proper by using the macro `current_stack_pointer`. This is > defined in different headers for different target architectures, so just > create a new header that defines the arch-specific register names for > the stack pointer register, and define it for more targets (at least the > ones that support current_stack_pointer/ARCH_HAS_CURRENT_STACK_POINTER). > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > Link: https://lore.kernel.org/lkml/CA+G9fYsi3OOu7yCsMutpzKDnBMAzJBCPimBp86LhGBa0eCnEpA@xxxxxxxxxxxxxx/ > Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Looks good! Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -- Kees Cook