Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/bonding/bond_3ad.h drivers/net/bonding/bond_main.c Two minor conflicts in bonding, both of which were overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -192,6 +192,7 @@ static inline void k_term_timer(struct timer_list *timer)
|
||||
|
||||
struct tipc_skb_cb {
|
||||
void *handle;
|
||||
bool deferred;
|
||||
};
|
||||
|
||||
#define TIPC_SKB_CB(__skb) ((struct tipc_skb_cb *)&((__skb)->cb[0]))
|
||||
|
||||
@@ -1408,6 +1408,12 @@ static int link_recv_buf_validate(struct sk_buff *buf)
|
||||
u32 hdr_size;
|
||||
u32 min_hdr_size;
|
||||
|
||||
/* If this packet comes from the defer queue, the skb has already
|
||||
* been validated
|
||||
*/
|
||||
if (unlikely(TIPC_SKB_CB(buf)->deferred))
|
||||
return 1;
|
||||
|
||||
if (unlikely(buf->len < MIN_H_SIZE))
|
||||
return 0;
|
||||
|
||||
@@ -1717,6 +1723,7 @@ static void link_handle_out_of_seq_msg(struct tipc_link *l_ptr,
|
||||
&l_ptr->newest_deferred_in, buf)) {
|
||||
l_ptr->deferred_inqueue_sz++;
|
||||
l_ptr->stats.deferred_recv++;
|
||||
TIPC_SKB_CB(buf)->deferred = true;
|
||||
if ((l_ptr->deferred_inqueue_sz % 16) == 1)
|
||||
tipc_link_proto_xmit(l_ptr, STATE_MSG, 0, 0, 0, 0, 0);
|
||||
} else
|
||||
|
||||
Reference in New Issue
Block a user