kvm: validate context for kvm cpu get/put operations

Validate that KVM vcpu state is only read/written from cpu thread itself
or that cpu is stopped.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Jan Kiszka 2010-05-04 09:45:26 -03:00 committed by Marcelo Tosatti
parent ced6c05143
commit dbaa07c404

View File

@ -949,6 +949,8 @@ int kvm_arch_put_registers(CPUState *env, int level)
{ {
int ret; int ret;
assert(cpu_is_stopped(env) || qemu_cpu_self(env));
ret = kvm_getput_regs(env, 1); ret = kvm_getput_regs(env, 1);
if (ret < 0) if (ret < 0)
return ret; return ret;
@ -991,6 +993,8 @@ int kvm_arch_get_registers(CPUState *env)
{ {
int ret; int ret;
assert(cpu_is_stopped(env) || qemu_cpu_self(env));
ret = kvm_getput_regs(env, 0); ret = kvm_getput_regs(env, 0);
if (ret < 0) if (ret < 0)
return ret; return ret;