All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xie Yongji <xieyongji@bytedance.com>
To: mst@redhat.com, jasowang@redhat.com, stefanha@redhat.com,
	sgarzare@redhat.com, parav@nvidia.com, akpm@linux-foundation.org,
	rdunlap@infradead.org, willy@infradead.org,
	viro@zeniv.linux.org.uk, axboe@kernel.dk, bcrl@kvack.org,
	corbet@lwn.net
Cc: virtualization@lists.linux-foundation.org,
	netdev@vger.kernel.org, kvm@vger.kernel.org, linux-aio@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Subject: [RFC v2 04/13] vdpa: Remove the restriction that only supports virtio-net devices
Date: Tue, 22 Dec 2020 22:52:12 +0800	[thread overview]
Message-ID: <20201222145221.711-5-xieyongji@bytedance.com> (raw)
In-Reply-To: <20201222145221.711-1-xieyongji@bytedance.com>

With VDUSE, we should be able to support all kinds of virtio devices.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
---
 drivers/vhost/vdpa.c | 29 +++--------------------------
 1 file changed, 3 insertions(+), 26 deletions(-)

diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 29ed4173f04e..448be7875b6d 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -22,6 +22,7 @@
 #include <linux/nospec.h>
 #include <linux/vhost.h>
 #include <linux/virtio_net.h>
+#include <linux/virtio_blk.h>
 
 #include "vhost.h"
 
@@ -185,26 +186,6 @@ static long vhost_vdpa_set_status(struct vhost_vdpa *v, u8 __user *statusp)
 	return 0;
 }
 
