|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] domctl: relax getdomaininfo permissions
>>> On 04.08.16 at 17:22, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 04/08/16 09:41, Jan Beulich wrote:
>> @@ -817,14 +816,22 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>>
>> case XEN_DOMCTL_getdomaininfo:
>> {
>> - domid_t dom = op->domain;
>> -
>> - rcu_read_lock(&domlist_read_lock);
>> + domid_t dom = DOMID_INVALID;
>>
>> - for_each_domain ( d )
>> - if ( d->domain_id >= dom )
>> + if ( !d )
>> + {
>> + ret = -EINVAL;
>> + if ( op->domain >= DOMID_FIRST_RESERVED )
>> break;
>>
>> + rcu_read_lock(&domlist_read_lock);
>> +
>> + dom = op->domain;
>> + for_each_domain ( d )
>> + if ( d->domain_id >= dom )
>> + break;
>> + }
>> +
>> ret = -ESRCH;
>> if ( d == NULL )
>> goto getdomaininfo_out;
>> @@ -839,6 +846,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
>> copyback = 1;
>>
>> getdomaininfo_out:
>> + if ( dom == DOMID_INVALID )
>> + break;
>
> What is this hunk for? If you fail the "op->domain >=
> DOMID_FIRST_RESERVED" check we break out of the entire
> XEN_DOMCTL_getdomaininfo case.
If we start out with a non-NULL d, we have to avoid the
rcu_read_unlock() as well as the setting of d to NULL at the
end.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |