From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f199.google.com (mail-wr0-f199.google.com [209.85.128.199]) by kanga.kvack.org (Postfix) with ESMTP id 39D032808DF for ; Thu, 9 Mar 2017 16:47:15 -0500 (EST) Received: by mail-wr0-f199.google.com with SMTP id w37so24874942wrc.2 for ; Thu, 09 Mar 2017 13:47:15 -0800 (PST) Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk. [131.111.8.133]) by mx.google.com with ESMTPS id y133si247936wmc.14.2017.03.09.13.47.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Mar 2017 13:47:13 -0800 (PST) Subject: Re: [Xen-devel] [PATCH v5 2/3] x86: Remap GDT tables in the Fixmap section References: <20170306220348.79702-1-thgarnie@google.com> <20170306220348.79702-2-thgarnie@google.com> From: Andrew Cooper Message-ID: <17ffcc5b-1c9a-51b6-272a-5eaecf1bc0c4@citrix.com> Date: Thu, 9 Mar 2017 21:43:05 +0000 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Andy Lutomirski , Thomas Garnier , Boris Ostrovsky Cc: Michal Hocko , Stanislaw Gruszka , "linux-doc@vger.kernel.org" , kvm list , Fenghua Yu , Matt Fleming , Frederic Weisbecker , X86 ML , Chris Wilson , "linux-mm@kvack.org" , Paul Gortmaker , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , "linux-efi@vger.kernel.org" , Alexander Potapenko , Pavel Machek , "H . Peter Anvin" , "kernel-hardening@lists.openwall.com" , Jiri Olsa , zijun_hu , Dave Hansen , Andi Kleen , "xen-devel@lists.xenproject.org" , Jonathan Corbet , Michael Ellerman , Joerg Roedel , Prarit Bhargava , kasan-dev , Vitaly Kuznetsov , Christian Borntraeger , Ingo Molnar , Andrey Ryabinin , Borislav Petkov , Len Brown , Rusty Russell , Kees Cook , Arnd Bergmann , He Chen , Brian Gerst , Jiri Kosina , lguest@lists.ozlabs.org, Andy Lutomirski , Josh Poimboeuf , Thomas Gleixner , Andrew Morton , Dmitry Vyukov , Juergen Gross , Peter Zijlstra , Lorenzo Stoakes , Ard Biesheuvel , "linux-pm@vger.kernel.org" , "Rafael J . Wysocki" , "linux-kernel@vger.kernel.org" , "Luis R . Rodriguez" , David Vrabel , Paolo Bonzini , Joonsoo Kim , Tim Chen On 09/03/2017 21:32, Andy Lutomirski wrote: > On Mon, Mar 6, 2017 at 2:03 PM, Thomas Garnier wrote: > >> --- a/arch/x86/xen/enlighten.c >> +++ b/arch/x86/xen/enlighten.c >> @@ -710,7 +710,7 @@ static void load_TLS_descriptor(struct thread_struct *t, >> >> *shadow = t->tls_array[i]; >> >> - gdt = get_cpu_gdt_table(cpu); >> + gdt = get_cpu_gdt_rw(cpu); >> maddr = arbitrary_virt_to_machine(&gdt[GDT_ENTRY_TLS_MIN+i]); >> mc = __xen_mc_entry(0); > Boris, is this right? I don't see why it wouldn't be, but Xen is special. Under Xen PV, the GDT is already read-only at this point. (It is not safe to let the guest have writeable access to system tables, so the guest must relinquish write access to the frames wishing to be used as LDTs or GDTs.) The hypercall acts on the frame, not a virtual address, so either alias should be fine here. Under this new scheme, there will be two read-only aliases. I guess this is easier to maintain the split consistently across Linux, than to special case Xen PV because it doesn't need the second alias. ~Andrew -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org