Re: [PATCH 6.13 070/157] objtool: Remove annotate_{,un}reachable()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 07, 2025 at 10:26:25PM +0100, Nathan Chancellor wrote:
> On Wed, Mar 05, 2025 at 06:48:26PM +0100, Greg Kroah-Hartman wrote:
> > 6.13-stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > 
> > [ Upstream commit 06e24745985c8dd0da18337503afcf2f2fdbdff1 ]
> > 
> > There are no users of annotate_reachable() left.
> 
> This is not true in 6.13.y because it was taken without upstream commit
> 624bde3465f6 ("loongarch: Use ASM_REACHABLE"), resulting in:
> 
>   In file included from include/linux/bug.h:5,
>                    from include/linux/thread_info.h:13,
>                    from include/asm-generic/current.h:6,
>                    from ./arch/loongarch/include/generated/asm/current.h:1,
>                    from include/linux/sched.h:12,
>                    from arch/loongarch/kernel/asm-offsets.c:8:
>   include/linux/thread_info.h: In function 'check_copy_size':
>   arch/loongarch/include/asm/bug.h:47:9: error: implicit declaration of function 'annotate_reachable' [-Wimplicit-function-declaration]
>      47 |         annotate_reachable();                                   \
>         |         ^~~~~~~~~~~~~~~~~~
>   include/asm-generic/bug.h:113:17: note: in expansion of macro '__WARN_FLAGS'
>     113 |                 __WARN_FLAGS(BUGFLAG_ONCE |                     \
>         |                 ^~~~~~~~~~~~
>   include/linux/thread_info.h:262:13: note: in expansion of macro 'WARN_ON_ONCE'
>     262 |         if (WARN_ON_ONCE(bytes > INT_MAX))
>         |             ^~~~~~~~~~~~
> 
> when trying to build ARCH=loongarch now. That applies cleanly and
> resolves the build failure.
> 
> > And the annotate_unreachable() usage in unreachable() is plain wrong;
> > it will hide dangerous fall-through code-gen.
> 
> This may be reason enough to take this patch into stable... (but then
> why wasn't it Cc'd in the first place, the tip folks are usually good
> about that?)
> 
> > Remove both.
> > 
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> > Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> > Link: https://lore.kernel.org/r/20241128094312.235637588@xxxxxxxxxxxxx
> > Stable-dep-of: 73cfc53cc3b6 ("objtool: Fix C jump table annotations for Clang")
> 
> But I do not think avoiding the conflict generated by this patch is...
> With the "diff3" merge.conflictstyle setting in git, I only see this
> conflict in that change:
> 
>   /* Annotate a C jump table to allow objtool to follow the code flow */
>   <<<<<<< HEAD
>   #define __annotate_jump_table __section(".rodata..c_jump_table,\"a\",@progbits #")
> 
>   ||||||| parent of 73cfc53cc3b6 (objtool: Fix C jump table annotations for Clang)
>   #define __annotate_jump_table __section(".rodata..c_jump_table,\"a\",@progbits #")
>   =======
>   #define __annotate_jump_table __section(".data.rel.ro.c_jump_table")
>   >>>>>>> 73cfc53cc3b6 (objtool: Fix C jump table annotations for Clang)
> 
> which seems incredibly simple to resolve without dragging in two extra
> patches.
> 
> If we do want to keep this change in 6.13.y, maybe it would be worth
> dragging in
> 
>   2190966fbc14 ("x86: Convert unreachable() to BUG()")
>   41a1e976623e ("x86/mm: Convert unreachable() to BUG()")
> 
> as well?

Both are already in the release, thanks!

greg k-h




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux