diff options
Diffstat (limited to 'net/tipc/udp_media.c')
-rw-r--r-- | net/tipc/udp_media.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c index 816914ef228d..ad2719ad4c1b 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <linux/tipc_netlink.h> | 48 | #include <linux/tipc_netlink.h> |
49 | #include "core.h" | 49 | #include "core.h" |
50 | #include "bearer.h" | 50 | #include "bearer.h" |
51 | #include "msg.h" | ||
51 | 52 | ||
52 | /* IANA assigned UDP port */ | 53 | /* IANA assigned UDP port */ |
53 | #define UDP_PORT_DEFAULT 6118 | 54 | #define UDP_PORT_DEFAULT 6118 |
@@ -220,6 +221,10 @@ static int tipc_udp_recv(struct sock *sk, struct sk_buff *skb) | |||
220 | { | 221 | { |
221 | struct udp_bearer *ub; | 222 | struct udp_bearer *ub; |
222 | struct tipc_bearer *b; | 223 | struct tipc_bearer *b; |
224 | int usr = msg_user(buf_msg(skb)); | ||
225 | |||
226 | if ((usr == LINK_PROTOCOL) || (usr == NAME_DISTRIBUTOR)) | ||
227 | skb_linearize(skb); | ||
223 | 228 | ||
224 | ub = rcu_dereference_sk_user_data(sk); | 229 | ub = rcu_dereference_sk_user_data(sk); |
225 | if (!ub) { | 230 | if (!ub) { |