On Wed, Jun 25, 2014 at 12:51 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > From: Tom Herbert <therb...@google.com> > > Dave Jones reported that a crash is occurring in > > csum_partial > tcp_gso_segment > inet_gso_segment > ? update_dl_migration > skb_mac_gso_segment > __skb_gso_segment > dev_hard_start_xmit > sch_direct_xmit > __dev_queue_xmit > ? dev_hard_start_xmit > dev_queue_xmit > ip_finish_output > ? ip_output > ip_output > ip_forward_finish > ip_forward > ip_rcv_finish > ip_rcv > __netif_receive_skb_core > ? __netif_receive_skb_core > ? trace_hardirqs_on > __netif_receive_skb > netif_receive_skb_internal > napi_gro_complete > ? napi_gro_complete > dev_gro_receive > ? dev_gro_receive > napi_gro_receive > > It looks like a likely culprit is that SKB_GSO_CB()->csum_start is > not set correctly when doing non-scatter gather. We are using > offset as opposed to doffset. > Acked-by: Tom Herbert <therb...@google.com>
> Reported-by: Dave Jones <da...@redhat.com> > Tested-by: Dave Jones <da...@redhat.com> > Signed-off-by: Tom Herbert <therb...@google.com> > Signed-off-by: Eric Dumazet <eduma...@google.com> > Fixes: 7e2b10c1e52ca ("net: Support for multiple checksums with gso") > --- > net/core/skbuff.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/skbuff.c b/net/core/skbuff.c > index 9cd5344fad73..c1a33033cbe2 100644 > --- a/net/core/skbuff.c > +++ b/net/core/skbuff.c > @@ -2993,7 +2993,7 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb, > skb_put(nskb, > len), > len, 0); > SKB_GSO_CB(nskb)->csum_start = > - skb_headroom(nskb) + offset; > + skb_headroom(nskb) + doffset; > continue; > } > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/