mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-20 06:50:22 +03:00
virDomainMemoryDefValidate: Fix VIRTIO_MEM alignment check
Inside of virDomainMemoryDefValidate() there's a check that address where a virtio-mem memory device is mapped to is a multiple of its block size. But this check is off by a couple of bits, because the memory address is in bytes while the block size is in kibibytes. Therefore, when checking whether address is a multiple of the block size, the latter has to be multiplied by a factor of 1024. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
d54b70a7e4
commit
a1d6e18f00
@ -2341,7 +2341,8 @@ virDomainMemoryDefValidate(const virDomainMemoryDef *mem,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (mem->target.virtio_mem.address % mem->target.virtio_mem.blocksize != 0) {
|
||||
/* blocksize is stored in KiB while address is in bytes */
|
||||
if (mem->target.virtio_mem.address % (mem->target.virtio_mem.blocksize * 1024) != 0) {
|
||||
virReportError(VIR_ERR_XML_DETAIL, "%s",
|
||||
_("memory device address must be aligned to blocksize"));
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user