All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
To: Borislav Petkov <bp@alien8.de>
Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de,
	mingo@redhat.com, dave.hansen@linux.intel.com,
	Thomas.Lendacky@amd.com, nikunj@amd.com, Santosh.Shukla@amd.com,
	Vasant.Hegde@amd.com, Suravee.Suthikulpanit@amd.com,
	David.Kaplan@amd.com, x86@kernel.org, hpa@zytor.com,
	peterz@infradead.org, seanjc@google.com, pbonzini@redhat.com,
	kvm@vger.kernel.org
Subject: Re: [RFC 01/14] x86/apic: Add new driver for Secure AVIC
Date: Wed, 9 Oct 2024 11:31:07 +0530	[thread overview]
Message-ID: <a1b2eba5-243c-4c7c-9ebd-3fce6cd4c973@amd.com> (raw)
In-Reply-To: <20241009052336.GAZwYTWDLWfSPtZe5b@fat_crate.local>



On 10/9/2024 10:53 AM, Borislav Petkov wrote:
> On Wed, Oct 09, 2024 at 07:26:55AM +0530, Neeraj Upadhyay wrote:
>> As SECURE_AVIC feature is not supported (as reported by snp_get_unsupported_features())
>> by guest at this patch in the series, it is added to SNP_FEATURES_IMPL_REQ here. The bit
>> value within SNP_FEATURES_IMPL_REQ hasn't changed with this change as the same bit pos
>> was part of MSR_AMD64_SNP_RESERVED_MASK before this patch. In patch 14 SECURE_AVIC guest
>> support is indicated by guest.
> 
> So what's the point of adding it to SNP_FEATURES_IMPL_REQ here? What does that
> do at all in this patch alone? Why is this change needed in here?
> 

Before this patch, if hypervisor enables Secure AVIC  (reported in sev_status), guest would
terminate in snp_check_features(). The reason for this is, SNP_FEATURES_IMPL_REQ had the Secure
AVIC bit set before this patch, as that bit was part of MSR_AMD64_SNP_RESERVED_MASK 
GENMASK_ULL(63, 18).

#define SNP_FEATURES_IMPL_REQ	(MSR_AMD64_SNP_VTOM |			\
				 ...
				 MSR_AMD64_SNP_RESERVED_MASK)



Adding MSR_AMD64_SNP_SECURE_AVIC_BIT (bit 18) to SNP_FEATURES_IMPL_REQ in this patch
keeps that behavior intact as now with this change MSR_AMD64_SNP_RESERVED_MASK becomes
GENMASK_ULL(63, 19).


> IOW, why don't you do all the feature bit handling in the last patch, where it
> all belongs logically?
> 

If we do that, then hypervisor could have enabled Secure AVIC support and the guest
code at this patch won't catch the missing guest-support early and it can result in some
unknown failures at later point during guest boot.


- Neeraj

> In the last patch you can start *testing* for
> MSR_AMD64_SNP_SECURE_AVIC_ENABLED *and* enforce it with SNP_FEATURES_PRESENT.
> 

  reply	other threads:[~2024-10-09  6:01 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-13 11:36 [RFC 00/14] AMD: Add Secure AVIC Guest Support Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 01/14] x86/apic: Add new driver for Secure AVIC Neeraj Upadhyay
2024-10-08 19:15   ` Borislav Petkov
2024-10-09  1:56     ` Neeraj Upadhyay
2024-10-09  5:23       ` Borislav Petkov
2024-10-09  6:01         ` Neeraj Upadhyay [this message]
2024-10-09 10:38           ` Borislav Petkov
2024-10-09 11:00             ` Neeraj Upadhyay
2024-10-09 11:02             ` Borislav Petkov
2024-10-09 12:38               ` Neeraj Upadhyay
2024-10-09 13:15           ` Tom Lendacky
2024-10-09 13:50             ` Neeraj Upadhyay
2024-10-09 10:10   ` Kirill A. Shutemov
2024-10-09 10:42     ` Borislav Petkov
2024-10-09 11:03       ` Kirill A. Shutemov
2024-10-09 11:22         ` Borislav Petkov
2024-10-09 12:12           ` Kirill A. Shutemov
2024-10-09 13:53             ` Borislav Petkov
2024-10-11  7:29               ` Kirill A. Shutemov
2024-11-18 21:45   ` Melody (Huibo) Wang
2024-11-21  5:05     ` Neeraj Upadhyay
2024-11-21  5:41       ` Borislav Petkov
2024-11-21  8:03         ` Neeraj Upadhyay
2024-11-21 10:53           ` Borislav Petkov
2024-11-25  7:21             ` Neeraj Upadhyay
2024-11-25 10:08               ` Borislav Petkov
2024-11-25 11:16                 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 02/14] x86/apic: Initialize Secure AVIC APIC backing page Neeraj Upadhyay
2024-10-09 15:27   ` Dave Hansen
2024-10-09 16:31     ` Neeraj Upadhyay
2024-10-09 17:03       ` Dave Hansen
2024-10-09 17:52         ` Neeraj Upadhyay
2024-10-23 16:30           ` Borislav Petkov
2024-10-24  4:01             ` Neeraj Upadhyay
2024-10-24 11:49               ` Borislav Petkov
2024-10-24 12:31                 ` Neeraj Upadhyay
2024-10-24 12:59                   ` Borislav Petkov
2024-10-23 16:36   ` Borislav Petkov
2024-10-24  3:24     ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 03/14] x86/apic: Populate .read()/.write() callbacks of Secure AVIC driver Neeraj Upadhyay
2024-11-06 18:16   ` Borislav Petkov
2024-11-07  3:32     ` Neeraj Upadhyay
2024-11-07 14:28       ` Borislav Petkov
2024-11-08  8:59         ` Neeraj Upadhyay
2024-11-08 10:48           ` Borislav Petkov
2024-11-08 16:14             ` Neeraj Upadhyay
2024-11-06 19:20   ` Melody (Huibo) Wang
2024-11-07  3:33     ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 04/14] x86/apic: Initialize APIC backing page for Secure AVIC Neeraj Upadhyay
2024-11-07 15:28   ` Borislav Petkov
2024-11-08 18:08     ` Neeraj Upadhyay
2024-11-09 16:27       ` Borislav Petkov
2024-11-09 16:51         ` Neeraj Upadhyay
2024-11-11 22:43   ` [sos-linux-ext-patches] " Melody (Huibo) Wang
2024-11-12  3:01     ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 05/14] x86/apic: Initialize APIC ID " Neeraj Upadhyay
2024-11-09 20:13   ` [sos-linux-ext-patches] " Melody (Huibo) Wang
2024-11-10  3:55     ` Neeraj Upadhyay
2024-11-10 12:12       ` Borislav Petkov
2024-11-10 15:22         ` Neeraj Upadhyay
2024-11-10 16:34           ` Borislav Petkov
2024-11-11  3:45             ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 06/14] x86/apic: Add update_vector callback " Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 07/14] x86/apic: Add support to send IPI " Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 08/14] x86/apic: Support LAPIC timer " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 09/14] x86/sev: Initialize VGIF for secondary VCPUs " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 10/14] x86/apic: Add support to send NMI IPI " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 11/14] x86/apic: Allow NMI to be injected from hypervisor " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 12/14] x86/sev: Enable NMI support " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 13/14] x86/apic: Enable Secure AVIC in Control MSR Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 14/14] x86/sev: Indicate SEV-SNP guest supports Secure AVIC Neeraj Upadhyay
2024-10-17  8:23 ` [RFC 00/14] AMD: Add Secure AVIC Guest Support Kirill A. Shutemov
2024-10-18  2:33   ` Neeraj Upadhyay
2024-10-18  7:54     ` Kirill A. Shutemov
2024-10-29  9:47       ` Borislav Petkov
2024-10-29 10:24         ` Neeraj Upadhyay
2024-10-29 10:54           ` Borislav Petkov
2024-10-29 11:51           ` Kirill A. Shutemov
2024-10-29 12:15             ` Neeraj Upadhyay
2024-10-29 14:36               ` Kirill A. Shutemov
2024-10-29 15:28                 ` Neeraj Upadhyay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a1b2eba5-243c-4c7c-9ebd-3fce6cd4c973@amd.com \
    --to=neeraj.upadhyay@amd.com \
    --cc=David.Kaplan@amd.com \
    --cc=Santosh.Shukla@amd.com \
    --cc=Suravee.Suthikulpanit@amd.com \
    --cc=Thomas.Lendacky@amd.com \
    --cc=Vasant.Hegde@amd.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nikunj@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.