From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4DAC2C433FE for ; Thu, 21 Oct 2021 17:13:02 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F243C61037 for ; Thu, 21 Oct 2021 17:13:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org F243C61037 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 791AB6B006C; Thu, 21 Oct 2021 13:13:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71A3D6B0071; Thu, 21 Oct 2021 13:13:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5949F900002; Thu, 21 Oct 2021 13:13:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0160.hostedemail.com [216.40.44.160]) by kanga.kvack.org (Postfix) with ESMTP id 41E136B006C for ; Thu, 21 Oct 2021 13:13:01 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id ED38A182111B8 for ; Thu, 21 Oct 2021 17:13:00 +0000 (UTC) X-FDA: 78721089720.10.CFC8C91 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by imf22.hostedemail.com (Postfix) with ESMTP id 563EC1918 for ; Thu, 21 Oct 2021 17:12:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1634836380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XK8lsFGIy7ux6qnbNN7kYySECN4eAp1hXXWqZfwXvfI=; b=BG0be1cLzysYI4OBZB1nVlBclRylMWATpnmdRq9wGjNgUkn3fXW8SJj+iJcPlkRlWbJRhH IvpHlGhK3v2lpsKWlOs8zJsZQEFatb1aXkb678BhWs3o9VSrhtgczE86NIBuKUoxzZ1bhN SJKe3gf3PKaT0Y8KN5paPd2beMOjShc= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-537-tcNHdbLyOb-A_25QX0u2sg-1; Thu, 21 Oct 2021 13:12:58 -0400 X-MC-Unique: tcNHdbLyOb-A_25QX0u2sg-1 Received: by mail-wm1-f72.google.com with SMTP id z137-20020a1c7e8f000000b0030cd1800d86so144677wmc.2 for ; Thu, 21 Oct 2021 10:12:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=XK8lsFGIy7ux6qnbNN7kYySECN4eAp1hXXWqZfwXvfI=; b=URG9q61r8KDUXnbpa1KlCXGW3jQzimK78mGALIjPY9rdLdOkdOmSsexSuYMHSs8HXw r6D8MrU+aTtTKC/Q9qN/u4mmt1tL9/VZZvMnvyjiiSP+fjBiNwULp1gWajRGzrcQ81Xr Nv71RVFvEvjAruxG+OJH93R4DkS5zFd6EbDbJV8xqFzyEAUTiN6WP5bokD7LH69xj/iz YJZVcSJ4H/SSlsKh9OW8+rENtXKE5fDKSFYt9Qw9iwJe0WR7YSolj1i/8rvSpI6S9JFr cB9Ib6hmG5xce4WJGCgQrlVLFQrpzd8luvRRLMuUm3XxrMgHsMmjuQ/rcvlNOnsxYjZw F8RQ== X-Gm-Message-State: AOAM532zoqjiPnZ5NO2viSbXsYBkpWjyIgrsodMiJd7xtisq1JNdXiJt 3H/MxAPHnnNC4sTdm400+kjhLOWkZ+GSvtx5Vg0/WoTfNvKPgofFn0ZZHn+vFBMUbIQWb//jHan aa5FG/RCGnqA= X-Received: by 2002:adf:d84d:: with SMTP id k13mr9086413wrl.276.1634836377402; Thu, 21 Oct 2021 10:12:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyIz2xc4dlFybQ+Itlm8MuVX7/TKhmdXDokBG8vkqS60XCLS5Pa1uXT6kLyhVWWxhAy7jGivg== X-Received: by 2002:adf:d84d:: with SMTP id k13mr9086349wrl.276.1634836377142; Thu, 21 Oct 2021 10:12:57 -0700 (PDT) Received: from work-vm (cpc109025-salf6-2-0-cust480.10-2.cable.virginm.net. [82.30.61.225]) by smtp.gmail.com with ESMTPSA id d1sm5657617wrr.72.2021.10.21.10.12.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Oct 2021 10:12:56 -0700 (PDT) Date: Thu, 21 Oct 2021 18:12:53 +0100 From: "Dr. David Alan Gilbert" To: Borislav Petkov Cc: Michael Roth , Brijesh Singh , x86@kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-efi@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, Thomas Gleixner , Ingo Molnar , Joerg Roedel , Tom Lendacky , "H. Peter Anvin" , Ard Biesheuvel , Paolo Bonzini , Sean Christopherson , Vitaly Kuznetsov , Jim Mattson , Andy Lutomirski , Dave Hansen , Sergio Lopez , Peter Gonda , Peter Zijlstra , Srinivas Pandruvada , David Rientjes , Dov Murik , Tobin Feldman-Fitzthum , Vlastimil Babka , "Kirill A . Shutemov" , Andi Kleen , tony.luck@intel.com, marcorr@google.com, sathyanarayanan.kuppuswamy@linux.intel.com Subject: Re: [PATCH v6 08/42] x86/sev-es: initialize sev_status/features within #VC handler Message-ID: References: <20211008180453.462291-1-brijesh.singh@amd.com> <20211008180453.462291-9-brijesh.singh@amd.com> <20211018184003.3ob2uxcpd2rpee3s@amd.com> <20211020161023.hzbj53ehmzjrt4xd@amd.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/2.0.7 (2021-05-04) X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 563EC1918 X-Stat-Signature: smet9mntn8qbpgssac981rz7ujifjotf Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BG0be1cL; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf22.hostedemail.com: domain of dgilbert@redhat.com has no SPF policy when checking 216.205.24.124) smtp.mailfrom=dgilbert@redhat.com X-HE-Tag: 1634836379-146784 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: * Borislav Petkov (bp@alien8.de) wrote: > On Thu, Oct 21, 2021 at 04:56:09PM +0100, Dr. David Alan Gilbert wrote: > > I can imagine a malicious hypervisor trying to return different cpuid > > answers to different threads or even the same thread at different times. > > Haha, I guess that will fail not because of SEV* but because of the > kernel not really being able to handle heterogeneous CPUIDs. My worry is if it fails cleanly or fails in a way an evil hypervisor can exploit. > > Well, the spec (AMD 56860 SEV spec) says: > > > > 'If firmware encounters a CPUID function that is in the standard or extended ranges, then the > > firmware performs a check to ensure that the provided output would not lead to an insecure guest > > state' > > > > so I take that 'firmware' to be the PSP; that wording doesn't say that > > it checks that the CPUID is identical, just that it 'would not lead to > > an insecure guest' - so a hypervisor could hide any 'no longer affected > > by' flag for all the CPUs in it's migration pool and the firmware > > shouldn't complain; so it should be OK to pessimise. > > AFAIU this, I think this would depend on "[t]he policy used by the > firmware to assess CPUID function output can be found in [PPR]." > > So if the HV sets the "no longer affected by" flag but the firmware > deems this set flag as insecure, I'm assuming the firmare will clear > it when it returns the CPUID leafs. I guess I need to go find that > policy... OK, so that bit is 8...21 Eax ext2eax bit 6 page 1-109 then 2.1.5.3 CPUID policy enforcement shows 8...21 EAX as 'bitmask' 'bits set in the GuestVal must also be set in HostVal. This is often applied to feature fields where each bit indicates support for a feature' So that's right isn't it? Dave > -- > Regards/Gruss, > Boris. > > https://people.kernel.org/tglx/notes-about-netiquette > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK