media: uvcvideo: Enforce alignment of frame and interval
authorRicardo Ribalda <ribalda@chromium.org>
Thu, 4 Apr 2024 17:56:18 +0000 (17:56 +0000)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 16 Jun 2024 23:39:09 +0000 (02:39 +0300)
commitc8931ef55bd325052ec496f242aea7f6de47dc9c
tree378e69f5f4fd323c0f969b3ae0887eea22b50f6f
parent85fbe91a7c9210bb30638846b551fa5d3cb7bc4c
media: uvcvideo: Enforce alignment of frame and interval

Struct uvc_frame and interval (u32*) are packaged together on
streaming->formats on a single contiguous allocation.

Right now they are allocated right after uvc_format, without taking into
consideration their required alignment.

This is working fine because both structures have a field with a
pointer, but it will stop working when the sizeof() of any of those
structs is not a multiple of the sizeof(void*).

Enforce that alignment during the allocation.

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20240404-uvc-align-v2-1-9e104b0ecfbd@chromium.org
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/media/usb/uvc/uvc_driver.c