Received: by 10.223.176.5 with SMTP id f5csp525359wra; Wed, 7 Feb 2018 03:18:53 -0800 (PST) X-Google-Smtp-Source: AH8x224b6XG8g2mV1iiyT4Be6itPPqtEibcaFOzjHSuoqlYRwlC9Q7Kq7nhpOepOydqcsUm1KMQb X-Received: by 2002:a17:902:6b48:: with SMTP id g8-v6mr5759848plt.151.1518002332917; Wed, 07 Feb 2018 03:18:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518002332; cv=none; d=google.com; s=arc-20160816; b=tE/06moB5PubLAmuAaG1idiHa+BBxWzB9uX9/KJG1gObGke1MublTvhuAK2Dhz4cCS sJK/LeLXrwUufPXqiq/fBGObp2SdqfCz80O15Dt1NwYl2PvHgXp435CN2UW/f6Ku/He5 un/ZYdFuW7vSENeW/OmFXPU3w7Zf6MJ7b4rHw2MySiZqxVcMBjZnOKEH4WJGGEF8momD z3rfOdiQPRzP/i7Jd9AoQ587QSZODi+W0dnsFUwBqtzBErkkMyzJTL/HclyQTSP3Mdv5 BnNtzi3ZqbHKq3lCWAx2eqX1K7JwR5mV9MC64F22cXRGdxMJ40DHzUnc1yB4rrpUXUp7 h+iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=kWJ8Yq0T99c7RYqxEB1BfspPVZaP8W7ooSlLtD5CjPw=; b=SxVUdrJb8ke7nvnQScmFE4PyoVlhU6bkwFxwSY/sssJJhdAya825WqxUfI3zrWRTf/ 4RtduQGmr2hCqarUX7OeMYFigW2pTyK/2AD3nu6IlzhB6sb+JfLGrY2NcK+tmDhvah/J 64o3/MBwxa0U5PmdoysIadn0iRn0/rL3NCaZcJ/d4Px9encUaiFh8ztQ9rRIEZsNa/rz lo4WN2AdnOfETmiL54GDUhRrckN+3GpNFhDkQRB65ZQbcuwUnfYbGweS0ZYyfYWMVLkf HM7GvT5ePnMpRsyGpnnr6PV+XrfxRXnhBAnPZfzt50E8OO2p4u92IURI06B336kvR3Q9 dxCw== 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 d187si818715pgc.133.2018.02.07.03.18.38; Wed, 07 Feb 2018 03:18:52 -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 S1753809AbeBGLSA (ORCPT + 99 others); Wed, 7 Feb 2018 06:18:00 -0500 Received: from mail.skyhub.de ([5.9.137.197]:43524 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753595AbeBGLR7 (ORCPT ); Wed, 7 Feb 2018 06:17:59 -0500 X-Virus-Scanned: Nedap ESD1 at mail.skyhub.de Received: from mail.skyhub.de ([127.0.0.1]) by localhost (blast.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Gkz-Rio--5kw; Wed, 7 Feb 2018 12:17:57 +0100 (CET) Received: from pd.tnic (p200300EC2BCD620078C005B42741A0DC.dip0.t-ipconnect.de [IPv6:2003:ec:2bcd:6200:78c0:5b4:2741:a0dc]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 970831EC0104; Wed, 7 Feb 2018 12:17:57 +0100 (CET) Date: Wed, 7 Feb 2018 12:17:39 +0100 From: Borislav Petkov To: David Woodhouse Cc: tglx@linutronix.de, torvalds@linux-foundation.org, x86@kernel.org, linux-kernel@vger.kernel.org, peterz@infradead.org, tim.c.chen@linux.intel.com, dave.hansen@intel.com, arjan.van.de.ven@intel.com Subject: Re: [RFC PATCH 3/4] x86/speculation: Use IBRS if available before calling into firmware Message-ID: <20180207111739.GA8698@pd.tnic> References: <1517961794-14972-1-git-send-email-dwmw@amazon.co.uk> <1517961794-14972-4-git-send-email-dwmw@amazon.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1517961794-14972-4-git-send-email-dwmw@amazon.co.uk> User-Agent: Mutt/1.9.3 (2018-01-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Just some random thoughts: On Wed, Feb 07, 2018 at 12:03:13AM +0000, David Woodhouse wrote: > +#define alternative_msr_write(_msr, _val, _feature) \ > + asm volatile(ALTERNATIVE("", \ > + "movl %[msr], %%ecx\n\t" \ > + "movl %[val], %%eax\n\t" \ > + "movl $0, %%edx\n\t" \ We'll never write anything except 0 in %edx? > + "wrmsr", \ > + _feature) \ > + : : [msr] "i" (_msr), [val] "i" (_val) \ > + : "eax", "ecx", "edx", "memory") So I'm not crazy about making it a separate macro because TBH it doesn't look too generic to do that but then again what do I know, considering recent history. :-) [ Maybe I need to not look at the spectral meltdown for a couple of weeks and simply take a break. ] I guess it is fine if it is in nospec-branch.h and not prefix it with alternative_ so that it doesn't give people ideas. Oh and firmware_restrict_branch_speculation_start/end() is just too long a name. All IMHO, of course. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.