]> git.itanic.dy.fi Git - linux-stable/commit
media: v4l2-subdev: Fix a 64bit bug
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 3 Nov 2023 07:39:24 +0000 (10:39 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 16 Nov 2023 12:59:31 +0000 (13:59 +0100)
commit5d33213fac5929a2e7766c88d78779fd443b0fe8
treea0b38840f4a6596e7bd3456b1970a3b2938e83a3
parent9ea7be95d3d4d76df63cef13b4360cd58548b2ef
media: v4l2-subdev: Fix a 64bit bug

The problem is this line here from subdev_do_ioctl().

        client_cap->capabilities &= ~V4L2_SUBDEV_CLIENT_CAP_STREAMS;

The "client_cap->capabilities" variable is a u64.  The AND operation
is supposed to clear out the V4L2_SUBDEV_CLIENT_CAP_STREAMS flag.  But
because it's a 32 bit variable it accidentally clears out the high 32
bits as well.

Currently we only use the first bit and none of the upper bits so this
doesn't affect runtime behavior.

Fixes: f57fa2959244 ("media: v4l2-subdev: Add new ioctl for client capabilities")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
include/uapi/linux/v4l2-subdev.h