On Wed, 6 May 2026 at 16:07, Anatoly Burakov <[email protected]> wrote:
>
> The PF will check buffer size for being too big, and the chunk sizing code
> correctly calls that out. However, the size was actually still too big
> because `struct virtchnl_queue_vector_maps` already had one queue vector
> as part of its definition, so `chunk_sz` was too big by 1.
>
> Fixes: 292d3b781ac4 ("net/iavf: replace unnecessary hugepage memory 
> allocations")
>
> Signed-off-by: Anatoly Burakov <[email protected]>
> ---
>  drivers/net/intel/iavf/iavf_vchnl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/intel/iavf/iavf_vchnl.c 
> b/drivers/net/intel/iavf/iavf_vchnl.c
> index c2f340db81..dd09b0fa61 100644
> --- a/drivers/net/intel/iavf/iavf_vchnl.c
> +++ b/drivers/net/intel/iavf/iavf_vchnl.c
> @@ -1528,7 +1528,7 @@ iavf_config_irq_map_lv_chunk(struct iavf_adapter 
> *adapter,
>
>         /* for some reason PF side checks for buffer being too big, so adjust 
> it down */

The comment above can be removed?

>         buf_len = sizeof(struct virtchnl_queue_vector_maps) +
> -                 sizeof(struct virtchnl_queue_vector) * chunk_sz;
> +                 sizeof(struct virtchnl_queue_vector) * (chunk_sz - 1);

- did you make sure you did not break compat with previous version of
Intel out of tree PF driver (since this concerns configuring "Large
VF")?

- all those virtchnl list struct have the same elems[1] issue.
Kernel side did some cleanups some time ago, maybe time for DPDK to do
the same...?


-- 
David Marchand

Reply via email to