Re: [PATCHv2-net-3.8 3/3] bnx2x: set gso_type

From: Dmitry Kravkov
Date: Thu Feb 07 2013 - 08:37:49 EST


On Thu, 2013-02-07 at 15:13 +0200, Michael S. Tsirkin wrote:
> In LRO mode, bnx2x set gso_size but not gso type.
> This leads to crashes in macvtap.
> Commit cbf1de72324a8105ddcc3d9ce9acbc613faea17e
> queued for 3.9 includes a more complete fix.
> This is a minimal patch to avoid the crash, for 3.8.
>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> ---
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
> index f771ddf..a5edac8 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
> @@ -504,13 +504,11 @@ static int bnx2x_fill_frag_skb(struct bnx2x *bp, struct bnx2x_fastpath *fp,
> skb_shinfo(skb)->gso_size = bnx2x_set_lro_mss(bp,
> tpa_info->parsing_flags, len_on_bd);
>
> - /* set for GRO */
> - if (fp->mode == TPA_MODE_GRO)
> - skb_shinfo(skb)->gso_type =
> - (GET_FLAG(tpa_info->parsing_flags,
> - PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) ==
> - PRS_FLAG_OVERETH_IPV6) ?
> - SKB_GSO_TCPV6 : SKB_GSO_TCPV4;
> + skb_shinfo(skb)->gso_type =
> + (GET_FLAG(tpa_info->parsing_flags,
> + PARSING_FLAGS_OVER_ETHERNET_PROTOCOL) ==
> + PRS_FLAG_OVERETH_IPV6) ?
> + SKB_GSO_TCPV6 : SKB_GSO_TCPV4;
> }
>
>
Thanks!

Acked-by: Dmitry Kravkov <dmitry@xxxxxxxxxxxx>




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/