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? Cheers, Nathan