lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <0706f1a2538e481194514197298cca6b5e3f2638.1464129798.git.luto@kernel.org> Date: Tue, 24 May 2016 15:48:38 -0700 From: Andy Lutomirski <luto@...nel.org> To: x86@...nel.org Cc: linux-kernel@...r.kernel.org, Borislav Petkov <bp@...en8.de>, Kees Cook <keescook@...omium.org>, Brian Gerst <brgerst@...il.com>, Andy Lutomirski <luto@...nel.org>, Andrew Cooper <andrew.cooper3@...rix.com>, Boris Ostrovsky <boris.ostrovsky@...cle.com>, David Vrabel <dvrabel@...tab.net>, Jan Beulich <jbeulich@...e.com>, Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>, xen-devel <xen-devel@...ts.xen.org> Subject: [PATCH 1/7] x86/xen: Simplify set_aliased_prot 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.cooper3@...rix.com> Cc: Boris Ostrovsky <boris.ostrovsky@...cle.com> Cc: David Vrabel <dvrabel@...tab.net> Cc: Jan Beulich <jbeulich@...e.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com> Cc: xen-devel <xen-devel@...ts.xen.org> Signed-off-by: Andy Lutomirski <luto@...nel.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
Powered by blists - more mailing lists