From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225MH7+0tKNSVPRZbZhagFRIXStEl7ieTjAISCuMdpf6JB5pKgPqeliSXmq5a6vqv3x8K+Sv ARC-Seal: i=1; a=rsa-sha256; t=1517427503; cv=none; d=google.com; s=arc-20160816; b=s5f4Zji8b+t7k/uP9o2v8FpFVhbdeApToGPqxVU9riZWvxblOt79TxDQy0HY2NWqnK bQN5FeVf4Kd0ci337/6QsOJY/MyYVRd2osJ2rJB8OS+m6ppkpQ5MJCIvBeOgOoUxx7Rj Oy8JCVmcDjm4lh28x+BRgV/kOCitRA6d58T9Y4DinVySK0QrdBrQ2fDbyAA17Tagj0k9 10Au4Jkhlfn3smx06H7lAy3bgeWls2uzwDmVD/D/stCRIpMhB+Tyxp+KFMT0C+EZcuhS KMWUsNkz1jcrXQkN9OzltNb0E3z9MrxikViHWg4OYmJxVXtX98rZXWMzWYylTw5ZNbfP CrBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature:arc-authentication-results; bh=j/WxHtZowDC9TyamxJ4Xqd3W+zpdrutp7e6JtY1SR7c=; b=waOFNnYO9x7E+F5jmKtpUn3ICUAI8Ar3Z8Df+0I82HmhNSSHfFQrRWaqpETiPi+tYZ ZOGBPzCXAOqY1BeITD19jmszugnzqR8J1lo09dxA1hHabPZp5qR8Jn9lvHDTFeXVbJqu Gakjh7g4R+lwxczNVd37okfULl9YWX0dJfYEvkPWYLBg+yPip74ur5Gzn5rNefx/YmOW TeI86ZX0fNaGpQjEp4l0ztjibjd423AEux/lgXyNx84BQZQe+e0/JBS6PlJM1adF6cIN Ukscf9DBk07YRrNumQZlr3vqxVynFHhUKP8E5ARxVR6QT4VoIbzbRc9xTV9pcRMuDTBK eQbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=e3SvHxkS; spf=pass (google.com: domain of prvs=562a19d0d=karahmed@amazon.com designates 207.171.190.10 as permitted sender) smtp.mailfrom=prvs=562a19d0d=karahmed@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=e3SvHxkS; spf=pass (google.com: domain of prvs=562a19d0d=karahmed@amazon.com designates 207.171.190.10 as permitted sender) smtp.mailfrom=prvs=562a19d0d=karahmed@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de X-IronPort-AV: E=Sophos;i="5.46,441,1511827200"; d="scan'208";a="717695813" From: KarimAllah Ahmed To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: KarimAllah Ahmed , Andi Kleen , Andrea Arcangeli , Andy Lutomirski , Arjan van de Ven , Ashok Raj , Asit Mallick , Borislav Petkov , Dan Williams , Dave Hansen , David Woodhouse , Greg Kroah-Hartman , "H . Peter Anvin" , Ingo Molnar , Janakarajan Natarajan , Joerg Roedel , Jun Nakajima , Laura Abbott , Linus Torvalds , Masami Hiramatsu , Paolo Bonzini , Peter Zijlstra , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Thomas Gleixner , Tim Chen , Tom Lendacky Subject: [PATCH v5 0/5] KVM: Expose speculation control feature to guests Date: Wed, 31 Jan 2018 20:37:42 +0100 Message-Id: <1517427467-28567-1-git-send-email-karahmed@amazon.de> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1591113686906914955?= X-GMAIL-MSGID: =?utf-8?q?1591138061837381823?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Add direct access to speculation control MSRs for KVM guests. This allows the guest to protect itself against Spectre V2 using IBRS+IBPB instead of a retpoline+IBPB based approach. It also exposes the ARCH_CAPABILITIES MSR which is going to be used by future Intel processors to indicate RDCL_NO and IBRS_ALL. v5: - svm: add PRED_CMD and SPEC_CTRL to direct_access_msrs list. - vmx: check also for X86_FEATURE_SPEC_CTRL for msr reads and writes. - vmx: Use MSR_TYPE_W instead of MSR_TYPE_R for the nested IBPB MSR - rewrite commit message for IBPB patch [2/5] (Ashok) v4: - Add IBRS passthrough for SVM (5/5). - Handle nested guests properly. - expose F(IBRS) in kvm_cpuid_8000_0008_ebx_x86_features Ashok Raj (1): KVM: x86: Add IBPB support KarimAllah Ahmed (4): KVM: x86: Update the reverse_cpuid list to include CPUID_7_EDX KVM: VMX: Emulate MSR_IA32_ARCH_CAPABILITIES KVM: VMX: Allow direct access to MSR_IA32_SPEC_CTRL KVM: SVM: Allow direct access to MSR_IA32_SPEC_CTRL arch/x86/kvm/cpuid.c | 22 +++++++--- arch/x86/kvm/cpuid.h | 1 + arch/x86/kvm/svm.c | 87 ++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/vmx.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++-- arch/x86/kvm/x86.c | 1 + 5 files changed, 218 insertions(+), 10 deletions(-) Cc: Andi Kleen Cc: Andrea Arcangeli Cc: Andy Lutomirski Cc: Arjan van de Ven Cc: Ashok Raj Cc: Asit Mallick Cc: Borislav Petkov Cc: Dan Williams Cc: Dave Hansen Cc: David Woodhouse Cc: Greg Kroah-Hartman Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Janakarajan Natarajan Cc: Joerg Roedel Cc: Jun Nakajima Cc: Laura Abbott Cc: Linus Torvalds Cc: Masami Hiramatsu Cc: Paolo Bonzini Cc: Peter Zijlstra Cc: Radim Krčmář Cc: Thomas Gleixner Cc: Tim Chen Cc: Tom Lendacky Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: x86@kernel.org -- 2.7.4