diff options
| author | Miroslav Benes <[email protected]> | 2020-03-26 09:26:03 +0000 |
|---|---|---|
| committer | Juergen Gross <[email protected]> | 2020-03-30 15:32:10 +0000 |
| commit | c3881eb58d56116c79ac4ee4f40fd15ead124c4b (patch) | |
| tree | 1cd15be069bf435ff0ed342a019cd23ff2b4b3de /scripts/mod/file2alias.c | |
| parent | x86/xen: Make the boot CPU idle task reliable (diff) | |
| download | kernel-c3881eb58d56116c79ac4ee4f40fd15ead124c4b.tar.gz kernel-c3881eb58d56116c79ac4ee4f40fd15ead124c4b.zip | |
x86/xen: Make the secondary CPU idle tasks reliable
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 <[email protected]>
Reviewed-by: Juergen Gross <[email protected]>
Signed-off-by: Juergen Gross <[email protected]>
Diffstat (limited to 'scripts/mod/file2alias.c')
0 files changed, 0 insertions, 0 deletions
