qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] kill /destroy a VM - still hangs!


From: Alexander Binun
Subject: Re: [Qemu-devel] kill /destroy a VM - still hangs!
Date: Thu, 6 Mar 2014 17:54:15 +0200 (IST)

Hello Friends, 
   Thanks to your help I have found the task structure of the target process 
(denote it as TASK) and its group leader (TASK->tgid)

Now I did the following:

struct siginfo info;
..

info.si_signo = SIGTERM;
info.si_code = SI_QUEUE;
info.si_errno = 0; /* no recovery */
        
status = send_sig_info(SIGTERM, &info, task);

The result: both the host and the guest hang!

Can I use the kill function directly : kill (TASK->tgid, SIGTERM) ? This 
function is a user-space one...

Best Regards,
   the team




On Thu 06 Mar 13:28 2014 Paolo Bonzini wrote:
> Il 06/03/2014 11:31, Alexander Binun ha scritto:
> > Then - more questions :
> >    1. How can I access the Qemu process (relevant to a given VM) from 
> > within in the kernel context (being in a kernel module) ?
> 
> The struct pid for the VCPU is in the "pid" field of struct kvm_vcpu.
> 
>  From there if needed you can get the task (with pid_task) and the 
> task's thread group leader (the task's group_leader), and send a signal 
> to it.
> 
> >    2. Should I uninitialize some internal structures for the VM being 
> > killed ?
> 
> No, it will happen automatically.  When QEMU is terminated, the VM's 
> file descriptor is closed and this frees all internal structures.
> 
> >    3. My module detects malicious activities at a VCPU. How can one get the 
> > VM owning this VCPU ?
> 
> Field "kvm" in struct kvm_vcpu points to the struct kvm for the VM.
> 
> Paolo
> 







reply via email to

[Prev in Thread] Current Thread [Next in Thread]