kvm: remove guest triggerable abort()

This abort() condition is easily triggerable by a guest if it configures
pci bar with unaligned address that overlaps main memory.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Gleb Natapov 2010-07-28 18:13:23 +03:00 committed by Marcelo Tosatti
parent 70fedd76d9
commit 14542fea73
1 changed files with 4 additions and 12 deletions

View File

@ -432,18 +432,10 @@ static void kvm_set_phys_mem(target_phys_addr_t start_addr,
KVMSlot *mem, old;
int err;
if (start_addr & ~TARGET_PAGE_MASK) {
if (flags >= IO_MEM_UNASSIGNED) {
if (!kvm_lookup_overlapping_slot(s, start_addr,
start_addr + size)) {
return;
}
fprintf(stderr, "Unaligned split of a KVM memory slot\n");
} else {
fprintf(stderr, "Only page-aligned memory slots supported\n");
}
abort();
}
/* kvm works in page size chunks, but the function may be called
with sub-page size and unaligned start address. */
size = TARGET_PAGE_ALIGN(size);
start_addr = TARGET_PAGE_ALIGN(start_addr);
/* KVM does not support read-only slots */
phys_offset &= ~IO_MEM_ROM;