From: Tom Lendacky <thomas.lendacky@amd.com>
To: "Jörg Rödel" <jroedel@suse.de>, "Jon Lange" <jlange@microsoft.com>
Cc: "linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
"amd-sev-snp@lists.suse.com" <amd-sev-snp@lists.suse.com>
Subject: Re: [EXTERNAL] Re: SVSM Attestation and vTPM specification additions - v0.61
Date: Wed, 1 Mar 2023 08:00:20 -0600 [thread overview]
Message-ID: <83f6f3e1-b026-8700-e838-2dc01cb219d8@amd.com> (raw)
In-Reply-To: <Y/8TMl9M3WmDRBoG@suse.de>
On 3/1/23 02:56, Jörg Rödel wrote:
> Hi Jon,
>
> On Mon, Feb 27, 2023 at 05:03:07PM +0000, Jon Lange wrote:
>> It's true that the SVSM will not know if it is under attack in these
>> circumstances. However, delivery of the #NPF prevents the SVSM from
>> making any forward progress, which is equivalent to a denial of
>> service.
>
> Right, I sometimes forget there there is no guarantee for forward
> progress, just for confidentiality in SEV-SNP VMs (and CoCo VMs in
> general).
>
> The interesting question here is how RMPADJUST behaves when it tries to
> revoke the VMSA flag of a VMSA page that is currently executing.
> Documentation does not state an IN_USE error code return, so I guess it
> will also cause an #NPF.
We should not be in the situation where that occurs, since the RMPADJUST
won't be performed until the SVME flag is cleared. Once the SVSM flag is
cleared, the VMSA can't execute so the RMPADJUST should just work.
But, yes, it would be interesting to see what happens. I might try to test
that just to see the result.
Thanks,
Tom
>
>> Is there a reason a failure code is useful instead of just blocking
>> (or spinning) in the SVSM until execution can complete successfully?
>> This situation can only arise in the face of a malicious VMM, and such
>> blocking is no different than the (malicious) VMM choosing not to
>> schedule the VM at all. Is there something uniquely useful the higher
>> VMPL would achieve from observing a failure code instead of just
>> waiting for completion?
>
> It would allow the VM to make forward progress, but in a situation where
> it is under attack this is probably a bad idea anyway.
> After some more thinking I came to the conclusion that the VM must make
> sure that to-be-retired VMSAs point to a code-path where it can not
> escape anymore, like an AP-HLT loop with a zeroed IDT. This is important
> to consider also for higher-level VMPLs.
>
> Regards,
>
next prev parent reply other threads:[~2023-03-01 14:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-08 21:55 SVSM Attestation and vTPM specification additions - v0.61 Tom Lendacky
2023-02-08 23:19 ` Dionna Amalie Glaze
2023-02-08 23:44 ` Tom Lendacky
2023-02-15 9:49 ` Jörg Rödel
2023-02-21 22:07 ` Tom Lendacky
2023-02-24 14:15 ` Jörg Rödel
2023-02-24 19:02 ` [EXTERNAL] " Jon Lange
2023-02-25 6:33 ` Jörg Rödel
2023-02-27 17:03 ` Jon Lange
2023-03-01 8:56 ` Jörg Rödel
2023-03-01 14:00 ` Tom Lendacky [this message]
2023-03-01 15:00 ` Tom Lendacky
2023-02-15 14:57 ` Tom Lendacky
2023-03-06 10:33 ` Dov Murik
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=83f6f3e1-b026-8700-e838-2dc01cb219d8@amd.com \
--to=thomas.lendacky@amd.com \
--cc=amd-sev-snp@lists.suse.com \
--cc=jlange@microsoft.com \
--cc=jroedel@suse.de \
--cc=linux-coco@lists.linux.dev \
/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;
as well as URLs for NNTP newsgroup(s).