On 16.05.2025 04:04, dm...@proton.me wrote: > --- a/xen/common/domain.c > +++ b/xen/common/domain.c > @@ -85,7 +85,7 @@ void __init domid_init(void) > * > * If hint is outside of valid [0..DOMID_FIRST_RESERVED - 1] range of IDs, > * perform an exhaustive search starting from the end of the used domain ID > - * range. > + * range, excluding get_initial_domain_id() ID. > */ > domid_t domid_alloc(domid_t domid) > { > @@ -103,6 +103,9 @@ domid_t domid_alloc(domid_t domid) > if ( domid == DOMID_FIRST_RESERVED ) > domid = 0; > > + if ( domid == get_initial_domain_id() ) > + continue; > + > if ( !rangeset_contains_singleton(domid_rangeset, domid) ) > break; > }
Isn't there a (perhaps even pre-existing) issue here with a DomU potentially getting ID 0 assigned when get_initial_domain_id() returns non-zero? Jan