[Lguest] Guest Addresses.

Sujit Sanjeev sujit771 at gmail.com
Wed May 21 18:08:15 EST 2008


Hi,

Thanks for the reply.

Is there a way to directly access guest user space addresses from the
hypervisor, without copying it contents
via the guest kernel? i.e. without taking the guest kernel's help.

Basically, given a virtual address from the objdump output of an ELF
executable, and if this executable
is executing in the guest user space, can the hypervisor access the contents
of this running process directly?

Thanks in advance,
Sujit

On Tue, May 20, 2008 at 11:03 PM, Rusty Russell <rusty at rustcorp.com.au>
wrote:

>  On Wednesday 21 May 2008 11:41:14 Sujit Sanjeev wrote:
> > Hi,
> >
> > I am trying to access guest memory areas (both kernel and user space)
> from
> > within lguest.
> >
> > I was able to read the guest kernel area by using the __pa() value of the
> > guest address as the source address in copy_from_user().
> >
> > I was wondering, if there is a similar method to read the contents from
> > guest userspace area too. Since, as I understand __pa()
> > works only on kernel virtual addresses. What would be an equivalent to
> read
> > contents from guest's user space?
> >
> > Basically, given a virtual address of a guest user space program, how do
> I
> > read the contents at that address from within
> > the hypervisor (lguest).
>
> Yes, you need to get_user_pages() the pages in the guest kernel, then hand
> those physical addresses to the hypervisor.  Otherwise the pages might not
> even be resident.
>
> Hope that helps,
> Rusty.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/lguest/attachments/20080521/96f7eb5e/attachment.htm>


More information about the Lguest mailing list