Even more so when using rcu_lock_domain_by_id() in place of the more
efficient rcu_lock_current_domain().
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
domid_t rdom = bind->remote_dom;
long rc;
- if ( rdom == DOMID_SELF )
- rdom = current->domain->domain_id;
-
- if ( (rd = rcu_lock_domain_by_id(rdom)) == NULL )
+ if ( (rd = rcu_lock_domain_by_any_id(rdom)) == NULL )
return -ESRCH;
/* Avoid deadlock by first acquiring lock of domain with smaller id. */
{
struct domain *pg_owner = NULL, *curr = current->domain;
- if ( likely(domid == DOMID_SELF) )
- {
- pg_owner = rcu_lock_current_domain();
- goto out;
- }
-
if ( unlikely(domid == curr->domain_id) )
{
gdprintk(XENLOG_WARNING, "Cannot specify itself as foreign domain\n");
break;
default:
- if ( (pg_owner = rcu_lock_domain_by_id(domid)) == NULL )
+ if ( (pg_owner = rcu_lock_domain_by_any_id(domid)) == NULL )
gdprintk(XENLOG_WARNING, "Unknown domain d%d\n", domid);
break;
}