Re: [RFC PATCH 5/6] kvm: Re-introduce memslots->nmemslots

From: Marcelo Tosatti
Date: Thu Dec 06 2012 - 18:58:38 EST


On Wed, Dec 05, 2012 at 08:51:37PM -0700, Alex Williamson wrote:
> > > id_to_memslot seems like a good place to catch all the users since
> > > that's the only way to get a slot from a slot id after the array is
> > > sorted. We need to check both is the slot in bounds (EINVAL), but also
> > > is it allocated (ENOENT). id_to_memslot could both of these if we
> > > wanted to switch it to ERR_PTR. Thanks,
> > >
> > > Alex
> >
> > There should never be a reference to a slot out of bounds by KVM itself
> > (BUG_ON). Only userspace can attempt a reference to such slot.
>
> If I understand correctly, you're saying this last chunk is unique
> because kvm_get_dirty_log() is an internal interface and the test should
> be restricted to callers from userspace interfaces, namely
> kvm_vm_ioctl_get_dirty_log(). That sounds reasonable; book3s_pr seems
> to be the only caller that relies on kvm_get_dirty_log() validating the
> slot. Thanks,
>
> Alex

Yep - so you can move the check to such userspace interfaces, and bug on
on WARN otherwise (in id_to_memslot).

Does that make sense??

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/