On Wed, May 06, 2026 at 03:07:03PM +0100, Anatoly Burakov 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]>
> ---

Acked-by: Bruce Richardson <[email protected]>

Although there is discussion on-list about this patch, none of it concerns
this patch being wrong in itself, but rather future cleanup work done.
Therefore, I'm considering this patch for merge to next-net-intel shortly.

/Bruce

>  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 */
>       buf_len = sizeof(struct virtchnl_queue_vector_maps) +
> -               sizeof(struct virtchnl_queue_vector) * chunk_sz;
> +               sizeof(struct virtchnl_queue_vector) * (chunk_sz - 1);
>  
>       args.ops = VIRTCHNL_OP_MAP_QUEUE_VECTOR;
>       args.in_args = (u8 *)map_info;
> -- 
> 2.47.3
> 

Reply via email to