x86/xen: fix xen_hypercall_hvm() to not clobber %rbx
authorSasha Levin <sashal@kernel.org>
Wed, 5 Feb 2025 08:43:31 +0000 (09:43 +0100)
committerBen Hutchings <benh@debian.org>
Mon, 24 Feb 2025 01:11:58 +0000 (02:11 +0100)
commitfec248a3d4db014d8923f95d765f52c1f82db719
tree91c57d23f6acd30fda8ef78261a2d12d1c57f04f
parent78abe7b022b302c57682a1e2479220b0430671cf
x86/xen: fix xen_hypercall_hvm() to not clobber %rbx

[ Upstream commit 98a5cfd2320966f40fe049a9855f8787f0126825 ]

xen_hypercall_hvm(), which is used when running as a Xen PVH guest at
most only once during early boot, is clobbering %rbx. Depending on
whether the caller relies on %rbx to be preserved across the call or
not, this clobbering might result in an early crash of the system.

This can be avoided by using an already saved register instead of %rbx.

Fixes: b4845bb63838 ("x86/xen: add central hypercall functions")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Gbp-Pq: Topic bugfix/x86
Gbp-Pq: Name x86-xen-fix-xen_hypercall_hvm-to-not-clobber-rbx.patch
arch/x86/xen/xen-head.S