|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 6/6] common/gnttab: simplify gnttab_copy_lock_domain()
>>> On 15.08.17 at 14:30, <andrew.cooper3@xxxxxxxxxx> wrote:
> Remove the opencoded rcu_lock_domain_by_any_id(). Drop the PIN_FAIL()s and
> return GNTST_* values directly.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
with one optional extra request:
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -2390,28 +2390,21 @@ struct gnttab_copy_buf {
> bool_t have_type;
> };
>
> -static int gnttab_copy_lock_domain(domid_t domid, unsigned int gref_flag,
> +static int gnttab_copy_lock_domain(domid_t domid, bool is_gref,
> struct gnttab_copy_buf *buf)
> {
> - int rc;
> + /* Only DOMID_SELF may reference via frame. */
> + if ( domid != DOMID_SELF && !is_gref )
> + return GNTST_permission_denied;
>
> - if ( domid != DOMID_SELF && !gref_flag )
> - PIN_FAIL(out, GNTST_permission_denied,
> - "only allow copy-by-mfn for DOMID_SELF.\n");
> + buf->domain = rcu_lock_domain_by_any_id(domid);
>
> - if ( domid == DOMID_SELF )
> - buf->domain = rcu_lock_current_domain();
> - else
> - {
> - buf->domain = rcu_lock_domain_by_id(domid);
> - if ( buf->domain == NULL )
> - PIN_FAIL(out, GNTST_bad_domain, "couldn't find %d\n", domid);
> - }
> + if ( buf->domain == NULL )
Use ! here?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |