public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Melody (Huibo) Wang" <huibo.wang@amd.com>
To: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>,
	<linux-kernel@vger.kernel.org>
Cc: <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>,
	<bp@alien8.de>, <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: [sos-linux-ext-patches] [RFC 04/14] x86/apic: Initialize APIC backing page for Secure AVIC
Date: Mon, 11 Nov 2024 14:43:42 -0800	[thread overview]
Message-ID: <e14060e6-ecd7-4933-b53e-e810d747c335@amd.com> (raw)
In-Reply-To: <20240913113705.419146-5-Neeraj.Upadhyay@amd.com>

Hi Neeraj,

On 9/13/2024 4:36 AM, Neeraj Upadhyay wrote:

> +static void init_backing_page(void *backing_page)
> +{
> +	u32 val;
> +	int i;
> +
> +	val = read_msr_from_hv(APIC_LVR);
> +	set_reg(backing_page, APIC_LVR, val);
> +

When you read the register from hypervisor, there is certain value defined in APM Table 16-2. APIC Registers, says APIC_LVR has value 80??0010h out of reset.

More specifically, Bit 31 is set which means the presence of extended APIC registers, and Bit 4 is set which is part of version number: "The local APIC implementation is identified with a value=1Xh (20h-FFh are
reserved)".

I think you should verify those values instead of just reading from the hypervisor. Also, I think you probably should verify all of registers you read from the hypervisor before you use them in the guest. In other words, sanitize the inputs from the hypervisor. 

Thanks,
Melody

  parent reply	other threads:[~2024-11-11 22:43 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
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   ` Melody (Huibo) Wang [this message]
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=e14060e6-ecd7-4933-b53e-e810d747c335@amd.com \
    --to=huibo.wang@amd.com \
    --cc=David.Kaplan@amd.com \
    --cc=Neeraj.Upadhyay@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox