Re: [RFC v3 03/11] vdpa: Remove the restriction that only supports virtio-net devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 30, 2021 at 07:33:08PM +0800, Yongji Xie wrote:
On Fri, Jan 29, 2021 at 11:04 PM Stefano Garzarella <sgarzare@xxxxxxxxxx> wrote:

On Thu, Jan 28, 2021 at 11:11:49AM +0800, Jason Wang wrote:
>
>On 2021/1/27 下午4:57, Stefano Garzarella wrote:
>>On Wed, Jan 27, 2021 at 11:33:03AM +0800, Jason Wang wrote:
>>>
>>>On 2021/1/20 下午7:08, Stefano Garzarella wrote:
>>>>On Wed, Jan 20, 2021 at 11:46:38AM +0800, Jason Wang wrote:
>>>>>
>>>>>On 2021/1/19 下午12:59, Xie Yongji wrote:
>>>>>>With VDUSE, we should be able to support all kinds of virtio devices.
>>>>>>
>>>>>>Signed-off-by: Xie Yongji <xieyongji@xxxxxxxxxxxxx>
>>>>>>---
>>>>>> 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;
>>>>>>-}
>>>>>
>>>>>
>>>>>I think we should use a separate patch for this.
>>>>
>>>>For the vdpa-blk simulator I had the same issues and I'm adding
>>>>a .get_config_size() callback to vdpa devices.
>>>>
>>>>Do you think make sense or is better to remove this check in
>>>>vhost/vdpa, delegating the boundaries checks to
>>>>get_config/set_config callbacks.
>>>
>>>
>>>A question here. How much value could we gain from
>>>get_config_size() consider we can let vDPA parent to validate the
>>>length in its get_config().
>>>
>>
>>I agree, most of the implementations already validate the length,
>>the only gain is an error returned since get_config() is void, but
>>eventually we can add a return value to it.
>
>
>Right, one problem here is that. For the virito path, its get_config()
>returns void. So we can not propagate error to virtio drivers. But it
>might not be a big issue since we trust kernel virtio driver.
>
>So I think it makes sense to change the return value in the vdpa config ops.

Thanks for your feedback!

@Xie do you plan to do this?

Otherwise I can do in my vdpa-blk-sim series, where for now I used this
patch as is.


Hi Stefano, please do in your vdpa-blk-sim series. I have no plan for it now.

Okay, I'll do it.

Thanks,
Stefano




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux