vhost-vdpa: fix vm_flags for virtqueue doorbell mapping
authorJason Wang <jasowang@redhat.com>
Tue, 13 Apr 2021 09:15:57 +0000 (17:15 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 May 2021 12:47:12 +0000 (14:47 +0200)
commit3b8b6399666a29daa30b0bb3f5c9e3fc81c5a6a6
treefa190b7dbbfa7cab47ce1635f84a07dafd84f4b7
parent026499a9c2e002e621ad568d1378324ae97e5524
vhost-vdpa: fix vm_flags for virtqueue doorbell mapping

commit 3a3e0fad16d40a2aa68ddf7eea4acdf48b22dd44 upstream.

The virtqueue doorbell is usually implemented via registeres but we
don't provide the necessary vma->flags like VM_PFNMAP. This may cause
several issues e.g when userspace tries to map the doorbell via vhost
IOTLB, kernel may panic due to the page is not backed by page
structure. This patch fixes this by setting the necessary
vm_flags. With this patch, try to map doorbell via IOTLB will fail
with bad address.

Cc: stable@vger.kernel.org
Fixes: ddd89d0a059d ("vhost_vdpa: support doorbell mapping via mmap")
Signed-off-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20210413091557.29008-1-jasowang@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vhost/vdpa.c