X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=net%2Ftipc%2Fudp_media.c;h=ad2719ad4c1baf38cd8e31b244fe703382da002a;hb=527d1529e38b36fd22e65711b653ab773179d9e8;hp=816914ef228dac5fff2433ebdc8ca957173dc19d;hpb=b3bcb1b27203c24fbf181748cec6eec10419678d;p=firefly-linux-kernel-4.4.55.git 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 @@ #include #include "core.h" #include "bearer.h" +#include "msg.h" /* IANA assigned UDP port */ #define UDP_PORT_DEFAULT 6118 @@ -220,6 +221,10 @@ static int tipc_udp_recv(struct sock *sk, struct sk_buff *skb) { struct udp_bearer *ub; struct tipc_bearer *b; + int usr = msg_user(buf_msg(skb)); + + if ((usr == LINK_PROTOCOL) || (usr == NAME_DISTRIBUTOR)) + skb_linearize(skb); ub = rcu_dereference_sk_user_data(sk); if (!ub) {