Re: [PATCH 2/2][next] media: venus: hfi_cmds: Use struct_size() helper

From: Vikash Garodia
Date: Thu May 25 2023 - 08:20:50 EST



On 5/17/2023 4:44 AM, Gustavo A. R. Silva wrote:
> Prefer struct_size() over open-coded versions of idiom:
>
> sizeof(struct-with-flex-array) + sizeof(typeof-flex-array-elements) * count
>
> where count is the max number of items the flexible array is supposed to
> contain.
>
> Link: https://github.com/KSPP/linux/issues/160
> Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>

The patch looks good. As stated in previous patch, lets combine this into a
single series.

> ---
> drivers/media/platform/qcom/venus/hfi_cmds.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c
> index 21d1b3c90dc0..3f74d518ad08 100644
> --- a/drivers/media/platform/qcom/venus/hfi_cmds.c
> +++ b/drivers/media/platform/qcom/venus/hfi_cmds.c
> @@ -209,8 +209,8 @@ int pkt_session_set_buffers(struct hfi_session_set_buffers_pkt *pkt,
> }
> } else {
> pkt->extradata_size = 0;
> - pkt->shdr.hdr.size = sizeof(*pkt) +
> - bd->num_buffers * sizeof(u32);
> + pkt->shdr.hdr.size = struct_size(pkt, buffer_info,
> + bd->num_buffers);
> for (i = 0; i < pkt->num_buffers; i++)
> pkt->buffer_info[i] = bd->device_addr;
> }
> @@ -251,8 +251,8 @@ int pkt_session_unset_buffers(struct hfi_session_release_buffer_pkt *pkt,
>
> pkt->extradata_size = 0;
> pkt->shdr.hdr.size =
> - sizeof(struct hfi_session_set_buffers_pkt) +
> - bd->num_buffers * sizeof(u32);
> + struct_size((struct hfi_session_set_buffers_pkt *)0,
> + buffer_info, bd->num_buffers);
> }
>
> pkt->response_req = bd->response_required;