From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch uq/master 8/9] kvm: validate context for kvm cpu get/put operations Date: Tue, 04 May 2010 09:45:26 -0300 Message-ID: <20100504124634.572348443@redhat.com> References: <20100504124518.979470863@redhat.com> Cc: Marcelo Tosatti To: kvm@vger.kernel.org, qemu-devel@nongnu.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:63241 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932217Ab0EDNtw (ORCPT ); Tue, 4 May 2010 09:49:52 -0400 Content-Disposition: inline; filename=assert-get-regs Sender: kvm-owner@vger.kernel.org List-ID: From: Jan Kiszka Validate that KVM vcpu state is only read/written from cpu thread itself or that cpu is stopped. Signed-off-by: Marcelo Tosatti Index: qemu/target-i386/kvm.c =================================================================== --- qemu.orig/target-i386/kvm.c +++ qemu/target-i386/kvm.c @@ -949,6 +949,8 @@ int kvm_arch_put_registers(CPUState *env { int ret; + assert(cpu_is_stopped(env) || qemu_cpu_self(env)); + ret = kvm_getput_regs(env, 1); if (ret < 0) return ret; @@ -991,6 +993,8 @@ int kvm_arch_get_registers(CPUState *env { int ret; + assert(cpu_is_stopped(env) || qemu_cpu_self(env)); + ret = kvm_getput_regs(env, 0); if (ret < 0) return ret;