]> git.dujemihanovic.xyz Git - linux.git/commit
virt: sev-guest: Ensure the SNP guest messages do not exceed a page
authorNikunj A Dadhania <nikunj@amd.com>
Wed, 31 Jul 2024 15:07:55 +0000 (20:37 +0530)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 27 Aug 2024 08:35:38 +0000 (10:35 +0200)
commit2b9ac0b84c2cae91bbaceab62df4de6d503421ec
tree0716e35d00856c21928c910d5280cb9016eb3448
parent5f7c38f81df206b370d97a827251bd4bc50ff46b
virt: sev-guest: Ensure the SNP guest messages do not exceed a page

Currently, struct snp_guest_msg includes a message header (96 bytes) and
a payload (4000 bytes). There is an implicit assumption here that the
SNP message header will always be 96 bytes, and with that assumption the
payload array size has been set to 4000 bytes - a magic number. If any
new member is added to the SNP message header, the SNP guest message
will span more than a page.

Instead of using a magic number for the payload, declare struct
snp_guest_msg in a way that payload plus the message header do not
exceed a page.

  [ bp: Massage. ]

Suggested-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Nikunj A Dadhania <nikunj@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240731150811.156771-5-nikunj@amd.com
arch/x86/include/asm/sev.h
drivers/virt/coco/sev-guest/sev-guest.c