From: David Hildenbrand Date: Mon, 16 Oct 2017 14:42:57 +0000 (+0200) Subject: kvm: fix alignment of ram address X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bbfd3017eb0ae59fe799e67046914dd1f94a9767;p=qemu.git kvm: fix alignment of ram address Fix the wrong calculation of the delta, used to align the ram address. This only strikes if alignment has to be done. Reported-by: Joe Clifford Fixes: 5ea69c2e3614 ("kvm: factor out alignment of memory section") Signed-off-by: David Hildenbrand Message-Id: <20171016144302.24284-3-david@redhat.com> Tested-by: Joe Clifford Signed-off-by: Paolo Bonzini --- diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 90c88b517d..fae1eca983 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -717,8 +717,9 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml, return; } + /* use aligned delta to align the ram address */ ram = memory_region_get_ram_ptr(mr) + section->offset_within_region + - (section->offset_within_address_space - start_addr); + (start_addr - section->offset_within_address_space); mem = kvm_lookup_matching_slot(kml, start_addr, size); if (!add) {