Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4706106pxj; Wed, 12 May 2021 11:19:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJykJRuZeoYHqFlUkS7SCZELJdVefCGMccSlH7GAkjBXAZ50NYBJl5PIvBE6k61QovtYBA7G X-Received: by 2002:a17:906:170a:: with SMTP id c10mr38459853eje.493.1620843573517; Wed, 12 May 2021 11:19:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620843573; cv=none; d=google.com; s=arc-20160816; b=LYXfALInWDHvBbDUUNOrSaJK3HEm7SwrWFItFDh/07Vi343mfwVvJ+vPlyp3B0gXFL O2TsnkKCe7gATXLN8dSgT/+D7T7MEiF2WXVpam28d/WJfE+6VIYNqoqSYk/Z7L374M2r x+mR1QzJwlSKlVi3SXBsJSiDLfo0MVYeRitHR5gjRWnS2Qf+cDe9QUpc2DWIgTrLQMBk DyeX/IU/yHMxFK6Vj2/KKunMMXyaI8X5p9sB8ePJfqUQQ4NHDemsprfuOuFHvcCHu2KN Lv2Ov9YxJhjxoggV5z82jR6fR/Bct3Nb69TkOrP0fk9a02gKQ43E4ATHybJiWMzrn6Un vUWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7SZnFtSAwpAnjrCNp3JkjeVdumEb8CM5d89TGL7E42U=; b=nwGg0Fj7FTsCuHEUZQEOm08uS56da35EIDaoE0AZqhPY7dCuxuQqsP3fkb/hxpRNq3 lB666kU9SUHQgjfmBkG9LNgESVzUEReJVAySS08l9IlOmqkBsaekeZOliYJr01JCE1F1 6t6tT3OcMb74gol1oriW5fio+prNMXh5BBae5/6SDhp+U585ozWtdcfXz1d8ML+zcszH FTeuwGWMgMc8ecgjyYX3RIQzn5Jf9FPzrTdth9wmy8VsDCWmabnRBTiGA8Db12GslxA9 HVlR/hJd2PRs4ZCRZtNEPPjMDtRhH9uLuEkaL9y3f5neJlpthQztBFOcE2dxCsjwT8Cv NzEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=dbHCFWNy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i19si594097ejv.399.2021.05.12.11.19.09; Wed, 12 May 2021 11:19:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=dbHCFWNy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352106AbhELSPY (ORCPT + 99 others); Wed, 12 May 2021 14:15:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:43732 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240750AbhELQZQ (ORCPT ); Wed, 12 May 2021 12:25:16 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id BB46F619B4; Wed, 12 May 2021 15:48:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620834503; bh=f4FpQnCVgyUwamhGnxb5joz99sn7Vicj5MGxRKKfhDM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dbHCFWNyVuaQTEfbHef94QCj4vuOOzOYdRY5+BQSTeK2hXcKUL8ea9R99hTx1WgMU oMOF5JV3mXMafTndTDSQqwECDxb5nw7IRUT/pELGLecxycTiLS+h1ySQoU2i1Pg1+p Ujza9s2hd9xAI6BPllII6XfR8TBKoh528tZ1Vo2g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Borislav Petkov , Tom Lendacky , Brijesh Singh , Sean Christopherson , Paolo Bonzini , Sasha Levin Subject: [PATCH 5.11 571/601] KVM: SVM: Zero out the VMCB array used to track SEV ASID association Date: Wed, 12 May 2021 16:50:48 +0200 Message-Id: <20210512144846.654984006@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Christopherson [ Upstream commit 3b1902b87bf11f1c6a84368470dc13da6f3da3bd ] Zero out the array of VMCB pointers so that pre_sev_run() won't see garbage when querying the array to detect when an SEV ASID is being associated with a new VMCB. In practice, reading random values is all but guaranteed to be benign as a false negative (which is extremely unlikely on its own) can only happen on CPU0 on the first VMRUN and would only cause KVM to skip the ASID flush. For anything bad to happen, a previous instance of KVM would have to exit without flushing the ASID, _and_ KVM would have to not flush the ASID at any time while building the new SEV guest. Cc: Borislav Petkov Reviewed-by: Tom Lendacky Reviewed-by: Brijesh Singh Fixes: 70cd94e60c73 ("KVM: SVM: VMRUN should use associated ASID when SEV is enabled") Signed-off-by: Sean Christopherson Message-Id: <20210422021125.3417167-2-seanjc@google.com> Signed-off-by: Paolo Bonzini Signed-off-by: Sasha Levin --- arch/x86/kvm/svm/svm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index c8033f2586f1..99592e03658b 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -576,9 +576,8 @@ static int svm_cpu_init(int cpu) clear_page(page_address(sd->save_area)); if (svm_sev_enabled()) { - sd->sev_vmcbs = kmalloc_array(max_sev_asid + 1, - sizeof(void *), - GFP_KERNEL); + sd->sev_vmcbs = kcalloc(max_sev_asid + 1, sizeof(void *), + GFP_KERNEL); if (!sd->sev_vmcbs) goto free_save_area; } -- 2.30.2