Message ID | 20240507-cocci-flexarray-v2-13-7aea262cf065@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: Fix the last set of coccinelle warnings | expand |
On 07/05/2024 17:27, Ricardo Ribalda wrote: > plane_info is not a typical array, the data is not contiguous: > pinfo = (void *)pinfo + sizeof(*constr) * num_planes + > 2 * sizeof(u32); > > Replace the single element array with a single element field. > > This fixes the following cocci warning: > drivers/media/platform/qcom/venus/hfi_helper.h:1009:36-46: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/platform/qcom/venus/hfi_helper.h | 2 +- > drivers/media/platform/qcom/venus/hfi_parser.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h > index eb0a4c64b7ef..dee439ea4d2e 100644 > --- a/drivers/media/platform/qcom/venus/hfi_helper.h > +++ b/drivers/media/platform/qcom/venus/hfi_helper.h > @@ -1006,7 +1006,7 @@ struct hfi_uncompressed_plane_info { > struct hfi_uncompressed_format_supported { > u32 buffer_type; > u32 format_entries; > - struct hfi_uncompressed_plane_info plane_info[1]; > + struct hfi_uncompressed_plane_info plane_info; > }; > > struct hfi_uncompressed_plane_actual { > diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c > index c43839539d4d..3df241dc3a11 100644 > --- a/drivers/media/platform/qcom/venus/hfi_parser.c > +++ b/drivers/media/platform/qcom/venus/hfi_parser.c > @@ -157,7 +157,7 @@ static void > parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data) > { > struct hfi_uncompressed_format_supported *fmt = data; > - struct hfi_uncompressed_plane_info *pinfo = fmt->plane_info; > + struct hfi_uncompressed_plane_info *pinfo = &fmt->plane_info; > struct hfi_uncompressed_plane_constraints *constr; > struct raw_formats rawfmts[MAX_FMT_ENTRIES] = {}; > u32 entries = fmt->format_entries; > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h index eb0a4c64b7ef..dee439ea4d2e 100644 --- a/drivers/media/platform/qcom/venus/hfi_helper.h +++ b/drivers/media/platform/qcom/venus/hfi_helper.h @@ -1006,7 +1006,7 @@ struct hfi_uncompressed_plane_info { struct hfi_uncompressed_format_supported { u32 buffer_type; u32 format_entries; - struct hfi_uncompressed_plane_info plane_info[1]; + struct hfi_uncompressed_plane_info plane_info; }; struct hfi_uncompressed_plane_actual { diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c index c43839539d4d..3df241dc3a11 100644 --- a/drivers/media/platform/qcom/venus/hfi_parser.c +++ b/drivers/media/platform/qcom/venus/hfi_parser.c @@ -157,7 +157,7 @@ static void parse_raw_formats(struct venus_core *core, u32 codecs, u32 domain, void *data) { struct hfi_uncompressed_format_supported *fmt = data; - struct hfi_uncompressed_plane_info *pinfo = fmt->plane_info; + struct hfi_uncompressed_plane_info *pinfo = &fmt->plane_info; struct hfi_uncompressed_plane_constraints *constr; struct raw_formats rawfmts[MAX_FMT_ENTRIES] = {}; u32 entries = fmt->format_entries;
plane_info is not a typical array, the data is not contiguous: pinfo = (void *)pinfo + sizeof(*constr) * num_planes + 2 * sizeof(u32); Replace the single element array with a single element field. This fixes the following cocci warning: drivers/media/platform/qcom/venus/hfi_helper.h:1009:36-46: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- drivers/media/platform/qcom/venus/hfi_helper.h | 2 +- drivers/media/platform/qcom/venus/hfi_parser.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)