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

Re: [Xen-devel] pvops DomU kernels [was Re: "Hotplug Scripts not working ..." error on jaunty]



On 10/23/09 13:48, Keir Fraser wrote:
> On 23/10/2009 21:37, "Jeremy Fitzhardinge" <jeremy@xxxxxxxx> wrote:
>
>   
>> Its not at all clear to me what Xen is objecting to here.  There are a
>> few paths where it can end up at could_not_pin in get_page_from_l1e(),
>> but I don't know which one is happening here.  I think it's the "if (
>> unlikely(real_pg_owner != pg_owner) )" conditional, but I don't know
>> what real_pg_owner means here.
>>
>> Keir?
>>     
> If you fail that test it means that the page does not belong to the domain
> that the caller expected. In most cases, that means it was expected to
> belong to the domain making the hypercall, but actually it does not belong
> to it.

The domain is calling update_va_mapping() on itself, and everything
seems to be owned by the domain:

(XEN) mm.c:840:d33 Error getting mfn 18c3 (pfn 21603) from L1 entry 
80000000018c3061 for l1e_owner=33, pg_owner=33

The three paths that lead to could_not_pin are:

    if ( real_pg_owner == NULL )
        goto could_not_pin;
...
    if ( unlikely(real_pg_owner != pg_owner) )
    {
        if ( (pg_owner == l1e_owner) || !IS_PRIV_FOR(pg_owner, real_pg_owner) )
            goto could_not_pin;
        pg_owner = real_pg_owner;
    }

and

    if ( (l1f & _PAGE_RW) &&
         ((l1e_owner == pg_owner) || !paging_mode_external(pg_owner)) &&
         !get_page_type(page, PGT_writable_page) )
        goto could_not_pin;

The pte doesn't have RW set, so it must be one of the first two.
Could it be read_pg_owner == NULL?

        J


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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