This is a note to let you know that I've just added the patch titled x86/xen: Mark cpu_bringup_and_idle() as dead_end_function to the 5.4-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: x86-xen-mark-cpu_bringup_and_idle-as-dead_end_function.patch and it can be found in the queue-5.4 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 9af9dcf11bda3e2c0e24c1acaacb8685ad974e93 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu, 24 Jun 2021 11:41:00 +0200 Subject: x86/xen: Mark cpu_bringup_and_idle() as dead_end_function From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 9af9dcf11bda3e2c0e24c1acaacb8685ad974e93 upstream. The asm_cpu_bringup_and_idle() function is required to push the return value on the stack in order to make ORC happy, but the only reason objtool doesn't complain is because of a happy accident. The thing is that asm_cpu_bringup_and_idle() doesn't return, so validate_branch() never terminates and falls through to the next function, which in the normal case is the hypercall_page. And that, as it happens, is 4095 NOPs and a RET. Make asm_cpu_bringup_and_idle() terminate on it's own, by making the function it calls as a dead-end. This way we no longer rely on what code happens to come after. Fixes: c3881eb58d56 ("x86/xen: Make the secondary CPU idle tasks reliable") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Miroslav Benes <mbenes@xxxxxxx> Link: https://lore.kernel.org/r/20210624095147.693801717@xxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- tools/objtool/check.c | 1 + 1 file changed, 1 insertion(+) --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -144,6 +144,7 @@ static bool __dead_end_function(struct o "usercopy_abort", "machine_real_restart", "rewind_stack_do_exit", + "cpu_bringup_and_idle", }; if (!func) Patches currently in stable-queue which might be from peterz@xxxxxxxxxxxxx are queue-5.4/crypto-x86-chacha20-avoid-spurious-jumps-to-other-fu.patch queue-5.4/x86-xen-mark-cpu_bringup_and_idle-as-dead_end_function.patch queue-5.4/perf-fix-sys_perf_event_open-race-against-self.patch