Dear Friends, 
  
   Thanks for your assistance!

We would like to ask you a question about the KVM internals. 

Our module includes a timer which (once in every second) fetches the IDT value 
of every online VCPU in the system using the kvm_x86_ops->get_idt ; the code 
looks like:

  struct kvm_vcpu *curr_vcpu;
  struct desc_ptr dt;
  
  list_for_each_entry(kvm, vms_list, vm_list) 
  {
    for (i = 0; i < kvm->online_vcpus.counter; i++) 
       {
       curr_vcpu = kvm->vcpus[i];
       kvm_x86_ops->get_idt(curr_vcpu, &dt); 
    }      
  }

We have noticed that get_idt returns DIFFERENT values for the same VCPU (i.e. 
for the same value of i that refers to a given VCPU). We cannot understand this 
issue; could you explain ?

It is very strange since nobody changes the IDT value (as , for example, 
rootkits do).

Regards,
    the Israeli KVM team
  



Reply via email to