From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932089AbcEXWsx (ORCPT ); Tue, 24 May 2016 18:48:53 -0400 Received: from mail.kernel.org ([198.145.29.136]:36609 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753359AbcEXWsv (ORCPT ); Tue, 24 May 2016 18:48:51 -0400 From: Andy Lutomirski To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Borislav Petkov , Kees Cook , Brian Gerst , Andy Lutomirski , Andrew Cooper , Boris Ostrovsky , David Vrabel , Jan Beulich , Konrad Rzeszutek Wilk , xen-devel Subject: [PATCH 1/7] x86/xen: Simplify set_aliased_prot Date: Tue, 24 May 2016 15:48:38 -0700 Message-Id: <0706f1a2538e481194514197298cca6b5e3f2638.1464129798.git.luto@kernel.org> X-Mailer: git-send-email 2.5.5 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Boris Ostrovsky Cc: David Vrabel Cc: Jan Beulich Cc: Konrad Rzeszutek Wilk Cc: xen-devel Signed-off-by: Andy Lutomirski --- 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