Commit 51a4273d authored by Nikunj A Dadhania's avatar Nikunj A Dadhania Committed by Sean Christopherson
Browse files

KVM: SVM: Add missing member in SNP_LAUNCH_START command structure



The sev_data_snp_launch_start structure should include a 4-byte
desired_tsc_khz field before the gosvw field, which was missed in the
initial implementation. As a result, the structure is 4 bytes shorter than
expected by the firmware, causing the gosvw field to start 4 bytes early.
Fix this by adding the missing 4-byte member for the desired TSC frequency.

Fixes: 3a45dc2b ("crypto: ccp: Define the SEV-SNP commands")
Cc: stable@vger.kernel.org
Suggested-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
Tested-by: default avatarVaishali Thakkar <vaishali.thakkar@suse.com>
Signed-off-by: default avatarNikunj A Dadhania <nikunj@amd.com>
Link: https://lore.kernel.org/r/20250408093213.57962-3-nikunj@amd.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent 0c84b534
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -594,6 +594,7 @@ struct sev_data_snp_addr {
 * @imi_en: launch flow is launching an IMI (Incoming Migration Image) for the
 *          purpose of guest-assisted migration.
 * @rsvd: reserved
 * @desired_tsc_khz: hypervisor desired mean TSC freq in kHz of the guest
 * @gosvw: guest OS-visible workarounds, as defined by hypervisor
 */
struct sev_data_snp_launch_start {
@@ -603,6 +604,7 @@ struct sev_data_snp_launch_start {
	u32 ma_en:1;				/* In */
	u32 imi_en:1;				/* In */
	u32 rsvd:30;
	u32 desired_tsc_khz;			/* In */
	u8 gosvw[16];				/* In */
} __packed;