diff options
author | Amerigo Wang <amwang@redhat.com> | 2013-02-19 22:51:30 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-20 15:11:44 -0500 |
commit | 68534c682e8f5c333f835818ca5a89d3e6288870 (patch) | |
tree | 5d5fd4ab1f3d0c33f3f4f654bf6328d3d7815e4b /net | |
parent | c6b538079723efd21b5fd7e3091dc47dbd0436c4 (diff) | |
download | op-kernel-dev-68534c682e8f5c333f835818ca5a89d3e6288870.zip op-kernel-dev-68534c682e8f5c333f835818ca5a89d3e6288870.tar.gz |
net: fix a wrong assignment in skb_split()
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.
Cc: Pravin B Shelar <pshelar@nicira.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <amwang@redhat.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/skbuff.c | 2 |
1 files changed, 1 insertions, 1 deletions
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. */ |