Hi Devendra, Quoting Devendra Tewari (2022-04-22 20:20:31) > Fixes clang warning: field within 'v4l2_ext_control' is less than Can you detail which version of clang this occurs with? Have you tried more than one version? > 'v4l2_ext_control::(anonymous union > > Signed-off-by: Devendra Tewari <devendra.tewari@xxxxxxxxx> > --- > include/uapi/linux/videodev2.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h > index 3768a0a80830..767c52c722cd 100644 > --- a/include/uapi/linux/videodev2.h > +++ b/include/uapi/linux/videodev2.h > @@ -1765,7 +1765,7 @@ struct v4l2_ext_control { > struct v4l2_ctrl_vp9_compressed_hdr __user *p_vp9_compressed_hdr_probs; > struct v4l2_ctrl_vp9_frame __user *p_vp9_frame; > void __user *ptr; > - }; > + } __attribute__ ((packed)); This is a curious fix. It's applying a packed attribute to the union, which I presume means that it's then applying the packed attribute to any item in the union. The items are all either: __s32, __s64, values - or pointers. While applying this attribute here may fix the compiler warning, I'm not sure it's clear why this is required. This file also has other locations where a union inside a packed struct is not marked as packed. Should all unions be marked with the attribute? Is there any more context from the compiler warning beyond what is reported above? -- Kieran > } __attribute__ ((packed)); > > struct v4l2_ext_controls { > -- > 2.25.1 >