Received: by 10.223.185.116 with SMTP id b49csp997176wrg; Fri, 16 Feb 2018 10:31:14 -0800 (PST) X-Google-Smtp-Source: AH8x2260LqrwgdUP8QG7m2TSaKsQZlRLvNHFkuNGqNIRHrDll8QJAoV2VL8x+r2KxdG2bsyl/LkQ X-Received: by 2002:a17:902:424:: with SMTP id 33-v6mr6559698ple.57.1518805874820; Fri, 16 Feb 2018 10:31:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518805874; cv=none; d=google.com; s=arc-20160816; b=erjMbteH8uY1DuMA5U/ulNON2RFzx8oCEpNSGUWjzC35zJyYHxUXzXKpyiElqV1PGw yVNSq4g5bZpUXp4ACuHudRlQSQuHjQxVW2m1q2tROXAtWyZBnlcvKMNG16vNfAr4OHr8 yXb/xUeGyaccVy3ptcYiZoV2F45RK0KglSb+CX43oINUI0vLk0VO4Mjpi4/KKYwWR+4s x0WfO2ITj4F1TGE1AtS6R26sBYG9fiFgSN5bMKByXmBH9m2gTXkHjgHg8wcpvsSJGK9d ArmZBqLUS+fCx4pnRArKUUwyIdzjDwHXGRGqYAbge5Ow6VTVGN3Im3z4588CobCh31jq iUaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=BMCxv9P16jf+wD+3/IBTva2ssuc7lH0zsw9kWHGcYbM=; b=qUDP9EIyGfnMVIkEUIUr+VJFo65D2XSm1QKkGjB0IsOTTwFEtdZvo/+lcBLNBvnwQP nP0p6bd+IdBJ4HCAzGgRmAEzeq3Zoq3p8G22Fw3cwVdiIsqXOYWYbxNXBHkQuLdViI9p 0Qs1MvQZS0bK4JlgBVyEWZODEo49F7ImR1MDH7pdrT7X7Ag9z8F+OL3ZdmSSpqGcBXFi QDf7xGRQrIwZ+BRCX0dYu0oKxu9rAbRsxACcsZlbygVtC7kwrIUMaOf71IVbkJxwwGEu YM8lbAHXZfpPegKWi1buEohsqzAWMNgzfoNgqAxpJBpJvKoGc0OujVLwBDHkDBk2u63Q ZKdw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h1-v6si1767995pld.637.2018.02.16.10.31.00; Fri, 16 Feb 2018 10:31:14 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756758AbeBPAff (ORCPT + 99 others); Thu, 15 Feb 2018 19:35:35 -0500 Received: from ppsw-40.csi.cam.ac.uk ([131.111.8.140]:53364 "EHLO ppsw-40.csi.cam.ac.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752984AbeBPAfe (ORCPT ); Thu, 15 Feb 2018 19:35:34 -0500 X-Cam-AntiVirus: no malware found X-Cam-ScannerInfo: http://help.uis.cam.ac.uk/email-scanner-virus Received: from 88-111-108-209.dynamic.dsl.as9105.com ([88.111.108.209]:50114 helo=[192.168.1.6]) by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:587) with esmtpsa (PLAIN:amc96) (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) id 1emTzs-0003BE-lu (Exim 4.90_1) (return-path ); Fri, 16 Feb 2018 00:35:29 +0000 Subject: Re: [PATCH RFC v2 4/6] x86: Disable PTI on compatibility mode To: Linus Torvalds , Andy Lutomirski Cc: Nadav Amit , Pavel Emelyanov , Cyrill Gorcunov , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , Dave Hansen , Willy Tarreau , X86 ML , LKML References: <20180215163602.61162-1-namit@vmware.com> <20180215163602.61162-5-namit@vmware.com> <9EB804CA-0EC9-4CBB-965A-F3C8520201E7@gmail.com> From: Andrew Cooper Message-ID: Date: Fri, 16 Feb 2018 00:35:28 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-GB Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 16/02/2018 00:08, Linus Torvalds wrote: > On Thu, Feb 15, 2018 at 3:29 PM, Andy Lutomirski wrote: >> Linus, how would you feel about, by default, preventing 64-bit >> programs from long-jumping to __USER32_CS and vice versa? > How? It's a standard GDT entry. Are you going to start switching the > GDT around every context switch? > > I *thought* that user space can just do a far jump on its own. But > it's so long since I had to care that I may have forgotten all the > requirements for going between "compatibility mode" and real long > mode. Yes - it is just a straight far jump to switch between compat and long mode. A evil^W cunning programmer can use the 286 world view and disable segments by clearing the present bit to yield #NP[sel] on use, which is liable to be rather faster than LGDT on a context switch. Alternatively, set both the L and D (code segments only), or playing with DPL/type can all yield #GP[sel] on use, but these probably aren't as good options. ~Andrew