diff options
author | Wei Yang <richardw.yang@linux.intel.com> | 2019-07-12 11:27:04 +0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-12-18 02:34:10 +0100 |
commit | 72821d93e0cc8c017bf387d2f8826a827cd6dc15 (patch) | |
tree | 14eeed36d1583a6fdf71683cbe91da9f8035ce3e /exec.c | |
parent | 5d248213180749e674fbccbacc6ee9c38499abb3 (diff) |
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>
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -3901,10 +3901,9 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length) if ((start + length) <= rb->used_length) { bool need_madvise, need_fallocate; - uint8_t *host_endaddr = host_startaddr + length; - if ((uintptr_t)host_endaddr & (rb->page_size - 1)) { - error_report("ram_block_discard_range: Unaligned end address: %p", - host_endaddr); + if (length & (rb->page_size - 1)) { + error_report("ram_block_discard_range: Unaligned length: %zx", + length); goto err; } |