Message ID | 20221123051010.2725917-1-sumang@marvell.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] octeontx2-pf: Fix pfc_alloc_status array overflow | expand |
On Wed, Nov 23, 2022 at 10:40:10AM +0530, Suman Ghosh wrote: > This patch addresses pfc_alloc_status array overflow occurring for > send queue index value greater than PFC priority. This is causing > mbox errors as otx2_get_smq_idx returing invalid smq value. Maybe this change is correct one, but commit message is missing an explanation why internal function can receive "illegal" index and why it is safe to continue. > > Fixes: 99c969a83d82 ("octeontx2-pf: Add egress PFC support") > No blank line here. > Signed-off-by: Suman Ghosh <sumang@marvell.com> > --- > drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > 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 >
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
This patch addresses pfc_alloc_status array overflow occurring for send queue index value greater than PFC priority. 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 <sumang@marvell.com> --- drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)