Subject: Re: [Patch] net: fix a wrong assignment in skb_split()

From: Greg Rose <[email-masked]>
Date: Wed, 20 Feb 2013 13:32:21 -0800

On Wed, 20 Feb 2013 10:42:18 -0800
Pravin Shelar <[email-masked]> wrote:

> On Wed, Feb 20, 2013 at 12:51 AM, Cong Wang <[email-masked]> wrote:
> > commit c9af6db4c11ccc6c3e7f1 (net: Fix possible wrong checksum
> > generation) has a suspicous piece:
> >
> >         -       skb_shinfo(skb1)->gso_type =
> > skb_shinfo(skb)->gso_type; -
> >         +       skb_shinfo(skb)->tx_flags =
> > skb_shinfo(skb1)->tx_flags & SKBTX_SHARED_FRAG;
> >
> > skb1 is the new skb, therefore should be on the left side of the
> > assignment. This patch fixes it.

It looks to me like skb1 is on the right side of the assignment?

- Greg

> >
> > Cc: Pravin B Shelar <[email-masked]>
> > Cc: David S. Miller <[email-masked]>
> > Signed-off-by: Cong Wang <[email-masked]>
> >
> Looks good.
> 
> Acked-by: Pravin B Shelar <[email-masked]>
> 
> > ---
> > diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> > index 2a3ca33..33245ef 100644
> > --- a/net/core/skbuff.c
> > +++ b/net/core/skbuff.c
> > @@ -2326,7 +2326,7 @@ void skb_split(struct sk_buff *skb, struct
> > sk_buff *skb1, const u32 len) {
> >         int pos = skb_headlen(skb);
> >
> > -       skb_shinfo(skb)->tx_flags = skb_shinfo(skb1)->tx_flags &
> > SKBTX_SHARED_FRAG;
> > +       skb_shinfo(skb1)->tx_flags = skb_shinfo(skb)->tx_flags &
> > SKBTX_SHARED_FRAG; if (len < pos)  /* Split line is inside header.
> > */ skb_split_inside_header(skb, skb1, len, pos);
> >         else            /* Second chunk has no header, nothing to
> > copy. */
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html