From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua0-f200.google.com (mail-ua0-f200.google.com [209.85.217.200]) by kanga.kvack.org (Postfix) with ESMTP id 7C8952808DF for ; Thu, 9 Mar 2017 16:46:42 -0500 (EST) Received: by mail-ua0-f200.google.com with SMTP id q7so90221691uaf.0 for ; Thu, 09 Mar 2017 13:46:42 -0800 (PST) Received: from mail-ua0-x22c.google.com (mail-ua0-x22c.google.com. [2607:f8b0:400c:c08::22c]) by mx.google.com with ESMTPS id s124si3224906vkg.3.2017.03.09.13.46.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Mar 2017 13:46:41 -0800 (PST) Received: by mail-ua0-x22c.google.com with SMTP id q7so79798346uaf.2 for ; Thu, 09 Mar 2017 13:46:41 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <17ffcc5b-1c9a-51b6-272a-5eaecf1bc0c4@citrix.com> References: <20170306220348.79702-1-thgarnie@google.com> <20170306220348.79702-2-thgarnie@google.com> <17ffcc5b-1c9a-51b6-272a-5eaecf1bc0c4@citrix.com> From: Andy Lutomirski Date: Thu, 9 Mar 2017 13:46:20 -0800 Message-ID: Subject: Re: [Xen-devel] [PATCH v5 2/3] x86: Remap GDT tables in the Fixmap section Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Cooper Cc: Thomas Garnier , Boris Ostrovsky , 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 Thu, Mar 9, 2017 at 1:43 PM, Andrew Cooper wrote: > 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. > I think we would gain nothing at all by special-casing Xen PV -- Linux allocates the fixmap vaddrs at compile time, so we'd still allocate them even if we rejigger all the helpers to avoid using them. --Andy -- 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