[dpdk-dev] net/i40e: fix integer overflow
Kevin Traynor
ktraynor at redhat.com
Mon Oct 14 12:35:48 CEST 2019
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: stable at dpdk.org
>
> Signed-off-by: Xiao Zhang <xiao.zhang at 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);
>
More information about the dev
mailing list