* Wei Yang (richardw.y...@linux.intel.com) wrote: > 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.y...@linux.intel.com> > --- > exec.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/exec.c b/exec.c > index 50ea9c5aaa..8fa980baae 100644 > --- a/exec.c > +++ b/exec.c > @@ -4067,10 +4067,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: %lx", > + length);
Yes, I *think* this is safe, we'll need to watch out for any warnings; David Gibson's balloon fix from February means that the balloon code should now warn in it's case. rth: Want to pick this up? Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > goto err; > } > > -- > 2.17.1 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK