On Thu, 18 Feb 2016 15:35:42 -0500 (EST)
David Miller <da...@davemloft.net> wrote:

> From: Linus Lüssing <linus.luess...@c0d3.blue>
> Date: Mon, 15 Feb 2016 03:07:06 +0100
> 
> > @@ -4084,10 +4089,22 @@ struct sk_buff *skb_checksum_trimmed(struct sk_buff 
> > *skb,
> >     if (!pskb_may_pull(skb_chk, offset))
> >             goto err;
> >  
> > -   __skb_pull(skb_chk, offset);
> > +   ip_summed = skb->ip_summed;
> > +   csum_valid = skb->csum_valid;
> > +   csum_level = skb->csum_level;
> > +   csum_bad = skb->csum_bad;
> > +   csum = skb->csum;
> > +
> > +   skb_pull_rcsum(skb_chk, offset);
> >     ret = skb_chkf(skb_chk);
> >     __skb_push(skb_chk, offset);
> >  
> > +   skb->ip_summed = ip_summed;
> > +   skb->csum_valid = csum_valid;
> > +   skb->csum_level = csum_level;
> > +   skb->csum_bad = csum_bad;
> > +   skb->csum = csum;
> > +
> 
> There really has to be a better way to fix this :-/

Agreed, this is gross.

Reply via email to