From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [patch, try#2] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu() Date: Thu, 28 Dec 2006 15:30:42 +0200 Message-ID: <4593C702.4000604@qumranet.com> References: <45939755.7010603@qumranet.com> <20061228124224.GA28573@elte.hu> <4593BEE6.30206@qumranet.com> <20061228125544.GA31207@elte.hu> <20061228130833.GA555@elte.hu> <4593C345.9040306@qumranet.com> <20061228132325.GA2176@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm-devel , linux-kernel , Andrew Morton , Linus Torvalds Return-path: To: Ingo Molnar In-Reply-To: <20061228132325.GA2176@elte.hu> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Ingo Molnar wrote: > I've got a security related question as well: vcpu_load() sets up a > physical CPU's VM registers/state, and vcpu_put() drops that. But > vcpu_put() only does a put_cpu() call - it does not tear down any VM > state that has been loaded into the CPU. Is it guaranteed that (hostile) > user-space cannot use that VM state in any unauthorized way? The state > is still loaded while arbitrary tasks execute on the CPU. The next > vcpu_load() will then override it, but the state lingers around forever. > > The new x86 VM instructions: vmclear, vmlaunch, vmresume, vmptrld, > vmread, vmwrite, vmxoff, vmxon are all privileged so i guess it should > be mostly safe - i'm just wondering whether you thought about this > attack angle. > Yes. Userspace cannot snoop on a VM state. > ultimately we want to integrate VM state management into the scheduler > and the context-switch lowlevel arch code, but right now CPU state > management is done by the KVM 'driver' and there's nothing that isolates > other tasks from possible side-effects of a loaded VMX/SVN state. > AFAICS in vmx root mode the vm state only affects vmx instructions; SVM has no architecturally hidden state. -- error compiling committee.c: too many arguments to function