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