In aa1acff356bb ("x86/xen: Probe target addresses in set_aliased_prot() before the hypercall"), I added an explicit probe to work around a hypercall issue. The code can be simplified by using probe_kernel_read.
Cc: Andrew Cooper <andrew.coop...@citrix.com> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: David Vrabel <dvra...@cantab.net> Cc: Jan Beulich <jbeul...@suse.com> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Cc: xen-devel <xen-de...@lists.xen.org> Signed-off-by: Andy Lutomirski <l...@kernel.org> --- arch/x86/xen/enlighten.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 6ab672233ac9..eed696c229ba 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -521,9 +521,7 @@ static void set_aliased_prot(void *v, pgprot_t prot) preempt_disable(); - pagefault_disable(); /* Avoid warnings due to being atomic. */ - __get_user(dummy, (unsigned char __user __force *)v); - pagefault_enable(); + probe_kernel_read(&dummy, (unsigned char *)v, 1); if (HYPERVISOR_update_va_mapping((unsigned long)v, pte, 0)) BUG(); -- 2.5.5