Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1105943pxb; Wed, 29 Sep 2021 17:27:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGlTlY6yvmgW4L7RYPEIfHOmqCrNR15TIeFshFi4hSIs8lshY6BWZbZWRNH2Z1hvbXs7JS X-Received: by 2002:a17:90a:43e3:: with SMTP id r90mr2980832pjg.81.1632961632534; Wed, 29 Sep 2021 17:27:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632961632; cv=none; d=google.com; s=arc-20160816; b=rjqnOXP7UuoVmY10AmYPpJ4QWhihYfrS06BEZlc44NO3YsKC47dg8L9rYNU2issjtG eiC8eShIE78bKznNGuF6WRDN7o4rGfYRdQNxZBFU75cY4GLMtz1WR7VKefpMhILzUrXo ot8NV1V3mchCXVGnm9D03vT9J7V0vtw1x6nAQp3U66u2cJrPsVj9HCQMJuKRPs7mlu1Q Kt43+6qAuhoa4guqSVI19tguvWJWpnUjifz/o0U0g0EFPW+lYUtTGG8SKZ1H3HCLntzb 64Fn8iKOnzBuCukeEub8/2vq8lukNDRqI0f5BlMRUyPRRI0RMA8RL0hykxoslbQqWUeI ixCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=e2OTP9/Iaal3kA6JcGQMsrbP+LXgzXaNrRHpdP8nXFo=; b=AJm9onYwgUQgq+SukFeSZmFv4zFBe5dxaycG+OXGfrNyXQMJwc5onSjJAMEgMLQoEH PJWFoKHUgF4gZsc5wfr4KM888/uaFcy5eqHFO4qm5GNyDo6P982oPJw8E13s5CnwISz0 Yf/HLMMj4C14rn6WX8TuM5NROuPxuOmXhSNpVUgBbhhaoBRzFcW9JsIfZU1gw2JuziMH zK8qcOTgzZZGbb9E64qb3cQD6b7XYjQEaACWFTkCf76nRO9HjP+9Gy4FFfIVfT7Xt6md 2QzIWvVG19k9iAAVc7JJdfKhqBCqUmkKPYirTjzlirn3fTHZ0JkFLmincNt4aQAlp138 x/Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=G28j7WE8; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e3si1378965pjm.101.2021.09.29.17.26.47; Wed, 29 Sep 2021 17:27:12 -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=@google.com header.s=20210112 header.b=G28j7WE8; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347339AbhI2WvW (ORCPT + 99 others); Wed, 29 Sep 2021 18:51:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345332AbhI2WvV (ORCPT ); Wed, 29 Sep 2021 18:51:21 -0400 Received: from mail-oo1-xc34.google.com (mail-oo1-xc34.google.com [IPv6:2607:f8b0:4864:20::c34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B617DC061767 for ; Wed, 29 Sep 2021 15:49:39 -0700 (PDT) Received: by mail-oo1-xc34.google.com with SMTP id k11-20020a4abd8b000000b002b5c622a4ddso1257573oop.1 for ; Wed, 29 Sep 2021 15:49:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=e2OTP9/Iaal3kA6JcGQMsrbP+LXgzXaNrRHpdP8nXFo=; b=G28j7WE82ccu1R0Oh+3pL1ssp6lEJumdTGsQ3x7h/CpuqpyWf8R+WjqiopNkB1NB4/ Zra/3R/RSSJZllQnqZu1Xj+YQ0FxpcgBvNwEkTau1kpz6b68svJZ50NRQ//U0PLJUdQR DkUQeMxkcoKtyVm2uxaqrjOAY9i3fC4SerMzZdZVZ9b0XAcmZpL1q6MC3nsv+g3i/jJs KUGbfDfWoHVGdrsjpnAkUfMu6i7V5EoF5AJ9nKytt9GVAuQ6+mCdlkFiRcjc4VXFL2Od WJfs3bsK32BycM4a0wL1xW5yBug97qJvppkZLkNMUAP6kdwie83+7r/nG3EqS7rGSwvI i4/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=e2OTP9/Iaal3kA6JcGQMsrbP+LXgzXaNrRHpdP8nXFo=; b=VgVeIzQCO73TLRHijlHiH3mQGhLTncfDupLFCYklM7WRpYRdyDqhzfWm9fjjYV7gRe fpW2tpynkxZ23+BKAiCYtHt6HLniLtF7lDVx6WDH3ZhX4mqjnz0iEHgCkb1batCP+g7d 0SXuUNEdw+kz4B81BFZ6gcJYlaUfBfajYbnABoCGycMnoWJdhcWfbo94vR3/kYjEQvk1 89qrt2GtFYjpXaPBbfzGTsB/srrDkzCyvHT6flVAYTVGMXZ3ygvd4peQBCpvnYat/8uJ gUWZba+SrHqjqFInOpLAlZ2hAD1oIeDmAk93QHa/fGRqIiBuWvquyANn4IzpS/P7J9QT dreQ== X-Gm-Message-State: AOAM532dtRp1vyq2yxu/06SzO3Z3oRVF+P4FzSNiVKJsEuh+j/U6BsOj zd3TO2M2qi+59TyiNYN26xsIMs/iINrVJtp7CXoKqw== X-Received: by 2002:a4a:de57:: with SMTP id z23mr2042527oot.70.1632955778679; Wed, 29 Sep 2021 15:49:38 -0700 (PDT) MIME-Version: 1.0 References: <20210929222426.1855730-1-seanjc@google.com> <20210929222426.1855730-3-seanjc@google.com> In-Reply-To: <20210929222426.1855730-3-seanjc@google.com> From: Jim Mattson Date: Wed, 29 Sep 2021 15:49:27 -0700 Message-ID: Subject: Re: [PATCH 2/2] KVM: x86: Manually retrieve CPUID.0x1 when getting FMS for RESET/INIT To: Sean Christopherson Cc: Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Joerg Roedel , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, syzbot+f3985126b746b3d59c9d@syzkaller.appspotmail.com, Alexander Potapenko Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 29, 2021 at 3:24 PM Sean Christopherson wrote: > > Manually look for a CPUID.0x1 entry instead of bouncing through > kvm_cpuid() when retrieving the Family-Model-Stepping information for > vCPU RESET/INIT. This fixes a potential undefined behavior bug due to > kvm_cpuid() using the uninitialized "dummy" param as the ECX _input_, > a.k.a. the index. > > A more minimal fix would be to simply zero "dummy", but the extra work in > kvm_cpuid() is wasteful, and KVM should be treating the FMS retrieval as > an out-of-band access, e.g. same as how KVM computes guest.MAXPHYADDR. > Both Intel's SDM and AMD's APM describe the RDX value at RESET/INIT as > holding the CPU's FMS information, not as holding CPUID.0x1.EAX. KVM's > usage of CPUID entries to get FMS is simply a pragmatic approach to avoid > having yet another way for userspace to provide inconsistent data. > > No functional change intended. > > Signed-off-by: Sean Christopherson Reviewed-by: Jim Mattson