Re: [PATCH v3 2/2] x86/xen: Make the secondary CPU idle tasks reliable

From: JÃrgen GroÃ
Date: Thu Mar 26 2020 - 05:30:14 EST


On 26.03.20 10:26, Miroslav Benes wrote:
The unwinder reports the secondary CPU idle tasks' stack on XEN PV as
unreliable, which affects at least live patching.
cpu_initialize_context() sets up the context of the CPU through
VCPUOP_initialise hypercall. After it is woken up, the idle task starts
in cpu_bringup_and_idle() function and its stack starts at the offset
right below pt_regs. The unwinder correctly detects the end of stack
there but it is confused by NULL return address in the last frame.

Introduce a wrapper in assembly, which just calls
cpu_bringup_and_idle(). The return address is thus pushed on the stack
and the wrapper contains the annotation hint for the unwinder regarding
the stack state.

Signed-off-by: Miroslav Benes <mbenes@xxxxxxx>

Reviewed-by: Juergen Gross <jgross@xxxxxxxx>


Juergen