diff mbox series

[V0,1/1] media: v4l2-core: Enable reserved field of v4l2_event

Message ID a24b19a835430064a0677e04d746f72ae7987a3c.1651223992.git.quic_nvaskenl@quicinc.com
State New
Headers show
Series media: v4l2-core: Enable reserved field of v4l2_event | expand

Commit Message

Naina Vaskenly April 29, 2022, 11:45 a.m. UTC
'reserved' member of struct v4l2_event is currently not enabled.
This field can be used to transfer data, if >64 bytes of data
has to be sent. Hence, added this change to copy the reserved field in
__v4l2_event_queue_fh.

Signed-off-by: Naina Vaskenly <quic_nvaskenl@quicinc.com>
---
 drivers/media/v4l2-core/v4l2-event.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Hans Verkuil April 29, 2022, 11:50 a.m. UTC | #1
On 29/04/2022 13:45, Naina Vaskenly wrote:
> 'reserved' member of struct v4l2_event is currently not enabled.
> This field can be used to transfer data, if >64 bytes of data
> has to be sent. Hence, added this change to copy the reserved field in
> __v4l2_event_queue_fh.
> 
> Signed-off-by: Naina Vaskenly <quic_nvaskenl@quicinc.com>
> ---
>  drivers/media/v4l2-core/v4l2-event.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-event.c b/drivers/media/v4l2-core/v4l2-event.c
> index c5ce9f1..3d741cb 100644
> --- a/drivers/media/v4l2-core/v4l2-event.c
> +++ b/drivers/media/v4l2-core/v4l2-event.c
> @@ -137,8 +137,10 @@ static void __v4l2_event_queue_fh(struct v4l2_fh *fh,
>  	/* Take one and fill it. */
>  	kev = sev->events + sev_pos(sev, sev->in_use);
>  	kev->event.type = ev->type;
> -	if (copy_payload)
> +	if (copy_payload) {
>  		kev->event.u = ev->u;
> +		memcpy(kev->event.reserved, ev->reserved, sizeof(ev->reserved));
> +	}
>  	kev->event.id = ev->id;
>  	kev->ts = ts;
>  	kev->event.sequence = fh->sequence;

What's the point of this? It's a reserved field, it must be 0. If you want to use
it for something else, then make a proposal to repurpose some of the reserved
fields.

This looks like you are trying to copy reserved data for some driver-specific hack.

That's not going to be accepted.

For the record:

Nacked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

Regards,

	Hans
diff mbox series

Patch

diff --git a/drivers/media/v4l2-core/v4l2-event.c b/drivers/media/v4l2-core/v4l2-event.c
index c5ce9f1..3d741cb 100644
--- a/drivers/media/v4l2-core/v4l2-event.c
+++ b/drivers/media/v4l2-core/v4l2-event.c
@@ -137,8 +137,10 @@  static void __v4l2_event_queue_fh(struct v4l2_fh *fh,
 	/* Take one and fill it. */
 	kev = sev->events + sev_pos(sev, sev->in_use);
 	kev->event.type = ev->type;
-	if (copy_payload)
+	if (copy_payload) {
 		kev->event.u = ev->u;
+		memcpy(kev->event.reserved, ev->reserved, sizeof(ev->reserved));
+	}
 	kev->event.id = ev->id;
 	kev->ts = ts;
 	kev->event.sequence = fh->sequence;