-static int vhost_vdpa_config_validate(struct vhost_vdpa *v,
-				      struct vhost_vdpa_config *c)
-{
-	long size = 0;
-
-	switch (v->virtio_id) {
-	case VIRTIO_ID_NET:
-		size = sizeof(struct virtio_net_config);
-		break;
-	}
-
-	if (c->len == 0)
-		return -EINVAL;
-
-	if (c->len > size - c->off)
-		return -E2BIG;
-
-	return 0;
-}
-
 static long vhost_vdpa_get_config(struct vhost_vdpa *v,
 				  struct vhost_vdpa_config __user *c)
 {
@@ -215,7 +196,7 @@ static long vhost_vdpa_get_config(struct vhost_vdpa *v,
 
 	if (copy_from_user(&config, c, size))
 		return -EFAULT;
-	if (vhost_vdpa_config_validate(v, &config))
+	if (config.len == 0)
 		return -EINVAL;
 	buf = kvzalloc(config.len, GFP_KERNEL);
 	if (!buf)
@@ -243,7 +224,7 @@ static long vhost_vdpa_set_config(struct vhost_vdpa *v,
 
 	if (copy_from_user(&config, c, size))
 		return -EFAULT;
-	if (vhost_vdpa_config_validate(v, &config))
+	if (config.len == 0)
 		return -EINVAL;
 	buf = kvzalloc(config.len, GFP_KERNEL);
 	if (!buf)
@@ -1025,10 +1006,6 @@ static int vhost_vdpa_probe(struct vdpa_device *vdpa)
 	int minor;
 	int r;
 
-	/* Currently, we only accept the network devices. */
-	if (ops->get_device_id(vdpa) != VIRTIO_ID_NET)
-		return -ENOTSUPP;
-
 	v = kzalloc(sizeof(*v), GFP_KERNEL | __GFP_RETRY_MAYFAIL);
 	if (!v)
 		return -ENOMEM;
-- 
2.11.0


  parent reply	other threads:[~2020-12-22 14:54 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-22 14:52 [RFC v2 00/13] Introduce VDUSE - vDPA Device in Userspace Xie Yongji
2020-12-22 14:52 ` [RFC v2 01/13] mm: export zap_page_range() for driver use Xie Yongji
2020-12-22 15:44   ` Christoph Hellwig
2020-12-22 15:44     ` Christoph Hellwig
2020-12-22 14:52 ` [RFC v2 02/13] eventfd: track eventfd_signal() recursion depth separately in different cases Xie Yongji
2020-12-22 14:52 ` [RFC v2 03/13] eventfd: Increase the recursion depth of eventfd_signal() Xie Yongji
2020-12-22 14:52 ` Xie Yongji [this message]
2020-12-22 14:52 ` [RFC v2 05/13] vdpa: Pass the netlink attributes to ops.dev_add() Xie Yongji
2020-12-22 14:52 ` [RFC v2 06/13] vduse: Introduce VDUSE - vDPA Device in Userspace Xie Yongji
2020-12-23  8:08   ` Jason Wang
2020-12-23  8:08     ` Jason Wang
2020-12-23 14:17     ` Yongji Xie
2020-12-23 14:17       ` Yongji Xie
2020-12-24  3:01       ` Jason Wang
2020-12-24  3:01         ` Jason Wang
2020-12-24  8:34         ` Yongji Xie
2020-12-24  8:34           ` Yongji Xie
2020-12-25  6:59           ` Jason Wang
2020-12-25  6:59             ` Jason Wang
2021-01-08 13:32   ` Bob Liu
2021-01-08 13:32     ` Bob Liu
2021-01-10 10:03     ` Yongji Xie
2021-01-10 10:03       ` Yongji Xie
2020-12-22 14:52 ` [RFC v2 07/13] vduse: support get/set virtqueue state Xie Yongji
2020-12-22 14:52 ` [RFC v2 08/13] vdpa: Introduce process_iotlb_msg() in vdpa_config_ops Xie Yongji
2020-12-23  8:36   ` Jason Wang
2020-12-23  8:36     ` Jason Wang
2020-12-23 11:06     ` Yongji Xie
2020-12-23 11:06       ` Yongji Xie
2020-12-24  2:36       ` Jason Wang
2020-12-24  2:36         ` Jason Wang
2020-12-24  7:24         ` Yongji Xie
2020-12-24  7:24           ` Yongji Xie
2020-12-22 14:52 ` [RFC v2 09/13] vduse: Add support for processing vhost iotlb message Xie Yongji
2020-12-23  9:05   ` Jason Wang
2020-12-23  9:05     ` Jason Wang
2020-12-23 12:14     ` [External] " Yongji Xie
2020-12-23 12:14       ` Yongji Xie
2020-12-24  2:41       ` Jason Wang
2020-12-24  2:41         ` Jason Wang
2020-12-24  7:37         ` Yongji Xie
2020-12-24  7:37           ` Yongji Xie
2020-12-25  2:37           ` Yongji Xie
2020-12-25  2:37             ` Yongji Xie
2020-12-25  7:02             ` Jason Wang
2020-12-25  7:02               ` Jason Wang
2020-12-25 11:36               ` Yongji Xie
2020-12-25 11:36                 ` Yongji Xie
2020-12-25  6:57           ` Jason Wang
2020-12-25  6:57             ` Jason Wang
2020-12-25 10:31             ` Yongji Xie
2020-12-25 10:31               ` Yongji Xie
2020-12-28  7:43               ` Jason Wang
2020-12-28  7:43                 ` Jason Wang
2020-12-28  8:14                 ` Yongji Xie
2020-12-28  8:14                   ` Yongji Xie
2020-12-28  8:43                   ` Jason Wang
2020-12-28  8:43                     ` Jason Wang
2020-12-28  9:12                     ` Yongji Xie
2020-12-28  9:12                       ` Yongji Xie
2020-12-29  9:11                       ` Jason Wang
2020-12-29  9:11                         ` Jason Wang
2020-12-29  9:11                         ` Jason Wang
2020-12-29 10:26                         ` Yongji Xie
2020-12-29 10:26                           ` Yongji Xie
2020-12-30  6:10                           ` Jason Wang
2020-12-30  6:10                             ` Jason Wang
2020-12-30  7:09                             ` Yongji Xie
2020-12-30  7:09                               ` Yongji Xie
2020-12-30  8:41                               ` Jason Wang
2020-12-30  8:41                                 ` Jason Wang
2020-12-30 10:12                                 ` Yongji Xie
2020-12-30 10:12                                   ` Yongji Xie
2020-12-31  2:49                                   ` Jason Wang
2020-12-31  2:49                                     ` Jason Wang
2020-12-31  5:15                                     ` Yongji Xie
2020-12-31  5:15                                       ` Yongji Xie
2020-12-31  5:49                                       ` Jason Wang
2020-12-31  5:49                                         ` Jason Wang
2020-12-31  6:52                                         ` Yongji Xie
2020-12-31  6:52                                           ` Yongji Xie
2020-12-31  7:11                                           ` Jason Wang
2020-12-31  7:11                                             ` Jason Wang
2020-12-31  8:00                                             ` Yongji Xie
2020-12-31  8:00                                               ` Yongji Xie
2020-12-22 14:52 ` [RFC v2 10/13] vduse: grab the module's references until there is no vduse device Xie Yongji
2020-12-22 14:52 ` [RFC v2 11/13] vduse/iova_domain: Support reclaiming bounce pages Xie Yongji
2020-12-22 14:52 ` [RFC v2 12/13] vduse: Add memory shrinker to reclaim " Xie Yongji
2020-12-22 14:52 ` [RFC v2 13/13] vduse: Introduce a workqueue for irq injection Xie Yongji
2020-12-23  6:38 ` [RFC v2 00/13] Introduce VDUSE - vDPA Device in Userspace Jason Wang
2020-12-23  6:38   ` Jason Wang
2020-12-23  8:14   ` Jason Wang
2020-12-23  8:14     ` Jason Wang
2020-12-23 10:59   ` Yongji Xie
2020-12-23 10:59     ` Yongji Xie
2020-12-24  2:24     ` Jason Wang
2020-12-24  2:24       ` Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201222145221.711-5-xieyongji@bytedance.com \
    --to=xieyongji@bytedance.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=bcrl@kvack.org \
    --cc=corbet@lwn.net \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-aio@kvack.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=parav@nvidia.com \
    --cc=rdunlap@infradead.org \
    --cc=sgarzare@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.