On 14/10/2019 09:33, Xiao Zhang wrote:
> When configuring i40e rx queue, the temporary variable to store max packet
> length is not big enough which leads to integer overflow issue. This
> patch is to fix the issue by changing the variable type from uint16_t
> to uint32_t.
> 
> Fixes: c511a96a34d7 ("mbuf: add accessors for data room and private
> size")

It should be
Fixes: 4861cde46116 ("i40e: new poll mode driver")

> Cc: sta...@dpdk.org
> 
> Signed-off-by: Xiao Zhang <xiao.zh...@intel.com>
> ---
>  drivers/net/i40e/i40e_rxtx.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index bfe161f..ca15b12 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -2596,7 +2596,8 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq)
>       struct i40e_pf *pf = I40E_VSI_TO_PF(rxq->vsi);
>       struct i40e_hw *hw = I40E_VSI_TO_HW(rxq->vsi);
>       struct rte_eth_dev_data *data = pf->dev_data;
> -     uint16_t buf_size, len;
> +     uint16_t buf_size;
> +     uint32_t len;
>  

You can just remove the variable, it's only used once.

>       buf_size = (uint16_t)(rte_pktmbuf_data_room_size(rxq->mp) -
>               RTE_PKTMBUF_HEADROOM);
> 

Reply via email to