Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1891141imm; Thu, 12 Jul 2018 09:26:39 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfsDpAABW2Mm7LlXdADo1rG6MJVNcMz+geHsCJ+UG0xuzjBhnjEuyxv5Ued1GBFlHpzcZmK X-Received: by 2002:a17:902:7888:: with SMTP id q8-v6mr2847268pll.79.1531412799790; Thu, 12 Jul 2018 09:26:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531412799; cv=none; d=google.com; s=arc-20160816; b=DGgydH5wihClUvAID8iF18KVA21wTo1saULQ+IYitb4Fx3FkS518XXpMtS8M/+O3+i U3ATHkA7yc5QEE6TZS11GATR7zzszCy1+lKQOhqf6AyQ8LfWk/gKBK16qx25YLg1Ec5v OjY7Vuhj8AQ41DYkvrrHYF/b1AqFFFABkNZcrUmQW/PLIK3jpv4iFlhaZY4+CcXjx9iq vXQ0ZKKkwhLFQ/Ne9gT5X7MxquOSObGrbgCMdWDLWoIvTKJNdfdCM0F3W6N+FAA06m6y 80hjkBtI+wt+whrUxv+kDQvPNOzbUS83cUi6CK9dr576aD3Ks4sPxMAI/rWTpQ3JvhUT Yp7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=LiNiRxfqiEcD/6U+Ix5RXDcWy+3wHNAtbCOcI2W0So4=; b=SgiBiMgLJORZoHXGtvpLOSIaHaKA3F+6n0gG5PxomSXb5XryLLUKEaO023FKgZREGO d+ps7pBNF2ff2gY9VDmH37RQOFcRNT7fTBuSZ0dTJg3e/JvM7suXYf3wARBUbwpk0Qix 5vTChQIim72Z17pbmikCFo5koZy6eHmhi6WdUneNEf22re30cYYM8919U5s+pCCY0+/n xq8av2wgGpUoDOoXg5rCn+AcDpA9YiyVFuxHwbW2knZ3USpOY1tbXrGqxqiIGlFfT42p GCoTZbECEDxaUux0Iqa7Afuc6t0UCIKDllnBZOiO2AxJ2J6/lfwfyinGMo7T9gaAGCZr Wvrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=j+YZioOY; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r1-v6si19845408pgv.487.2018.07.12.09.26.22; Thu, 12 Jul 2018 09:26:39 -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=@google.com header.s=20161025 header.b=j+YZioOY; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727181AbeGLQgD (ORCPT + 99 others); Thu, 12 Jul 2018 12:36:03 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:38688 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726744AbeGLQgC (ORCPT ); Thu, 12 Jul 2018 12:36:02 -0400 Received: by mail-oi0-f66.google.com with SMTP id v8-v6so56901128oie.5 for ; Thu, 12 Jul 2018 09:25:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=LiNiRxfqiEcD/6U+Ix5RXDcWy+3wHNAtbCOcI2W0So4=; b=j+YZioOY7N3jFPnl7f+35PecUFLFnyoGWm+fyqCTKw9dTp6gnJMoVFflEodQVNIPMw iWhYfvNMLjhTu44JhfPf0eCi/nwt0qZsqrUg7z+b3w/cpg2YlAVmXwfal44DPPwGspac EW/rCQvO4L0Q/IDeh0JSI59NNwK0dalWmzOvAJylduVQK0AR+YmSAG83+TW/hNTXoA5Y YWS8LsVK5wW1yD2WoWz1HL5y6q9c6j0rr6PpSbFlK/puD0itG+6zxbKp6lXCJB9W1lc1 jZiE4gcs798H88asNmw/HFmkO5cVnVNbD4fmxUIhtymv5ISfjmZx+WbbiaDiTjoc8KCV Kr2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=LiNiRxfqiEcD/6U+Ix5RXDcWy+3wHNAtbCOcI2W0So4=; b=A70nub7sA9lXGpNjXeM+yx6xCQ6atnmT/FbMvVsuqP6oVuoVR3o6iJ16MqdbztOa+e iJcPVcj9NQZtITF/wVB4RxPT3Obr6WkInUkMEoM9vD95Te7AlmL1aKc4EC3m+pskOFob Pewt4jO2nyUcxPB+t+5CG8E0mC1Ejjqq9HuutlS98oLhXsFIlOIEzS8DOYDLXAnzmQSB Y72BZTBfZxjXTa2JXG9jCZGWJo9FkXjX7N1XyMYDA5MB1KR07zedZhejWNJUB3QxcX3n HNc0vmL6rH7YzZP6DhqEIzIJrfssmwzmrnsV8XAkoTwY/izZARJAi8J5rwqS9HbcRUOT E8YA== X-Gm-Message-State: AOUpUlG4CFHD/h4J0oLmkDil7SNtr+q5MDaoogrW4l3KvWH3KjHK9JiA mTfGa+58S0NUI8F44UeLhC+IGJTIgXsKkX6jFrYvcQ== X-Received: by 2002:aca:c585:: with SMTP id v127-v6mr3319662oif.348.1531412746618; Thu, 12 Jul 2018 09:25:46 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ac9:3404:0:0:0:0:0 with HTTP; Thu, 12 Jul 2018 09:25:46 -0700 (PDT) In-Reply-To: <20180712113505.23354-1-vkuznets@redhat.com> References: <20180712113505.23354-1-vkuznets@redhat.com> From: Jim Mattson Date: Thu, 12 Jul 2018 09:25:46 -0700 Message-ID: Subject: Re: [PATCH] x86/kvm/nVMX: set exit_qualification correctly when nested_vmx_load_msr() fails To: Vitaly Kuznetsov Cc: kvm list , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , "the arch/x86 maintainers" , Wanpeng Li , KarimAllah Ahmed , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This looks similar to my "[PATCH] kvm: nVMX: Restore exit qual for VM-entry failure due to MSR loading" On Thu, Jul 12, 2018 at 4:35 AM, Vitaly Kuznetsov wrote: > Commit e79f245ddec1 ("X86/KVM: Properly update 'tsc_offset' to represent > the running guest") introduced a regression in enter_vmx_non_root_mode(): > when nested_vmx_load_msr() fails exit_qualification needs to point to the > entry number we failed to validate. Intel's SDM states: > > "VM-entry failure due to MSR loading. The exit qualification is loaded to > indicate which entry in the VM-entry MSR-load area caused the problem (1 > for the first entry, 2 for the second, etc.)." > > Fixes: e79f245ddec1 ("X86/KVM: Properly update 'tsc_offset' to represent the running guest") > Reported-by: Wanpeng Li > Signed-off-by: Vitaly Kuznetsov > --- > arch/x86/kvm/vmx.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 65968649b365..be468c822892 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -11720,8 +11720,10 @@ static int enter_vmx_non_root_mode(struct kvm_vcpu *vcpu) > msr_entry_idx = nested_vmx_load_msr(vcpu, > vmcs12->vm_entry_msr_load_addr, > vmcs12->vm_entry_msr_load_count); > - if (msr_entry_idx) > + if (msr_entry_idx) { > + exit_qual = msr_entry_idx; > goto fail; > + } > > /* > * Note no nested_vmx_succeed or nested_vmx_fail here. At this point > -- > 2.14.4 >