Re: [PATCH v6 19/42] x86/mm: Add support to validate memory when changing C-bit
From: Borislav Petkov
Date: Wed Nov 10 2021 - 13:44:32 EST
On Wed, Nov 10, 2021 at 08:21:21AM -0600, Brijesh Singh wrote:
> I am assuming you mean add some compile time check to ensure that desc will
> fit in the shared buffer ?
No:
struct ghcb {
...
u8 shared_buffer[2032];
so that memcpy needs to do:
memcpy(ghcb->shared_buffer, desc, min_t(int, 2032, sizeof(*desc)));
with that 2032 behind a proper define, ofc.
> I can drop the overlap comment to avoid the confusion, as you pointed it
> more of the future thing. Basically overlap is the below condition
>
> set_memory_private(gfn=0, page_size=2m)
> set_memory_private(gfn=10, page_size=4k)
>
> The RMPUPDATE instruction will detect overlap on the second call and return
> an error to the guest. After we add the support to track the page validation
> state (either in bitmap or page flag), the second call will not be issued
> and thus avoid an overlap errors. For now, we use the page_size=4k for all
> the page state changes from the kernel.
Yah, sounds like the comment is not needed now. You could put this in
the commit message, though.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette