Received: by 10.223.185.116 with SMTP id b49csp1329198wrg; Wed, 14 Feb 2018 15:30:33 -0800 (PST) X-Google-Smtp-Source: AH8x2251vN3N71QJEm2jH8beAPteu7m4Qr+pLNSkfKgGQaAriYiJGZCDCEm/siYjaDOfgWSB3jOz X-Received: by 2002:a17:902:71c5:: with SMTP id t5-v6mr647647plm.142.1518651033259; Wed, 14 Feb 2018 15:30:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518651033; cv=none; d=google.com; s=arc-20160816; b=Pj64B4afyzScWGiP1fSm1GuEy87AJRU8K/0AOxoFnJF4uAxMCeecL0W2Hrmn0UuR/6 tYoMV1BEcx0hB2h/PtumwywPh5JuFR64wT+lSDajh+qH1hReS8Ns8icn1B359QNK1Wqi 9bEtXsOH6Mc9fL4lAkjKxmBuw2/1fPPxTd06XDh36Rgr0BMRobYsq8EHWEiUSQ2xK1dQ 0fVdTxOmssdYu4moHx5n77Vds+MOnwzpCtBn2wdFm9tPA/dZPLqI+Z3sYVfNs7ggfEo1 JmRv1gKC3oetMZKqrhXqQlIy/Yze16JCBkaerdUfVT2X6m4ZczK1g9N036OULTz9TAyX LKrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from :dkim-signature:arc-authentication-results; bh=9AksIUHLhLbbOhoNCGkoQ6bKNQMmoHp6pXoQfC65NUc=; b=F1KQZPC/QseS3mr0c8LkUxX18wiJvwQkdwJBZ17UrWdr/tXu6VBHkBnS66cCsYqfPc tfI0l/1ZbA9DRb1IavmKsGJqfT6ge9zwfn6jiq43kwKL+pbHobrmbbGeLltzEB6UWsdl 1ZWQ/N++Sp/0GoA56V+WEJr0WKxngPf1/qmTe3CK6dbwd5Lwye83/mqR5CenoiLL8BtS /HBbH4R1vv11QMd4vrnRXGd95MsbOmbWlgfXDFOE+D0Xd20MJVygm56FuXx42/EqJc6J SHV/9wo5kw1wxB2NYSwD3bG40ArMSygUImeBv4xA+KHLzQExep79E1RJtF842VKNRzs7 EnNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=EfOikac3; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m10si1622870pgn.120.2018.02.14.15.30.17; Wed, 14 Feb 2018 15:30:33 -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; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=EfOikac3; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1032056AbeBNX3f (ORCPT + 99 others); Wed, 14 Feb 2018 18:29:35 -0500 Received: from smtp-fw-33001.amazon.com ([207.171.190.10]:40192 "EHLO smtp-fw-33001.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1032006AbeBNX3d (ORCPT ); Wed, 14 Feb 2018 18:29:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt; s=amazon201209; t=1518650973; x=1550186973; h=from:to:subject:date:message-id; bh=9AksIUHLhLbbOhoNCGkoQ6bKNQMmoHp6pXoQfC65NUc=; b=EfOikac3dSx48x2gra7DbhV4+IGg67dxkPjKGLsnL3Nj1/h+baKzpjm2 g+GX2oPsiN+SVYedaZQxrWIB86h11FmppRqLpczgggoSvYJ86TDn7+tx7 NieTe8E+zQM7OBtzAl9AF68EQhkQAhDMTE/bJVxsDbd2UoTOp86o/NwKH g=; X-IronPort-AV: E=Sophos;i="5.46,514,1511827200"; d="scan'208";a="719700854" Received: from sea3-co-svc-lb6-vlan2.sea.amazon.com (HELO email-inbound-relay-2b-4e24fd92.us-west-2.amazon.com) ([10.47.22.34]) by smtp-border-fw-out-33001.sea14.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 14 Feb 2018 23:29:30 +0000 Received: from uc8d3ff76b9bc5848a9cc.ant.amazon.com (pdx2-ws-svc-lb17-vlan3.amazon.com [10.247.140.70]) by email-inbound-relay-2b-4e24fd92.us-west-2.amazon.com (8.14.7/8.14.7) with ESMTP id w1ENTO5S071614 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Feb 2018 23:29:26 GMT Received: from uc8d3ff76b9bc5848a9cc.ant.amazon.com (localhost [127.0.0.1]) by uc8d3ff76b9bc5848a9cc.ant.amazon.com (8.15.2/8.15.2/Debian-3) with ESMTP id w1ENTM70000878; Wed, 14 Feb 2018 23:29:22 GMT Received: (from dwmw@localhost) by uc8d3ff76b9bc5848a9cc.ant.amazon.com (8.15.2/8.15.2/Submit) id w1ENTKVK000875; Wed, 14 Feb 2018 23:29:20 GMT From: David Woodhouse To: tglx@linutronix.de, karahmed@amazon.de, x86@kernel.org, kvm@vger.kernel.org, torvalds@linux-foundation.org, pbonzini@redhat.com, linux-kernel@vger.kernel.org, bp@alien8.de, peterz@infradead.org, jmattson@google.com, rkrcmar@redhat.com, arjan.van.de.ven@intel.com, dave.hansen@intel.com, mingo@kernel.org Subject: [PATCH v2 0/4] Speculation control improvements Date: Wed, 14 Feb 2018 23:29:14 +0000 Message-Id: <1518650958-550-1-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On CPUs which advertise IBRS_ALL, enable it and disable the retpoline as IBRS_ALL will be faster. Also use IBRS whenever it's available before calling into firmware at runtime. Revert another bikeshedding patch that was broken, and add support for retpoline builds with clang. --- v2: Remember to export spectre_v2_enabled David Woodhouse (4): x86/speculation: Use IBRS if available before calling into firmware x86/speculation: Support "Enhanced IBRS" on future CPUs Revert "x86/retpoline: Simplify vmexit_fill_RSB()" x86/retpoline: Support retpoline build with Clang arch/x86/Makefile | 5 +- arch/x86/entry/entry_32.S | 3 +- arch/x86/entry/entry_64.S | 3 +- arch/x86/include/asm/apm.h | 6 ++ arch/x86/include/asm/asm-prototypes.h | 3 - arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/include/asm/efi.h | 17 ++++- arch/x86/include/asm/nospec-branch.h | 118 +++++++++++++++++++++++++++++----- arch/x86/kernel/cpu/bugs.c | 27 +++++++- arch/x86/kvm/vmx.c | 31 +++++---- arch/x86/lib/Makefile | 1 - arch/x86/lib/retpoline.S | 56 ---------------- include/linux/compiler-clang.h | 5 ++ include/linux/compiler-gcc.h | 4 ++ include/linux/init.h | 8 +-- 15 files changed, 186 insertions(+), 102 deletions(-) -- 2.7.4