Skip to contentSkip to conversation

FAILED: patch "[PATCH] KVM: selftests: Remove duplicate LAUNCH_UPDATE_VMSA call in" failed to apply to 6.12-stable tree

PATCH [email protected] 2 participants 3 messages Apr 20 – Jul 22

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 25a642b6abc98bbbabbf2baef9fc498bbea6aee6
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026042008-thesis-flatworm-d8ed@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 25a642b6abc98bbbabbf2baef9fc498bbea6aee6 Mon Sep 17 00:00:00 2001
From: Sean Christopherson <[email protected]>
Date: Tue, 10 Mar 2026 16:48:09 -0700
Subject: [PATCH] KVM: selftests: Remove duplicate LAUNCH_UPDATE_VMSA call in
SEV-ES migrate test

Drop the explicit KVM_SEV_LAUNCH_UPDATE_VMSA call when creating an SEV-ES VM in the SEV migration test, as sev_vm_create() automatically updates the VMSA pages for SEV-ES guests. The only reason the duplicate call doesn't cause visible problems is because the test doesn't actually try to run the vCPUs. That will change when KVM adds a check to prevent userspace from re-launching a VMSA (which corrupts the VMSA page due to KVM writing encrypted private memory).

Fixes 69f8e15ab61f ("KVM: selftests: Use the SEV library APIs in the intra-host migration test")
tools/testing/selftests/kvm/x86/sev_migrate_tests.c +0 -2
index 0a6dfba3905b..6b0928e69051 100644
@@ -36,8 +36,6 @@ static struct kvm_vm *sev_vm_create(bool es)
 
 	sev_vm_launch(vm, es ? SEV_POLICY_ES : 0);
 
-	if (es)
-		vm_sev_ioctl(vm, KVM_SEV_LAUNCH_UPDATE_VMSA, NULL);
 	return vm;
 }
 
#1 lore raw
Quoted 49 lines · On Mon, Apr 20, 2026, [email protected] wrote:

The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 25a642b6abc98bbbabbf2baef9fc498bbea6aee6
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026042008-thesis-flatworm-d8ed@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 25a642b6abc98bbbabbf2baef9fc498bbea6aee6 Mon Sep 17 00:00:00 2001

From: Sean Christopherson <[email protected]>
Date: Tue, 10 Mar 2026 16:48:09 -0700
Subject: [PATCH] KVM: selftests: Remove duplicate LAUNCH_UPDATE_VMSA call in
SEV-ES migrate test

Drop the explicit KVM_SEV_LAUNCH_UPDATE_VMSA call when creating an SEV-ES VM in the SEV migration test, as sev_vm_create() automatically updates the VMSA pages for SEV-ES guests. The only reason the duplicate call doesn't cause visible problems is because the test doesn't actually try to run the vCPUs. That will change when KVM adds a check to prevent userspace from re-launching a VMSA (which corrupts the VMSA page due to KVM writing encrypted private memory).

Fixes 69f8e15ab61f ("KVM: selftests: Use the SEV library APIs in the intra-host migration test")
tools/testing/selftests/kvm/x86/sev_migrate_tests.c +0 -0
index 0a6dfba3905b..6b0928e69051 100644

tools/testing/selftests/kvm/x86/sev_migrate_tests.c static struct kvm_vm *sev_vm_create(bool es) · line 40

Quoted 7 lines
tools/testing/selftests/kvm/x86/sev_migrate_tests.c +0 -2
@@ -36,8 +36,6 @@ static struct kvm_vm *sev_vm_create(bool es)
 
 	sev_vm_launch(vm, es ? SEV_POLICY_ES : 0);
 
-	if (es)
-		vm_sev_ioctl(vm, KVM_SEV_LAUNCH_UPDATE_VMSA, NULL);
 	return vm;
 }

Can you retry applying this to 6.12.y? This now cherry-picks cleanly to 6.12.y (and FWIW, the very original patch applies cleanly too).

Oooh, I suspect the issue is that the path in 6.12 is x86_64 instead of x86, i.e.

tools/testing/selftests/kvm/x86_64/sev_migrate_tests.c

instead of

tools/testing/selftests/kvm/x86/sev_migrate_tests.c

and git on my end is configured to automagically handle renames? Holler if an explicit patch with the x86_64 is preferred and/or easier to consume.

author maintainer
#2 lore raw
Quoted 63 lines · Sean Christopherson
Quoted 49 lines · On Mon, Apr 20, 2026, [email protected] wrote:

The patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 25a642b6abc98bbbabbf2baef9fc498bbea6aee6
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026042008-thesis-flatworm-d8ed@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 25a642b6abc98bbbabbf2baef9fc498bbea6aee6 Mon Sep 17 00:00:00 2001

From: Sean Christopherson <[email protected]>
Date: Tue, 10 Mar 2026 16:48:09 -0700
Subject: [PATCH] KVM: selftests: Remove duplicate LAUNCH_UPDATE_VMSA call in
SEV-ES migrate test

Drop the explicit KVM_SEV_LAUNCH_UPDATE_VMSA call when creating an SEV-ES VM in the SEV migration test, as sev_vm_create() automatically updates the VMSA pages for SEV-ES guests. The only reason the duplicate call doesn't cause visible problems is because the test doesn't actually try to run the vCPUs. That will change when KVM adds a check to prevent userspace from re-launching a VMSA (which corrupts the VMSA page due to KVM writing encrypted private memory).

Fixes 69f8e15ab61f ("KVM: selftests: Use the SEV library APIs in the intra-host migration test")
tools/testing/selftests/kvm/x86/sev_migrate_tests.c +0 -0
index 0a6dfba3905b..6b0928e69051 100644

tools/testing/selftests/kvm/x86/sev_migrate_tests.c static struct kvm_vm *sev_vm_create(bool es) · line 40

Quoted 7 lines
tools/testing/selftests/kvm/x86/sev_migrate_tests.c +0 -2
@@ -36,8 +36,6 @@ static struct kvm_vm *sev_vm_create(bool es)
 
 	sev_vm_launch(vm, es ? SEV_POLICY_ES : 0);
 
-	if (es)
-		vm_sev_ioctl(vm, KVM_SEV_LAUNCH_UPDATE_VMSA, NULL);
 	return vm;
 }

Can you retry applying this to 6.12.y? This now cherry-picks cleanly to 6.12.y (and FWIW, the very original patch applies cleanly too).

Oooh, I suspect the issue is that the path in 6.12 is x86_64 instead of x86, i.e.

Quoted 8 lines

tools/testing/selftests/kvm/x86_64/sev_migrate_tests.c

instead of

tools/testing/selftests/kvm/x86/sev_migrate_tests.c

and git on my end is configured to automagically handle renames? Holler if an explicit patch with the x86_64 is preferred and/or easier to consume.

An explicit patch is preferred, thanks.

greg k-h