| From 80401bb9d99a46be4d4deb11801a27c0873444bf Mon Sep 17 00:00:00 2001 |
| From: Ross Lagerwall <ross.lagerwall@citrix.com> |
| Date: Fri, 27 Sep 2019 16:49:20 +0100 |
| Subject: [PATCH] xen/efi: Set nonblocking callbacks |
| |
| commit df359f0d09dc029829b66322707a2f558cb720f7 upstream. |
| |
| Other parts of the kernel expect these nonblocking EFI callbacks to |
| exist and crash when running under Xen. Since the implementations of |
| xen_efi_set_variable() and xen_efi_query_variable_info() do not take any |
| locks, use them for the nonblocking callbacks too. |
| |
| Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> |
| Reviewed-by: Juergen Gross <jgross@suse.com> |
| Signed-off-by: Juergen Gross <jgross@suse.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/arm/xen/efi.c b/arch/arm/xen/efi.c |
| index d687a73044bf..cb2aaf98e243 100644 |
| --- a/arch/arm/xen/efi.c |
| +++ b/arch/arm/xen/efi.c |
| @@ -19,7 +19,9 @@ void __init xen_efi_runtime_setup(void) |
| efi.get_variable = xen_efi_get_variable; |
| efi.get_next_variable = xen_efi_get_next_variable; |
| efi.set_variable = xen_efi_set_variable; |
| + efi.set_variable_nonblocking = xen_efi_set_variable; |
| efi.query_variable_info = xen_efi_query_variable_info; |
| + efi.query_variable_info_nonblocking = xen_efi_query_variable_info; |
| efi.update_capsule = xen_efi_update_capsule; |
| efi.query_capsule_caps = xen_efi_query_capsule_caps; |
| efi.get_next_high_mono_count = xen_efi_get_next_high_mono_count; |
| diff --git a/arch/x86/xen/efi.c b/arch/x86/xen/efi.c |
| index 0d3365cb64de..7e3eb70f411a 100644 |
| --- a/arch/x86/xen/efi.c |
| +++ b/arch/x86/xen/efi.c |
| @@ -65,7 +65,9 @@ static efi_system_table_t __init *xen_efi_probe(void) |
| efi.get_variable = xen_efi_get_variable; |
| efi.get_next_variable = xen_efi_get_next_variable; |
| efi.set_variable = xen_efi_set_variable; |
| + efi.set_variable_nonblocking = xen_efi_set_variable; |
| efi.query_variable_info = xen_efi_query_variable_info; |
| + efi.query_variable_info_nonblocking = xen_efi_query_variable_info; |
| efi.update_capsule = xen_efi_update_capsule; |
| efi.query_capsule_caps = xen_efi_query_capsule_caps; |
| efi.get_next_high_mono_count = xen_efi_get_next_high_mono_count; |
| -- |
| 2.7.4 |
| |