Re: [PATCH] KVM: Veirfy memory slot only for readability

Takuya Yoshikawa
2011-12-02T01:15:16Z

(2011/12/02 4:42), Sasha Levin wrote:
> It's enough for memory slot to be readable, as the comment above the check
> states.
>
> A user should be able to create read-only memory slot.

I submitted the original patch like you to speed up page table walking,
a hot path in KVM, and Avi applied the patch with changing the VERIFY_READ
to VERIFY_WRITE: on x86, both do the same check. You can see that on the
commit.

After that, Xiao started to write with __xxx_user() based on this check IIRC.
So you should keep the code as is and change the comment if you like!

Thanks,
Takuya

>
> Cc: Avi Kivity<avi@redhat.com>
> Cc: Marcelo Tosatti<mtosatti@redhat.com>
> Cc: kvm@vger.kernel.org
> Signed-off-by: Sasha Levin<levinsasha928@gmail.com>
> ---
> virt/kvm/kvm_main.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index e289486..b92883f 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -727,7 +727,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
> /* We can read the guest memory with __xxx_user() later on. */
> if (user_alloc&&
> ((mem->userspace_addr& (PAGE_SIZE - 1)) ||
> - !access_ok(VERIFY_WRITE,
> + !access_ok(VERIFY_READ,
> (void __user *)(unsigned long)mem->userspace_addr,
> mem->memory_size)))
> goto out;