 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 2] Use memops for mem paging, sharing, and access, instead of domctls
 On Wed, 2012-02-01 at 20:09 +0000, Andres Lagar-Cavilla wrote:
> 
> 
> +int xc_mem_event_memop(xc_interface *xch, domid_t domain_id,
> +                        unsigned int op, unsigned int mode,
> +                        uint64_t gfn, void *buffer)
> +{
> +    xen_mem_event_op_t meo;
> +
> +    memset(&meo, 0, sizeof(meo));
> +
> +    meo.op      = op;
> +    meo.domain  = domain_id;
> +    meo.gfn     = gfn;
> +    meo.buffer  = (unsigned long) buffer;
Hypercall arguments need to use the xc_hypercall_buffer stuff in order
to ensure that the memory is safe to access from a hypercall (in
particular that it is mlocked or similar)-- I don't see where that
happens for this buffer.
meo itself is bounced by do_memory_op so that is OK.
I was also a little suspicious of ring_addr and shared_addr in
xc_mem_event_control in this regard.
Or does the mem sharing code make it's own arrangements for these sorts
of things somewhere?
Ian.
> +
> +    return do_memory_op(xch, mode, &meo, sizeof(meo));
> +} 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |