mirror of
https://github.com/qemu/qemu.git
synced 2025-08-16 06:43:21 +00:00
migration: check length directly to make sure the range is aligned
Since the start addr is already checked, to make sure the range is aligned, checking the length is enough. Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190712032704.7826-1-richardw.yang@linux.intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5d24821318
commit
72821d93e0
7
exec.c
7
exec.c
@ -3901,10 +3901,9 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
|
|||||||
|
|
||||||
if ((start + length) <= rb->used_length) {
|
if ((start + length) <= rb->used_length) {
|
||||||
bool need_madvise, need_fallocate;
|
bool need_madvise, need_fallocate;
|
||||||
uint8_t *host_endaddr = host_startaddr + length;
|
if (length & (rb->page_size - 1)) {
|
||||||
if ((uintptr_t)host_endaddr & (rb->page_size - 1)) {
|
error_report("ram_block_discard_range: Unaligned length: %zx",
|
||||||
error_report("ram_block_discard_range: Unaligned end address: %p",
|
length);
|
||||||
host_endaddr);
|
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user