Thread (1 message) 1 message, 1 author, 2021-11-28

Re: [PATCH] vdpa: Consider device id larger than 31

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2021-11-28 07:47:47
Also in: lkml, oe-kbuild-all

On Sun, Nov 28, 2021 at 09:14:35AM +0200, Eli Cohen wrote:
On Fri, Nov 26, 2021 at 10:48:12AM +0800, Jason Wang wrote:
quoted
On Fri, Nov 26, 2021 at 2:09 AM Parav Pandit [off-list ref] wrote:
quoted
virtio device id value can be more than 31. Hence, use BIT_ULL in
assignment.

Fixes: 33b347503f01 ("vdpa: Define vdpa mgmt device, ops and a netlink interface")
Reported-by: kernel test robot <redacted>
Reported-by: Dan Carpenter <redacted>
Signed-off-by: Parav Pandit <redacted>
Acked-by: Jason Wang <redacted>
quoted
---
 drivers/vdpa/vdpa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c
index 7332a74a4b00..e91c71aeeddf 100644
--- a/drivers/vdpa/vdpa.c
+++ b/drivers/vdpa/vdpa.c
@@ -404,7 +404,7 @@ static int vdpa_mgmtdev_fill(const struct vdpa_mgmt_dev *mdev, struct sk_buff *m
                goto msg_err;

        while (mdev->id_table[i].device) {
-               supported_classes |= BIT(mdev->id_table[i].device);
+               supported_classes |= BIT_ULL(mdev->id_table[i].device);
                i++;
        }
type of mdev->id_table[i].device is __u32 so in theory you're limited
to device ID's up to 63.
Maybe add assert here?
I think 1 << 63 is illegal though.
quoted
quoted
--
2.26.2
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help