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

Re: [Xen-devel] [PATCH 8/9] vm_event: Add vm_event_ng interface



>>> On 06.06.19 at 15:48, <ppircalabu@xxxxxxxxxxxxxxx> wrote:
> On Thu, 2019-06-06 at 02:37 -0600, Jan Beulich wrote:
>> In which case maybe use vmalloc() and then assign_pages()?
>> Jan
> Unfortunately I wasn't able to make it work:
> I replaced the buffer allocation with this code:
> ....
>     impl->slots = vzalloc(impl->nr_frames * PAGE_SIZE);
>     if ( !impl->slots )
>         return -ENOMEM;
> 
>     for ( i = 0; i < impl->nr_frames; i++ )
>     {
>         impl->mfn[i] = vmap_to_mfn(impl->slots + i * PAGE_SIZE);
>         if ( assign_pages(current->domain, mfn_to_page(impl->mfn[i]),
> 0, 0/*MEMF_no_refcount*/ ) )

Who is current->domain at this point?

>         {
>             printk("%s: assign_pages returned error\n", __func__);
>         }
>     }
> ...
> And the error is similar with the one without assign_pages:
> ....
> (XEN) mm.c:1015:d0v4 pg_owner d1 l1e_owner d0, but real_pg_owner d0
> (XEN) mm.c:1091:d0v4 Error getting mfn 60deaf (pfn ffffffffffffffff)
> from L1 entry 800000060deaf227 for l1e_owner d0, pg_owner d1

This looks to be an attempt by Dom0 to map a page into its own
page tables which it believes to be owned by Dom1. This would
imply that current->domain above is also Dom1. I would instead
have expected this to be a Dom0-owned page, in which case you
shouldn't specify Dom1 to be the supposed owner of it in the
mapping request.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.