summaryrefslogtreecommitdiffstats
path: root/net/tipc/link.c
diff options
context:
space:
mode:
authorMike Turquette2014-02-25 07:21:29 +0100
committerMike Turquette2014-02-25 07:21:29 +0100
commit10b7cdc0084c27a312e59e80420c6aac70c64753 (patch)
treeee891d6236bcd8dc988624839760aaa1846cf906 /net/tipc/link.c
parentclk: Correct handling of NULL clk in __clk_{get, put} (diff)
parentclk: shmobile: Fix typo in MSTP clock DT bindings (diff)
downloadkernel-qcow2-linux-10b7cdc0084c27a312e59e80420c6aac70c64753.tar.gz
kernel-qcow2-linux-10b7cdc0084c27a312e59e80420c6aac70c64753.tar.xz
kernel-qcow2-linux-10b7cdc0084c27a312e59e80420c6aac70c64753.zip
Merge branch 'clocks/fixes/drivers' of git://linuxtv.org/pinchartl/fbdev into clk-fixes
Diffstat (limited to 'net/tipc/link.c')
-rw-r--r--net/tipc/link.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c
index d4b5de41b682..da6018beb6eb 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -1391,6 +1391,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;
@@ -1703,6 +1709,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_send_proto_msg(l_ptr, STATE_MSG, 0, 0, 0, 0, 0);
} else