lkml.org 
[lkml]   [2020]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 5.6 096/166] x86/xen: Make the boot CPU idle task reliable
From
Date
On 22.04.20 11:57, Greg Kroah-Hartman wrote:
> From: Miroslav Benes <mbenes@suse.cz>
>
> [ Upstream commit 2f62f36e62daec43aa7b9633ef7f18e042a80bed ]
>
> The unwinder reports the boot CPU idle task's stack on XEN PV as
> unreliable, which affects at least live patching. There are two reasons
> for this. First, the task does not follow the x86 convention that its
> stack starts at the offset right below saved pt_regs. It allows the
> unwinder to easily detect the end of the stack and verify it. Second,
> startup_xen() function does not store the return address before jumping
> to xen_start_kernel() which confuses the unwinder.
>
> Amend both issues by moving the starting point of initial stack in
> startup_xen() and storing the return address before the jump, which is
> exactly what call instruction does.
>
> Signed-off-by: Miroslav Benes <mbenes@suse.cz>
> Reviewed-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Signed-off-by: Sasha Levin <sashal@kernel.org>

You'll need upstream d6f34f4c6b4a96 ("x86/xen: fix booting 32-bit pv
guest"), too.


Juergen

\
 
 \ /
  Last update: 2020-04-22 12:46    [W:0.497 / U:0.936 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site