[Bug 65561] KVM:Entry failed on Single stepping sti instruction

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=65561

--- Comment #25 from Jidong Xiao <jidong.xiao@xxxxxxxxx> ---
(In reply to Jatin Kumar from comment #24)
> > linux:~/code/cvedr # ./accessmsr
> > Segmentation fault
> You got a seg fault because it is privileged instruction and I run it in
> kernel mode not user mode. But you are likely to be running your program in
> user mode. Try something like out instruction.
>  
> > Even though my c program in the guest os got a segmentation fault, from the
> > host os level, I don't see the printk statement is triggered, so this is not
> > about privileged instructions or unprivileged instructions. I think there
> > must be some other conditions to trigger these printk statements.
> After getting the VM_EXIT it must be first checking if it requires to
> emulate or should generate a fault. In this case it would have generated the
> fault without emulating it.
> 
> Again, you can try it with 'out' instruction.

Alright, Jatin, I wrote a kernel module, like this:

linux:~/code/module # cat testout.c
#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void)
{
        printk(KERN_ALERT "Hello world 1.\n");
        asm __volatile__("outb %al, %dx \n");

   return 0;
}


void cleanup_module(void)
{
  printk(KERN_ALERT "Goodbye world 1.\n");
}

I compiled this module and installed with `insmod testout.ko`, and nothing
happens. Noted that the emulator code includes the following lines:

        case 0xee: /* out al,dx */
        case 0xef: /* out (e/r)ax,dx */
                printk(KERN_ERR "DEBUG: Passed %s %d
\n",__FUNCTION__,__LINE__);
                port = c->regs[VCPU_REGS_RDX];
                io_dir_in = 0;

I added that printk statement, and still, when I was loading the kernel module
in the guest OS, this printk statement was not invoked.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux