aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r--net/tipc/socket.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 922b75ff56d3..a7b3e1a070e4 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -2151,6 +2151,7 @@ static void tipc_sk_filter_rcv(struct sock *sk, struct sk_buff *skb,
2151 struct tipc_msg *hdr = buf_msg(skb); 2151 struct tipc_msg *hdr = buf_msg(skb);
2152 struct net *net = sock_net(sk); 2152 struct net *net = sock_net(sk);
2153 struct sk_buff_head inputq; 2153 struct sk_buff_head inputq;
2154 int mtyp = msg_type(hdr);
2154 int limit, err = TIPC_OK; 2155 int limit, err = TIPC_OK;
2155 2156
2156 trace_tipc_sk_filter_rcv(sk, skb, TIPC_DUMP_ALL, " "); 2157 trace_tipc_sk_filter_rcv(sk, skb, TIPC_DUMP_ALL, " ");
@@ -2164,7 +2165,7 @@ static void tipc_sk_filter_rcv(struct sock *sk, struct sk_buff *skb,
2164 if (unlikely(grp)) 2165 if (unlikely(grp))
2165 tipc_group_filter_msg(grp, &inputq, xmitq); 2166 tipc_group_filter_msg(grp, &inputq, xmitq);
2166 2167
2167 if (msg_type(hdr) == TIPC_MCAST_MSG) 2168 if (unlikely(!grp) && mtyp == TIPC_MCAST_MSG)
2168 tipc_mcast_filter_msg(&tsk->mc_method.deferredq, &inputq); 2169 tipc_mcast_filter_msg(&tsk->mc_method.deferredq, &inputq);
2169 2170
2170 /* Validate and add to receive buffer if there is space */ 2171 /* Validate and add to receive buffer if there is space */