Messages in this thread | | | From | Nikita Leshenko <> | Subject | Re: [RFC][PATCH 1/5] [PATCH 1/5] kvm: register in task_struct | Date | Mon, 3 Sep 2018 16:10:22 +0200 |
| |
On September 2, 2018 5:21:15 AM, fengguang.wu@intel.com wrote: > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 8b47507faab5..0c483720de8d 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -3892,6 +3892,7 @@ static void kvm_uevent_notify_change(unsigned int type, struct kvm *kvm) > if (type == KVM_EVENT_CREATE_VM) { > add_uevent_var(env, "EVENT=create"); > kvm->userspace_pid = task_pid_nr(current); > + current->kvm = kvm;
Is it OK to store `kvm` on the task_struct? What if the thread that originally created the VM exits? From the documentation it seems like a VM is associated with an address space and not a specific thread, so maybe it should be stored on mm_struct?
From Documentation/virtual/kvm/api.txt: Only run VM ioctls from the same process (address space) that was used to create the VM.
-Nikita > } else if (type == KVM_EVENT_DESTROY_VM) { > add_uevent_var(env, "EVENT=destroy"); > } > -- > 2.15.0 > > >
| |