On Mon, Jun 24, 2024 at 09:16:39AM +0000, Soumyadeep Hore wrote:
> With the internal Linux upstream feedback that is received on
> IDPF driver and also some references available online, it
> is discouraged to use 1-sized array fields in the structures,
> especially in the new Linux drivers that are going to be
> upstreamed. Instead, it is recommended to use flex array fields
> for the dynamic sized structures.
> 
> Some fixes based on code change is introduced to compile dpdk.
> 
> Signed-off-by: Soumyadeep Hore <soumyadeep.h...@intel.com>
> ---
>  drivers/common/idpf/base/virtchnl2.h       | 466 ++++-----------------
>  drivers/common/idpf/idpf_common_virtchnl.c |   2 +-
>  drivers/net/cpfl/cpfl_ethdev.c             |  28 +-
>  3 files changed, 86 insertions(+), 410 deletions(-)
> 
> diff --git a/drivers/common/idpf/base/virtchnl2.h 
> b/drivers/common/idpf/base/virtchnl2.h
> index 9dd5191c0e..317bd06c0f 100644
> --- a/drivers/common/idpf/base/virtchnl2.h
> +++ b/drivers/common/idpf/base/virtchnl2.h
> @@ -63,6 +63,10 @@ enum virtchnl2_status {
>  #define VIRTCHNL2_CHECK_STRUCT_LEN(n, X)     \
>       static_assert((n) == sizeof(struct X),  \
>                     "Structure length does not match with the expected value")
> +#define VIRTCHNL2_CHECK_STRUCT_VAR_LEN(n, X, T)              \
> +     VIRTCHNL2_CHECK_STRUCT_LEN(n, X)
> +
> +#define STRUCT_VAR_LEN               1
>  
>  /**
>   * New major set of opcodes introduced and so leaving room for
> @@ -696,10 +700,9 @@ VIRTCHNL2_CHECK_STRUCT_LEN(32, 
> virtchnl2_queue_reg_chunk);
>  struct virtchnl2_queue_reg_chunks {
>       __le16 num_chunks;
>       u8 pad[6];
> -     struct virtchnl2_queue_reg_chunk chunks[1];
> +     struct virtchnl2_queue_reg_chunk chunks[STRUCT_VAR_LEN];
>  };

This patch doesn't actually seem to be using flexible array members.
Instead I see a macro with value "1" being used in place of a hard-coded
"1". Can you please check that commit message matches what's actually
happening, and that changes in the patch are correct.

Thanks,
/Bruce

Reply via email to