Explorar o código

[media] videodev2.h: Fix VIDIOC_QUERYMENU ioctl regression

Fixes a regression in VIDIOC_QUERYMENU introduced when the __s64 value
field was added to the union. On a 64-bit system this will change the
size of this v4l2_querymenu structure from 44 to 48 bytes, thus
breaking the ABI. By adding the packed attribute it is working again.

Tested on both 64 and 32 bit systems.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil %!s(int64=13) %!d(string=hai) anos
pai
achega
e245afe984
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      include/linux/videodev2.h

+ 1 - 1
include/linux/videodev2.h

@@ -1176,7 +1176,7 @@ struct v4l2_querymenu {
 		__s64	value;
 	};
 	__u32		reserved;
-};
+} __attribute__ ((packed));
 
 /*  Control flags  */
 #define V4L2_CTRL_FLAG_DISABLED		0x0001