]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: x86: block KVM_CAP_SYNC_REGS if guest state is protected
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 6 Mar 2025 20:29:22 +0000 (21:29 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 14 Mar 2025 18:20:03 +0000 (14:20 -0400)
commit74c1807f6c4feddb3c3cb1056c54531d4adbaea6
treee39bef76c21a6af069d528e18e1a4dc568886712
parentadafea1106004dba26ea12d3193f4f132b1f0065
KVM: x86: block KVM_CAP_SYNC_REGS if guest state is protected

KVM_CAP_SYNC_REGS does not make sense for VMs with protected guest state,
since the register values cannot actually be written.  Return 0
when using the VM-level KVM_CHECK_EXTENSION ioctl, and accordingly
return -EINVAL from KVM_RUN if the valid/dirty fields are nonzero.

However, on exit from KVM_RUN userspace could have placed a nonzero
value into kvm_run->kvm_valid_regs, so check guest_state_protected
again and skip store_regs() in that case.

Cc: stable@vger.kernel.org
Fixes: 517987e3fb19 ("KVM: x86: add fields to struct kvm_arch for CoCo features")
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20250306202923.646075-1-pbonzini@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c