[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Print ebx parameter VM syscalls
My mission is intercept VM syscall insmod (sys_init_module) from hypervisor. I've dirty xen code to try, specifically in do_guest_trap function in arch/x86/traps.c Xen file. In this function I've added this small part of code: unit32_t a; if (v->domain->domain_id != 0) { /* if domain is not Dom0 */ a=regs->eax; if (a == 128) { printk("I've intercepted sys_init_module"); } } In this way I'm able to intercept the syscall sys_init_module (number 128) from any DomU, but my problem now is to intercept the insmod parameter and print it with printk. I've tried to assign a char __user *myvar = (char __user *)regs->ebx but I can't print it with printk("%s",myvar) This is what happen: when I start my domU and happen an insmod in boot time, my dom0 reboots itself. Is it true that parameter of my syscall is in regs->ebx register?? What is the way to print it in human readable (for example if in DomU I print in shell "insmod mymodule" I'd like print "mymodule" from hypervisor, not the hex value like 0804b018, but the string). Can you help me? I'd like only print insmod parameter. I use 3.2.1 xen + linux-2.6.18-xen.hg. Thanks a lot. Elena _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |