Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp47081imm; Thu, 12 Jul 2018 13:54:20 -0700 (PDT) X-Google-Smtp-Source: AAOMgpc956+PvEf1WIu25RArpKMJ4zqIoVbcSuW1WBAdIxsAJqTZixrsnc9INUDOZaXGsGj4jnh+ X-Received: by 2002:a17:902:2887:: with SMTP id f7-v6mr2759905plb.150.1531428860724; Thu, 12 Jul 2018 13:54:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531428860; cv=none; d=google.com; s=arc-20160816; b=lbL0V0JCPqeM9dxIJq25nU5EybwYyKtarEeYKZ1lK4z9AlodAWpGDtZh0IXEqV9e6u W6ZYc6hQzkRJ0VA5ZyNNnTepq97pGCsOPVp1Y2QLpbPB74R5XgH7lA0wFxpGRLrzXm1T VR+rAXU3x2fKbVPt8tDSDXShht4AxWRqlhmQzEo+XZRdaPTkFDP2j4VwR9YqXiOcxf/Z hSyJUeJTNBrAOLl88MGhe3auoQfG7fRa6zv4FfR6RDiJeNcmsVdYVBJ9X9S8Q2F0w4U6 z/8FxEd9wYatWX6RCNjb4/g70WNpZyhuaot8tX1wJfFShhfN1wk8dhoHur1AopXUTt2z /wCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature:arc-authentication-results; bh=f8ZSPRZo768TF/i9atQ4txmDK62DlnKH3AqwZUM8fp0=; b=iLcoSXAPoUpFsqa9fL9tU9PbSY8G/nh5Har3qftZbOHwp7KoSfI0O+M2Tv5a4sILVh 7foQrZaBGES4/W7PXvGDgkvIZI+y8+W4g3lhZr2HaQs+cYh7Xt3vdH7i8LRF/P4vn/6M v3igZWa4tq35FOrLgQI2IWwEml3Gkj1BwWRTkWh1KVi1ILBJEo+Jy3r3/h26GHKgZGws dS685vykHxTdab0aM35ZZmL+U/cfvPN6k2WQUbjbUR0CqxfumEbtZJnbDIo/2nzK4c0O Q3TdIpDsgzREpqpXQ3Oasy26lUWpMfV+CmndnpTHa7NKEUig+U3jMMN53oKf79m72X8i /RIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amacapital-net.20150623.gappssmtp.com header.s=20150623 header.b=RQ0HX34g; 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 c8-v6si24204015pfc.136.2018.07.12.13.54.04; Thu, 12 Jul 2018 13:54:20 -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=@amacapital-net.20150623.gappssmtp.com header.s=20150623 header.b=RQ0HX34g; 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 S1732696AbeGLVEj (ORCPT + 99 others); Thu, 12 Jul 2018 17:04:39 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:38161 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732594AbeGLVEj (ORCPT ); Thu, 12 Jul 2018 17:04:39 -0400 Received: by mail-pf0-f193.google.com with SMTP id v15-v6so1279090pff.5 for ; Thu, 12 Jul 2018 13:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amacapital-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=f8ZSPRZo768TF/i9atQ4txmDK62DlnKH3AqwZUM8fp0=; b=RQ0HX34gRo1zruHNoZxf9oOjEXZ67eNz6DUEo3y3nN9+y5hEmWpNsn6QTRZlLWU73r 1yBYREi4KeMslncxzLLDY7SDagYoiVrIQTA81pwRfXN84iSQ2E7gDu+luilRODg3hY8Y ud+t4gMh+7A9ScVSAz8Fx9KviWREiuoM0ZE8T8oIfWl3QXRJ23DsP9O9Ggq/4UtENVy3 HO6afk81Tvf4BgWGpC5axxr9RLx5trNMg/9YBfgH/2zTtmre1+YYrLNMO8ZTjpquJWge o6zJbQV776mtv/uPYukJtKeoddbkV5IBQg253OL/xMS0rHd8VB+upibUFGS8BALwrsmN EOVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=f8ZSPRZo768TF/i9atQ4txmDK62DlnKH3AqwZUM8fp0=; b=EpLWQGF2zyyLglnWmnUsE1RY1NB+67rWxTQcEHSgccQormtnuSX0ncrBBHcZxYfYwh rPeuxf7gw3SRmi99xlLoBin/2MNixzPnPJyKmZkvuSB/3PPgFPaNVC9RuwYnPiipWGel /4AVW6AbV6wK1poxDwqd7Y1XbPuiGfJlcXIYB7KNzb2x10VfsPwUMnkkU9BkrI09A8uK afkTZbmVWfkc70Sw70cBx7sbDJD04xtczqrGG7O557l1SQDdpxemEK6SLTIDPLFitB7U a/JIuxIYSbaUdQnZYy9aCgBbkhgObSpj2d5EHx9RKcy63o/VY4LE1rTGfcGofeAXC7AU p2xQ== X-Gm-Message-State: AOUpUlFLJrUEz4d/wB5B5odQcnNnuMRMv4/+DT11fZOPVLQyBUuhOogw 2zkdzZ2pnI+H3yn5HrDJO2+Vmg== X-Received: by 2002:a65:64cf:: with SMTP id t15-v6mr3430283pgv.79.1531428802530; Thu, 12 Jul 2018 13:53:22 -0700 (PDT) Received: from ?IPv6:2600:1011:b01e:e4d1:54df:ba07:cac1:aeab? ([2600:1011:b01e:e4d1:54df:ba07:cac1:aeab]) by smtp.gmail.com with ESMTPSA id n9-v6sm19468348pgp.42.2018.07.12.13.53.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Jul 2018 13:53:21 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: [PATCH 05/39] x86/entry/32: Unshare NMI return path From: Andy Lutomirski X-Mailer: iPhone Mail (15F79) In-Reply-To: <1531308586-29340-6-git-send-email-joro@8bytes.org> Date: Thu, 12 Jul 2018 13:53:19 -0700 Cc: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, 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 , aliguori@amazon.com, daniel.gruss@iaik.tugraz.at, hughd@google.com, keescook@google.com, Andrea Arcangeli , Waiman Long , Pavel Machek , "David H . Gutteridge" , jroedel@suse.de Content-Transfer-Encoding: 7bit Message-Id: References: <1531308586-29340-1-git-send-email-joro@8bytes.org> <1531308586-29340-6-git-send-email-joro@8bytes.org> To: Joerg Roedel Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Jul 11, 2018, at 4:29 AM, Joerg Roedel wrote: > > From: Joerg Roedel > > NMI will no longer use most of the shared return path, > because NMI needs special handling when the CR3 switches for > PTI are added. Why? What would go wrong? How many return-to-usermode paths will we have? 64-bit has only one. > This patch prepares for that. > > Signed-off-by: Joerg Roedel > --- > arch/x86/entry/entry_32.S | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S > index d35a69a..571209e 100644 > --- a/arch/x86/entry/entry_32.S > +++ b/arch/x86/entry/entry_32.S > @@ -1017,7 +1017,7 @@ ENTRY(nmi) > > /* Not on SYSENTER stack. */ > call do_nmi > - jmp .Lrestore_all_notrace > + jmp .Lnmi_return > > .Lnmi_from_sysenter_stack: > /* > @@ -1028,7 +1028,11 @@ ENTRY(nmi) > movl PER_CPU_VAR(cpu_current_top_of_stack), %esp > call do_nmi > movl %ebx, %esp > - jmp .Lrestore_all_notrace > + > +.Lnmi_return: > + CHECK_AND_APPLY_ESPFIX > + RESTORE_REGS 4 > + jmp .Lirq_return > > #ifdef CONFIG_X86_ESPFIX32 > .Lnmi_espfix_stack: > -- > 2.7.4 >