[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091007090420.GA1977@supernova.localdomain>
Date: Wed, 7 Oct 2009 03:04:20 -0600
From: John Wright <john.wright@...com>
To: Stephen Hemminger <shemminger@...tta.com>
Cc: netdev@...r.kernel.org, Michael Chan <mchan@...adcom.com>,
Bob Montgomery <bob.montgomery@...com>
Subject: Re: skb_shinfo(skb)->nr_frags > 0 while skb_is_gso(skb) == 0?
Hi Stephen,
On Tue, Oct 06, 2009 at 06:21:31PM -0700, Stephen Hemminger wrote:
> On Tue, 6 Oct 2009 19:03:15 -0600
> John Wright <john.wright@...com> wrote:
> > Bob Montgomery and I are debugging an OOPS in the bnx2 driver. The
> > driver OOPSes in bnx2_tx_int(), getting a NULL pointer dereference when
> > checking if the skb is GSO. (This is on 2.6.29, before is_gso was
> > cached in the tx_buf (commit d62fda08), but bear with me - while kernels
> > with that commit might not crash in the same place, I think we have
> > discovered a bug that would manifest itself another way.)
> >
> > So, first, a question for someone who knows more about sk_buff's than I:
> > is it reasonable/legal for an skb for which skb_is_gso(skb) == 0 to also
> > have skb_shinfo(skb)->nr_frags > 0?
>
> Yes, if driver support Scatter/Gather and Checksum offload,
> TCP (especially splice) will hand fragmented frames to device.
Is there a good way to generate lots of these types of packets? Is
disabling tso and gso with ethtool and sendmsg()ing big chunks of data
enough?
--
+----------------------------------------------------------+
| John Wright <john.wright@...com> |
| HP Mission Critical OS Enablement & Solution Test (MOST) |
+----------------------------------------------------------+
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists