tipc: fix the error handling in tipc_udp_enable()
commit a5de125dd46c851fc962806135953c1bd0a0f0df upstream.
Fix to return a negative error code in enable_mcast() error handling
case, and release udp socket when necessary.
Fixes: d0f91938be
("tipc: add ip/udp media type")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
302257df96
commit
720ef97e3c
1 changed files with 4 additions and 1 deletions
|
@ -405,10 +405,13 @@ static int tipc_udp_enable(struct net *net, struct tipc_bearer *b,
|
||||||
tuncfg.encap_destroy = NULL;
|
tuncfg.encap_destroy = NULL;
|
||||||
setup_udp_tunnel_sock(net, ub->ubsock, &tuncfg);
|
setup_udp_tunnel_sock(net, ub->ubsock, &tuncfg);
|
||||||
|
|
||||||
if (enable_mcast(ub, remote))
|
err = enable_mcast(ub, remote);
|
||||||
|
if (err)
|
||||||
goto err;
|
goto err;
|
||||||
return 0;
|
return 0;
|
||||||
err:
|
err:
|
||||||
|
if (ub->ubsock)
|
||||||
|
udp_tunnel_sock_release(ub->ubsock);
|
||||||
kfree(ub);
|
kfree(ub);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue