From: Greg Kroah-Hartman Date: Mon, 24 May 2021 12:14:02 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v4.4.270~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40af7ad9cd44241eaa0b197532301a6eb0afc506;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: x86-xen-swap-nx-determination-and-gdt-setup-on-bsp.patch --- diff --git a/queue-5.4/series b/queue-5.4/series index 0aa8e4f98e3..e5922dd4c3f 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -66,3 +66,4 @@ video-hgafb-fix-potential-null-pointer-dereference.patch vgacon-record-video-mode-changes-with-vt_resizex.patch vt-fix-character-height-handling-with-vt_resizex.patch tty-vt-always-invoke-vc-vc_sw-con_resize-callback.patch +x86-xen-swap-nx-determination-and-gdt-setup-on-bsp.patch diff --git a/queue-5.4/x86-xen-swap-nx-determination-and-gdt-setup-on-bsp.patch b/queue-5.4/x86-xen-swap-nx-determination-and-gdt-setup-on-bsp.patch new file mode 100644 index 00000000000..a2ad450d327 --- /dev/null +++ b/queue-5.4/x86-xen-swap-nx-determination-and-gdt-setup-on-bsp.patch @@ -0,0 +1,53 @@ +From ae897fda4f507e4b239f0bdfd578b3688ca96fb4 Mon Sep 17 00:00:00 2001 +From: Jan Beulich +Date: Thu, 20 May 2021 13:42:42 +0200 +Subject: x86/Xen: swap NX determination and GDT setup on BSP + +From: Jan Beulich + +commit ae897fda4f507e4b239f0bdfd578b3688ca96fb4 upstream. + +xen_setup_gdt(), via xen_load_gdt_boot(), wants to adjust page tables. +For this to work when NX is not available, x86_configure_nx() needs to +be called first. + +[jgross] Note that this is a revert of 36104cb9012a82e73 ("x86/xen: +Delay get_cpu_cap until stack canary is established"), which is possible +now that we no longer support running as PV guest in 32-bit mode. + +Cc: # 5.9 +Fixes: 36104cb9012a82e73 ("x86/xen: Delay get_cpu_cap until stack canary is established") +Reported-by: Olaf Hering +Signed-off-by: Jan Beulich +Reviewed-by: Juergen Gross +Signed-off-by: Greg Kroah-Hartman + +Link: https://lore.kernel.org/r/12a866b0-9e89-59f7-ebeb-a2a6cec0987a@suse.com +Signed-off-by: Juergen Gross +--- + arch/x86/xen/enlighten_pv.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/arch/x86/xen/enlighten_pv.c ++++ b/arch/x86/xen/enlighten_pv.c +@@ -1243,16 +1243,16 @@ asmlinkage __visible void __init xen_sta + /* Get mfn list */ + xen_build_dynamic_phys_to_machine(); + ++ /* Work out if we support NX */ ++ get_cpu_cap(&boot_cpu_data); ++ x86_configure_nx(); ++ + /* + * Set up kernel GDT and segment registers, mainly so that + * -fstack-protector code can be executed. + */ + xen_setup_gdt(0); + +- /* Work out if we support NX */ +- get_cpu_cap(&boot_cpu_data); +- x86_configure_nx(); +- + /* Determine virtual and physical address sizes */ + get_cpu_address_sizes(&boot_cpu_data); +