• Mark Rutland's avatar
    arm64: move on_thread_stack() to <asm/stacktrace.h> · 4585a934
    Mark Rutland authored
    Currently on_thread_stack() is defined in <asm/processor.h>, depending
    upon definitiong from <asm/stacktrace.h> despite this header not being
    included. This ends up being fragile, and any user of on_thread_stack()
    must include both <asm/processor.h> and <asm/stacktrace.h>.
    
    We organised things this way due to header dependencies back in commit:
    
      0b3e3366 ("arm64: Add support for STACKLEAK gcc plugin")
    
    ... but now that we no longer use current_top_of_stack(), and given that
    stackleak includes <asm/stacktrace.h> via <linux/stackleak.h>, we no
    longer need the definition to live in <asm/processor.h>.
    
    Move on_thread_stack() to <asm/stacktrace.h>, where all its dependencies
    are guaranteed to be defined. This requires having arm64's irq.c
    explicitly include <asm/stacktrace.h>, and I've taken the opportunity to
    sort the includes, which were slightly out of order.
    
    There should be no functional change as a result of this patch.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Will Deacon <will@kernel.org>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Reviewed-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20221117120902.3974163-3-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
    4585a934
processor.h 11 KB