Message ID | YyMJBkId0c1lvrrO@kili (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() | expand |
On Thu, Sep 15, 2022 at 4:14 AM Dan Carpenter <dan.carpenter@oracle.com> wrote: > > The ->ring_idx_mask variable is a u64 so static checkers, Smatch in > this case, complain if the BIT() is not also a u64. > > drivers/gpu/drm/virtio/virtgpu_ioctl.c:50 virtio_gpu_fence_event_create() > warn: should '(1 << ring_idx)' be a 64 bit type? > > Fixes: cd7f5ca33585 ("drm/virtio: implement context init: add virtio_gpu_fence_event") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > index 3b1701607aae..14eedb75f8a8 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > @@ -47,7 +47,7 @@ static int virtio_gpu_fence_event_create(struct drm_device *dev, > struct virtio_gpu_fence_event *e = NULL; > int ret; > > - if (!(vfpriv->ring_idx_mask & (1 << ring_idx))) > + if (!(vfpriv->ring_idx_mask & (1ULL << ring_idx))) BIT_ULL(ring_indx)? > return 0; > > e = kzalloc(sizeof(*e), GFP_KERNEL); > -- > 2.35.1 >
On Thu, Sep 15, 2022 at 05:45:46PM -0700, Chia-I Wu wrote: > On Thu, Sep 15, 2022 at 4:14 AM Dan Carpenter <dan.carpenter@oracle.com> wrote: > > > > The ->ring_idx_mask variable is a u64 so static checkers, Smatch in > > this case, complain if the BIT() is not also a u64. > > > > drivers/gpu/drm/virtio/virtgpu_ioctl.c:50 virtio_gpu_fence_event_create() > > warn: should '(1 << ring_idx)' be a 64 bit type? > > > > Fixes: cd7f5ca33585 ("drm/virtio: implement context init: add virtio_gpu_fence_event") > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > --- > > drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > > index 3b1701607aae..14eedb75f8a8 100644 > > --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c > > +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c > > @@ -47,7 +47,7 @@ static int virtio_gpu_fence_event_create(struct drm_device *dev, > > struct virtio_gpu_fence_event *e = NULL; > > int ret; > > > > - if (!(vfpriv->ring_idx_mask & (1 << ring_idx))) > > + if (!(vfpriv->ring_idx_mask & (1ULL << ring_idx))) > BIT_ULL(ring_indx)? > Sure. I can resend. regards, dan carpenter
diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c index 3b1701607aae..14eedb75f8a8 100644 --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -47,7 +47,7 @@ static int virtio_gpu_fence_event_create(struct drm_device *dev, struct virtio_gpu_fence_event *e = NULL; int ret; - if (!(vfpriv->ring_idx_mask & (1 << ring_idx))) + if (!(vfpriv->ring_idx_mask & (1ULL << ring_idx))) return 0; e = kzalloc(sizeof(*e), GFP_KERNEL);
The ->ring_idx_mask variable is a u64 so static checkers, Smatch in this case, complain if the BIT() is not also a u64. drivers/gpu/drm/virtio/virtgpu_ioctl.c:50 virtio_gpu_fence_event_create() warn: should '(1 << ring_idx)' be a 64 bit type? Fixes: cd7f5ca33585 ("drm/virtio: implement context init: add virtio_gpu_fence_event") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)