diff options
author | David S. Miller <davem@davemloft.net> | 2015-10-24 09:54:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-24 09:54:12 -0400 |
commit | ba3e2084f268bdfed7627046e58a2218037e15af (patch) | |
tree | 36b99da43ee72f81b31f0627dbfc69f50c97378f /net/tipc/msg.c | |
parent | a72c9512bf2bef12c5e66a4d910c4b348fe31d61 (diff) | |
parent | ce9d9b8e5c2b7486edf76958bcdb5e6534a915b0 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
net/ipv6/xfrm6_output.c
net/openvswitch/flow_netlink.c
net/openvswitch/vport-gre.c
net/openvswitch/vport-vxlan.c
net/openvswitch/vport.c
net/openvswitch/vport.h
The openvswitch conflicts were overlapping changes. One was
the egress tunnel info fix in 'net' and the other was the
vport ->send() op simplification in 'net-next'.
The xfrm6_output.c conflicts was also a simplification
overlapping a bug fix.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/msg.c')
-rw-r--r-- | net/tipc/msg.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/net/tipc/msg.c b/net/tipc/msg.c index 454f5ec275c8..26d38b3d8760 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c | |||
@@ -121,7 +121,7 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf) | |||
121 | { | 121 | { |
122 | struct sk_buff *head = *headbuf; | 122 | struct sk_buff *head = *headbuf; |
123 | struct sk_buff *frag = *buf; | 123 | struct sk_buff *frag = *buf; |
124 | struct sk_buff *tail; | 124 | struct sk_buff *tail = NULL; |
125 | struct tipc_msg *msg; | 125 | struct tipc_msg *msg; |
126 | u32 fragid; | 126 | u32 fragid; |
127 | int delta; | 127 | int delta; |
@@ -141,9 +141,15 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf) | |||
141 | if (unlikely(skb_unclone(frag, GFP_ATOMIC))) | 141 | if (unlikely(skb_unclone(frag, GFP_ATOMIC))) |
142 | goto err; | 142 | goto err; |
143 | head = *headbuf = frag; | 143 | head = *headbuf = frag; |
144 | skb_frag_list_init(head); | ||
145 | TIPC_SKB_CB(head)->tail = NULL; | ||
146 | *buf = NULL; | 144 | *buf = NULL; |
145 | TIPC_SKB_CB(head)->tail = NULL; | ||
146 | if (skb_is_nonlinear(head)) { | ||
147 | skb_walk_frags(head, tail) { | ||
148 | TIPC_SKB_CB(head)->tail = tail; | ||
149 | } | ||
150 | } else { | ||
151 | skb_frag_list_init(head); | ||
152 | } | ||
147 | return 0; | 153 | return 0; |
148 | } | 154 | } |
149 | 155 | ||