Re: [PATCH 01/16] powerpc: Replace unreachable() with it's builtin variant in WARN_ON()

From: Christophe Leroy
Date: Fri Aug 26 2022 - 06:18:52 EST




Le 08/08/2022 à 13:48, Sathvika Vasireddy a écrit :
> objtool is throwing *unannotated intra-function call*
> warnings with a few instructions that are marked
> unreachable. Replace unreachable() with __builtin_unreachable()
> to fix these warnings, as the codegen remains same
> with unreachable() and __builtin_unreachable().
>
> Signed-off-by: Sathvika Vasireddy <sv@xxxxxxxxxxxxx>
> ---
> arch/powerpc/include/asm/bug.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/include/asm/bug.h b/arch/powerpc/include/asm/bug.h
> index 61a4736355c2..074be1a78c56 100644
> --- a/arch/powerpc/include/asm/bug.h
> +++ b/arch/powerpc/include/asm/bug.h
> @@ -99,7 +99,7 @@
> __label__ __label_warn_on; \
> \
> WARN_ENTRY("twi 31, 0, 0", BUGFLAG_WARNING | (flags), __label_warn_on); \
> - unreachable(); \
> + __builtin_unreachable(); \

Should you add barrier_before_unreachable() before
__builtin_unreachable() to avoid stack bombs ?

See commit 173a3efd3edb ("bug.h: work around GCC PR82365 in BUG()")




> \
> __label_warn_on: \
> break; \