summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2025-09-23 13:04:09 +0200
committerPeter Zijlstra <peterz@infradead.org>2025-10-29 10:29:57 +0100
commit5578534e4b92350995a20068f2e6ea3186c62d7f (patch)
tree4ba3ebd4c3553dc0b82bc583619aeb74e75b745e
parent639214f65b1db87c6992eadf93079ff0d8768c2d (diff)
unwind: Simplify unwind_user_next_fp() alignment check
2^log_2(n) == n Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> Link: https://patch.msgid.link/20250924080119.497867836@infradead.org
-rw-r--r--kernel/unwind/user.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/unwind/user.c b/kernel/unwind/user.c
index 97a8415e3216..9dcde797b5d9 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) */