Subject: Re: [net PATCH V2] octeontx2-pf: Fix pfc_alloc_status array overflow

From: Maciej Fijalkowski <[email-masked]>
Date: Fri, 25 Nov 2022 15:58:34 +0100

On Wed, Nov 23, 2022 at 04:29:38PM +0530, Suman Ghosh wrote:
> This patch addresses pfc_alloc_status array overflow occurring for

Nit: use imperative mood

> send queue index value greater than PFC priority. Queue index can be
> greater than supported PFC priority for multiple scenarios (e.g. QoS,
> during non zero SMQ allocation for a PF/VF).
> In those scenarios the API should return default tx scheduler '0'.
> This is causing mbox errors as otx2_get_smq_idx returing invalid smq value.
> 
> Fixes: 99c969a83d82 ("octeontx2-pf: Add egress PFC support")
> Signed-off-by: Suman Ghosh <[email-masked]>
> ---
> Changes since v1:
> - Updated commit message.
> 
>  drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Maciej Fijalkowski <[email-masked]>

> 
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
> index 282db6fe3b08..67aa02bb2b85 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
> @@ -884,7 +884,7 @@ static inline void otx2_dma_unmap_page(struct otx2_nic *pfvf,
>  static inline u16 otx2_get_smq_idx(struct otx2_nic *pfvf, u16 qidx)
>  {
>  #ifdef CONFIG_DCB
> -	if (pfvf->pfc_alloc_status[qidx])
> +	if (qidx < NIX_PF_PFC_PRIO_MAX && pfvf->pfc_alloc_status[qidx])
>  		return pfvf->pfc_schq_list[NIX_TXSCH_LVL_SMQ][qidx];
>  #endif
>  
> -- 
> 2.25.1
>