From: Eric Dumazet <eric.dumazet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jarek Poplawski <jarkao2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Plamen Petrov <pvp-lsts-s6OjJRe3oxUfI6EYonfoRA@public.gmane.org>,
Herbert Xu
<herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>,
"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
Kernel Testers List
<kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Maciej Rutecki
<maciej.rutecki-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"David S. Miller" <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [Bug #16626] Machine hangs with EIP at skb_copy_and_csum_dev
Date: Wed, 01 Sep 2010 15:57:41 +0200 [thread overview]
Message-ID: <1283349461.2556.333.camel@edumazet-laptop> (raw)
In-Reply-To: <20100901112026.GA9468-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
Le mercredi 01 septembre 2010 à 11:20 +0000, Jarek Poplawski a écrit :
> On Wed, Sep 01, 2010 at 12:50:51PM +0200, Eric Dumazet wrote:
> > Plamen, could you test following patch ?
> >
> > I reproduced problem on a dev machine and following patch cured it.
> >
> > Thanks
> >
> > [PATCH] gro: fix different skb headrooms
> >
> > packets entering GRO might have different headrooms, even for a given
> > flow (because of implementation details in drivers, like copybreak).
> > We cant force drivers to deliver packets with a fixed headroom.
> >
> > 1) fix skb_segment()
> >
> > skb_segment() makes the false assumption headrooms of fragments are same
> > than the head. When CHECKSUM_PARTIAL is used, this can give csum_start
> > errors, and crash later in skb_copy_and_csum_dev()
>
> Eric, probably I missed something, but since the same test as in
> skb_copy_and_csum_dev() gave different result a bit earlier on exactly
> the same skb, I've suspected some sharing (or use after free)
> problems, so I'm not sure your current diagnose can explain this.
> (Unless this old test was dismissed later.)
Oh, this is because your patch had an error for the gso part that read :
- rc = ops->ndo_start_xmit(nskb, dev);
+ if (skb_csum_start_bug(skb, 50)) {
+ kfree_skb(skb);
+ rc = NETDEV_TX_OK;
+ } else
+ rc = ops->ndo_start_xmit(nskb, dev);
+
if (unlikely(rc != NETDEV_TX_OK)) {
if (rc & ~NETDEV_TX_MASK)
goto out_kfree_gso_skb;
You called skb_csum_start_bug(skb, 50) instead of
skb_csum_start_bug(nskb, 50)
Hope this clarify a bit ;)
Thanks
next prev parent reply other threads:[~2010-09-01 13:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-29 22:24 2.6.36-rc3: Reported regressions from 2.6.35 Rafael J. Wysocki
[not found] ` <4AUWBNzTkbD.A.ey.cGueMB@chimera>
[not found] ` <courier.4C7C99F2.00001F74@fs.ru.acad.bg>
[not found] ` <courier.4C7C99F2.00001F74-Xdw7EbNJKi3354cJYj5R/Q@public.gmane.org>
2010-08-31 19:26 ` [Bug #16626] Machine hangs with EIP at skb_copy_and_csum_dev Jarek Poplawski
2010-09-01 10:50 ` Eric Dumazet
2010-09-01 11:20 ` Jarek Poplawski
[not found] ` <20100901112026.GA9468-8HppEYmqbBCE+EvaaNYduQ@public.gmane.org>
2010-09-01 13:57 ` Eric Dumazet [this message]
2010-09-01 15:05 ` Jarek Poplawski
2010-09-02 1:23 ` David Miller
2010-09-03 8:00 ` Plamen Petrov
2010-09-03 9:06 ` Jarek Poplawski
2010-09-03 8:30 ` Herbert Xu
2010-09-04 20:34 ` Jarek Poplawski
[not found] ` <20100904203429.GA4891-qLhEM4ewh5CNj9Bq2fkWzw@public.gmane.org>
2010-09-05 7:49 ` Eric Dumazet
2010-09-08 4:57 ` Plamen Petrov
2010-09-08 6:20 ` Jarek Poplawski
2010-09-08 17:32 ` David Miller
[not found] ` <20100908.103256.112592448.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-09-08 20:21 ` Rafael J. Wysocki
[not found] ` <201009082221.16356.rjw-KKrjLPT3xs0@public.gmane.org>
2010-09-12 6:55 ` Plamen Petrov
[not found] ` <4C8C7957.7080207-s6OjJRe3oxUfI6EYonfoRA@public.gmane.org>
2010-09-12 15:55 ` David Miller
[not found] ` <20100912.085509.193705327.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2010-09-13 6:49 ` Plamen Petrov
2010-09-12 17:28 ` Rafael J. Wysocki
2018-08-29 21:39 ` Mitchell Erblich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1283349461.2556.333.camel@edumazet-laptop \
--to=eric.dumazet-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org \
--cc=jarkao2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=maciej.rutecki-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=pvp-lsts-s6OjJRe3oxUfI6EYonfoRA@public.gmane.org \
--cc=rjw-KKrjLPT3xs0@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox