Re: [PATCH v9 03/24] virt: sev-guest: Make payload a variable length array

Borislav Petkov
2024-06-21T16:54:36Z

On Fri, May 31, 2024 at 10:00:17AM +0530, Nikunj A Dadhania wrote:
> Currently, guest message is PAGE_SIZE bytes and payload is hard-coded to
> 4000 bytes, assuming snp_guest_msg_hdr structure as 96 bytes.
>
> Remove the structure size assumption and hard-coding of payload size and
> instead use variable length array.

I don't understand here what hard-coding is being removed?

It is simply done differently:

from

> - snp_dev->request = alloc_shared_pages(dev, sizeof(struct snp_guest_msg));

to

> + snp_dev->request = alloc_shared_pages(dev, SNP_GUEST_MSG_SIZE);

Maybe I'm missing the point here but do you mean by removing the hard-coding
this:

+#define SNP_GUEST_MSG_SIZE 4096
+#define SNP_GUEST_MSG_PAYLOAD_SIZE (SNP_GUEST_MSG_SIZE - sizeof(struct snp_guest_msg))

where the msg payload size will get computed at build time and you won't have
to do that 4000 in the struct definition:

u8 payload[4000];

?

--
Regards/Gruss,
Boris.