Message ID | 1322858880.2762.69.camel@edumazet-laptop |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 63170e2..492b917 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1125,11 +1125,12 @@ int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) return -ENOMEM; /* If len == headlen, we avoid __skb_pull to preserve alignment. */ - if (unlikely(len < skb_headlen(skb))) + if (unlikely(len < skb_headlen(skb))) { + len &= ~3; __skb_pull(skb, len); - else + } else { __pskb_trim_head(skb, len - skb_headlen(skb)); - + } TCP_SKB_CB(skb)->seq += len; skb->ip_summed = CHECKSUM_PARTIAL;