Re: [PATCH] KVM: validate userspace input in kvm_clear_dirty_log_protect()

From: Radim KrÄmÃÅ
Date: Fri Jan 11 2019 - 08:50:02 EST


2019-01-08 17:28+0100, Tomas Bortoli:
> Hi Paolo,
>
> On 1/7/19 11:42 PM, Paolo Bonzini wrote:
> > On 02/01/19 18:29, Tomas Bortoli wrote:
> >> n = kvm_dirty_bitmap_bytes(memslot);
> >> +
> >> + if (n << 3 < log->num_pages || log->first_page > log->num_pages)
> >> + return -EINVAL;
> >> +
> >
> > This should be
> >
> > if (log->first_page > memslot->npages ||

(Wouldn't this be clearer with a >= instead?)

> > log->num_pages > memslot->npages - log->first_page)
> > return -EINVAL;
> >
> > i.e. the comparison should check the last page in the range, not the
> > number of pages. In addition, using "n" is unnecessary since we do have
> > the memslot. I'll do the changes myself if you prefer, but an ack would
> > be nice.
> >
> >
>
>
> Yeah, I agree. Thanks for the reply and sure you can do the changes, np :)

Done that and applied, thanks.