Received: by 10.192.165.148 with SMTP id m20csp3663230imm; Mon, 23 Apr 2018 10:10:44 -0700 (PDT) X-Google-Smtp-Source: AIpwx490X0rB59yugSPERLeFW8AryAb5KOITHHHzOqfCzPRnW1V2tRwipCob8HzUVC7MTOP/i/Rf X-Received: by 10.101.73.142 with SMTP id r14mr15935346pgs.78.1524503444394; Mon, 23 Apr 2018 10:10:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524503444; cv=none; d=google.com; s=arc-20160816; b=GUztPCgUrX74jnJLoCtafb1PnuWYnxpgZ540gLWevLGqB/g6SFBvaVyPx/BNdTXbGj JZEGUApUY8zM560sJzNTcCVAzhp55cfSv4EYvqWzQZGezeLzmfQtDGK6BWS7JmRwq/mx qHlax1OkDv4hvg6oQ0t7eU8GByE0CIt6g6pexBxZwp4eJPw2DmLP+tBolrZ3WInJD2Am W6MQjNA6QK8V0mh0dS1oLnFyEd/sj6olUQC9hQK8J+jfy7MjMxZ6kFQUNA1eI3RwRUPF s5RzdvJrwLvAodxQwB8x5gJW3QZfd0rninwFS3PNa04rEesIPGon9ScyGxIWvruck2V/ dQZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=V6gOr1uccRhG696t1txqe5EZlRG5fq3rR+jtTEAiUVg=; b=kNV2P/R6iMBNXOj9vurXJEbqJ19iY4CA6Mgmz0zunlYF3yGDm6FSQKTZR0iWNE6TNz VXV738mRnW3aeRwVaJslLrJUTvhRV5poENlsJcqVtfDwlm0yaRbD0HIXgV0Nw97LNoP0 PSPG1K4AtZeqgU3wrd0Lrw6K3hYU/CxgVyZMRsYAj42E5Q1+cvgYjfP6SCJv4EadC7/V yqvmAGNPYN2t0nQFqh7WztxJY0zhKMtWE3EWsSbnee36HL0cXkhUmFf/J8aaC0wHFNO9 L7KAIfL3uJX5wkDzlUxEAMZrLkDf+4SVoNERLD396guNURBPhjPVBothebEJn9/KgAcc pbOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=CDcG4nI7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k8si3797261pgt.211.2018.04.23.10.10.29; Mon, 23 Apr 2018 10:10:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=CDcG4nI7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755673AbeDWRJW (ORCPT + 99 others); Mon, 23 Apr 2018 13:09:22 -0400 Received: from mail-vk0-f65.google.com ([209.85.213.65]:44438 "EHLO mail-vk0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754788AbeDWRJV (ORCPT ); Mon, 23 Apr 2018 13:09:21 -0400 Received: by mail-vk0-f65.google.com with SMTP id r184so9853786vke.11 for ; Mon, 23 Apr 2018 10:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=V6gOr1uccRhG696t1txqe5EZlRG5fq3rR+jtTEAiUVg=; b=CDcG4nI7aVPXIEtKgjTgqK8peIbLQ7LLbq4m4PNoWIidOsFWCOvzBK9CLAu/u770rk g8y2LWP4DM7D9CwgAy3asY34EyqkNUL2LWuRP44afdbNsAFHwaEzw4ng/Uh4Mch/JMEn k7ZstYz7PyBZr/Qm5+WH0Z/m0sLlEmzLgqXBjWNZCYRYRnncFz5e1Sh7JtiK5Zi3yOQi Yx9q9pgJHESOPSwPuTYTTHEEIlPZ9+B7WgUJGgmd1g0S/Y4jGN2UB38CstiXBJXyJDNl eB5EN8iJ0BET7vvTaOb07z/Rfm6YBQHE2Ax2hW1vLNUNZqmDc0vEp5kC2LNcq3NookEO 6YIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=V6gOr1uccRhG696t1txqe5EZlRG5fq3rR+jtTEAiUVg=; b=KAjObKUgbZyYfQlp1VeK37Z5DHl8ZQKtEuFR5aAwncIIM4utSjHQ4Cw4LD6lZKKHw+ hZf0sNDbm0kRciBj/pN3Df6OfA6EvaJ2DaCjmf/lqfv2vm9nfa1RYmjnrlu5mzNlXlCw 9s+asA+GXV5aruCKqz1tr/7J+CFTtzFduUGFfSFhdN3RtKKJcCYeQ8cM0GNhDL/L4/Pr deLW85+rzwkqjNIkyje7MoRRGSzNeAeTDs1YdRLlK/jqCce+VQscEESAK1M5be1kIHhI OW1HwRov1UUnciayXckILd2ELMdbduSOqPdBjnVgbcsg6WbN/AajC7z2rUQh+U/hgSY8 2zMw== X-Gm-Message-State: ALQs6tD44hqGAseC9UwgYXo9GM6cPrv+U8AvP9T4NPu+/lekXLZ3JBYJ /Cz8+OKxz5b3ej1dXfJUcBailVyh8D+i9H/q9+x4LQ== X-Received: by 10.31.114.207 with SMTP id n198mr15182915vkc.149.1524503360189; Mon, 23 Apr 2018 10:09:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.164.81 with HTTP; Mon, 23 Apr 2018 10:09:19 -0700 (PDT) In-Reply-To: <1524498460-25530-29-git-send-email-joro@8bytes.org> References: <1524498460-25530-1-git-send-email-joro@8bytes.org> <1524498460-25530-29-git-send-email-joro@8bytes.org> From: Kees Cook Date: Mon, 23 Apr 2018 10:09:19 -0700 Message-ID: Subject: Re: [PATCH 28/37] x86/mm/pti: Map kernel-text to user-space on 32 bit kernels To: Joerg Roedel Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , X86 ML , LKML , Linux-MM , Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Boris Ostrovsky , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , Anthony Liguori , Daniel Gruss , Hugh Dickins , Andrea Arcangeli , Waiman Long , Pavel Machek , "David H . Gutteridge" , Joerg Roedel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 23, 2018 at 8:47 AM, Joerg Roedel wrote: > From: Joerg Roedel > > Keeping the kernel text mapped with G bit set keeps its > entries in the TLB across kernel entry/exit and improved the > performance. The 64 bit x86 kernels already do this when > there is no PCID, so do this in 32 bit as well since PCID is > not even supported there. I think this should keep at least part of the logic as 64-bit since there are other reasons to turn off the Global flag: https://lkml.kernel.org/r/20180420222026.D0B4AAC9@viggo.jf.intel.com -Kees > > Signed-off-by: Joerg Roedel > --- > arch/x86/mm/init_32.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c > index c893c6a..8299b98 100644 > --- a/arch/x86/mm/init_32.c > +++ b/arch/x86/mm/init_32.c > @@ -956,4 +956,10 @@ void mark_rodata_ro(void) > mark_nxdata_nx(); > if (__supported_pte_mask & _PAGE_NX) > debug_checkwx(); > + > + /* > + * Do this after all of the manipulation of the > + * kernel text page tables are complete. > + */ > + pti_clone_kernel_text(); > } > -- > 2.7.4 > -- Kees Cook Pixel Security