Re: [PATCH] domain_validate: Account for NVDIMM label size properly when checking for memory conflicts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 20, 2024 at 10:14:10 +0100, Michal Privoznik wrote:
> As of v9.8.0-rc1~7 we check whether two <memory/> devices don't
> overlap (since we allow setting where a <memory/> device should
> be mapped to). We do this pretty straightforward, by comparing
> start and end address of each <memory/> device combination.
> But since only the start address is given (an exposed in the
> XML), the end address is computed trivially as:
> 
>   start + mem->size * 1024
> 
> And for majority of memory device types this works. Except for
> NVDIMMs. For them the <memory/> device consists of two separate
> regions: 1) actual memory device, and 2) label.
> 
> Label is where NVDIMM stores some additional information like
> namespaces partition and so on. But it's not mapped into the
> guest the same way as actual memory device. In fact, mem->size is
> a sum of both actual memory device and label sizes. And to make
> things a bit worse, both sizes are subject to alignment (either
> the alignsize value specified in XML, or system page size if not
> specified in XML).
> 
> Therefore, to get the size of actual memory device we need to
> take mem->size and substract label size rounded up to alignment.
> 
> If we don't do this we report there's an overlap between two
> NVDIMMs even when in reality there's none.
> 
> Resolves: https://issues.redhat.com/browse/RHEL-4452?focusedId=23805174#comment-23805174
> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
> ---

Please add a 'Fixes: ' with the commit that introduced the broken
check.

I'd also suggest you add negative test case which will specifically try
the scenario.

It should be fairly straightforward in this case to setup the nvdimm so
that it has a label and add another device right after it.
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux