Jason Wang
2022-Apr-27 04:03 UTC
[PATCH v2 1/2] vdpa: add the check for id_table in struct vdpa_mgmt_dev
? 2022/4/27 10:01, Cindy Lu ??:> On Mon, Apr 25, 2022 at 5:00 PM Jason Wang <jasowang at redhat.com> wrote: >> On Mon, Apr 25, 2022 at 2:27 PM Cindy Lu <lulu at redhat.com> wrote: >>> To support the dynamic ids in vp_vdpa, we need to add the check for >>> id table. If the id table is NULL, will not set the device type >>> >>> Signed-off-by: Cindy Lu <lulu at redhat.com> >>> --- >>> drivers/vdpa/vdpa.c | 11 +++++++---- >>> 1 file changed, 7 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c >>> index 1ea525433a5c..09edd92cede0 100644 >>> --- a/drivers/vdpa/vdpa.c >>> +++ b/drivers/vdpa/vdpa.c >>> @@ -492,10 +492,13 @@ static int vdpa_mgmtdev_fill(const struct vdpa_mgmt_dev *mdev, struct sk_buff *m >>> if (err) >>> goto msg_err; >>> >>> - while (mdev->id_table[i].device) { >>> - if (mdev->id_table[i].device <= 63) >>> - supported_classes |= BIT_ULL(mdev->id_table[i].device); >>> - i++; >>> + if (mdev->id_table != NULL) { >>> + while (mdev->id_table[i].device) { >>> + if (mdev->id_table[i].device <= 63) >>> + supported_classes |>>> + BIT_ULL(mdev->id_table[i].device); >>> + i++; >>> + } >>> } >> This will cause 0 to be advertised as the supported classes. >> >> I wonder if we can simply use VIRTIO_DEV_ANY_ID here (and need to >> export it to via uAPI probably). >> >> Thanks >> > like the below one? not sure if this ok to use like this? > static struct virtio_device_id vp_vdpa_id_table[] = { > { VIRTIO_DEV_ANY_ID, VIRTIO_DEV_ANY_ID }, > { 0 }, > };Something like this. Thanks> > >>> if (nla_put_u64_64bit(msg, VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES, >>> -- >>> 2.34.1 >>>