diff options
Diffstat (limited to 'net/tipc/udp_media.c')
| -rw-r--r-- | net/tipc/udp_media.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c index ad2719ad4c1b..70c03271b798 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c @@ -158,8 +158,11 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb,  	struct udp_media_addr *src = (struct udp_media_addr *)&b->addr.value;  	struct rtable *rt; -	if (skb_headroom(skb) < UDP_MIN_HEADROOM) -		pskb_expand_head(skb, UDP_MIN_HEADROOM, 0, GFP_ATOMIC); +	if (skb_headroom(skb) < UDP_MIN_HEADROOM) { +		err = pskb_expand_head(skb, UDP_MIN_HEADROOM, 0, GFP_ATOMIC); +		if (err) +			goto tx_error; +	}  	skb_set_inner_protocol(skb, htons(ETH_P_TIPC));  	ub = rcu_dereference_rtnl(b->media_ptr); |