From: Peter Zijlstra Date: Tue, 23 Sep 2025 11:04:09 +0000 (+0200) Subject: unwind: Simplify unwind_user_next_fp() alignment check X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5578534e4b92350995a20068f2e6ea3186c62d7f;p=thirdparty%2Fkernel%2Flinux.git unwind: Simplify unwind_user_next_fp() alignment check 2^log_2(n) == n Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Steven Rostedt (Google) Link: https://patch.msgid.link/20250924080119.497867836@infradead.org --- diff --git a/kernel/unwind/user.c b/kernel/unwind/user.c index 97a8415e3216f..9dcde797b5d93 100644 --- a/kernel/unwind/user.c +++ b/kernel/unwind/user.c @@ -19,7 +19,6 @@ static int unwind_user_next_fp(struct unwind_user_state *state) { const struct unwind_user_frame *frame = &fp_frame; unsigned long cfa, fp, ra; - unsigned int shift; if (frame->use_fp) { if (state->fp < state->sp) @@ -37,8 +36,7 @@ static int unwind_user_next_fp(struct unwind_user_state *state) return -EINVAL; /* Make sure that the address is word aligned */ - shift = sizeof(long) == 4 ? 2 : 3; - if (cfa & ((1 << shift) - 1)) + if (cfa & (sizeof(long) - 1)) return -EINVAL; /* Find the Return Address (RA) */