]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/alternatives: Simplify try_get_text_poke_array()
authorIngo Molnar <mingo@kernel.org>
Fri, 11 Apr 2025 05:40:43 +0000 (07:40 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 11 Apr 2025 09:01:34 +0000 (11:01 +0200)
There's no need to return a pointer on success - it's always
the same pointer.

Return a bool instead.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Juergen Gross <jgross@suse.com>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250411054105.2341982-32-mingo@kernel.org
arch/x86/kernel/alternative.c

index f909f4e2f90858c6f9a79afb5deba72dd20d02e8..edc18be4fac4f127ad4f9b296fa1e23701a62fa6 100644 (file)
@@ -2475,15 +2475,14 @@ static struct smp_text_poke_array {
 
 static DEFINE_PER_CPU(atomic_t, text_poke_array_refs);
 
-static __always_inline
-struct smp_text_poke_array *try_get_text_poke_array(void)
+static __always_inline bool try_get_text_poke_array(void)
 {
        atomic_t *refs = this_cpu_ptr(&text_poke_array_refs);
 
        if (!raw_atomic_inc_not_zero(refs))
-               return NULL;
+               return false;
 
-       return &text_poke_array;
+       return true;
 }
 
 static __always_inline void put_text_poke_array(void)
@@ -2530,9 +2529,9 @@ noinstr int smp_text_poke_int3_handler(struct pt_regs *regs)
         */
        smp_rmb();
 
-       desc = try_get_text_poke_array();
-       if (!desc)
+       if (!try_get_text_poke_array())
                return 0;
+       desc = &text_poke_array;
 
        WARN_ON_ONCE(desc->vec != text_poke_array.vec);