On Thu, Nov 23, 2023 at 16:06:08 +0100, Michal Prívozník wrote: > On 11/16/23 14:05, Peter Krempa wrote: > > On Mon, Nov 06, 2023 at 12:38:27 +0100, Michal Privoznik wrote: [...] > >> @@ -2244,7 +2246,7 @@ virDomainMemoryDefCheckConflict(const virDomainMemoryDef *mem, > >> break; > >> } > >> > >> - if (thisStart == 0) { > >> + if (thisStart == 0 && !thisAddr) { > >> return 0; > >> } > > > > This seems a bit suspicious, because if the start address is 0, where > > qemu will auto-populate it, the code below will still try to validate > > it against existing devices. > > > > Very theoretically if you are adding a big enough device it can possibly > > clash with another one that is somewhere further in memory (start > > address already populated) despite the fact that qemu would put the new > > device into a reasonable location at the end of the address space. > > > > IMO if the start address is 0 we must not attempt to do anything about > > the address validation and the above condition will make that no longer > > the case. > > > > Fair enough. Consider this squashed in: > > diff --git i/src/conf/domain_validate.c w/src/conf/domain_validate.c > index f45ee0a8a5..c72108886e 100644 > --- i/src/conf/domain_validate.c > +++ w/src/conf/domain_validate.c > @@ -2304,7 +2304,7 @@ virDomainMemoryDefCheckConflict(const > virDomainMemoryDef *mem, > break; > } > > - if (otherStart == 0) > + if (thisStart == 0 || otherStart == 0) > continue; > > if (thisStart <= otherStart && thisEnd > otherStart) { > > Or do you want me to send v2? Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx> _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx