mctp: Fix an error handling path in mctp_init()
If mctp_neigh_init() return error, the routes resources should
be released in the error handling path. Otherwise some resources
leak.
Fixes: 4d8b931928
("mctp: Add neighbour implementation")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Matt Johnston <matt@codeconstruct.com.au>
Link: https://lore.kernel.org/r/20221108095517.620115-1-weiyongjun@huaweicloud.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
dcea1a8107
commit
d4072058af
|
@ -665,12 +665,14 @@ static __init int mctp_init(void)
|
||||||
|
|
||||||
rc = mctp_neigh_init();
|
rc = mctp_neigh_init();
|
||||||
if (rc)
|
if (rc)
|
||||||
goto err_unreg_proto;
|
goto err_unreg_routes;
|
||||||
|
|
||||||
mctp_device_init();
|
mctp_device_init();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_unreg_routes:
|
||||||
|
mctp_routes_exit();
|
||||||
err_unreg_proto:
|
err_unreg_proto:
|
||||||
proto_unregister(&mctp_proto);
|
proto_unregister(&mctp_proto);
|
||||||
err_unreg_sock:
|
err_unreg_sock:
|
||||||
|
|
|
@ -1400,7 +1400,7 @@ int __init mctp_routes_init(void)
|
||||||
return register_pernet_subsys(&mctp_net_ops);
|
return register_pernet_subsys(&mctp_net_ops);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __exit mctp_routes_exit(void)
|
void mctp_routes_exit(void)
|
||||||
{
|
{
|
||||||
unregister_pernet_subsys(&mctp_net_ops);
|
unregister_pernet_subsys(&mctp_net_ops);
|
||||||
rtnl_unregister(PF_MCTP, RTM_DELROUTE);
|
rtnl_unregister(PF_MCTP, RTM_DELROUTE);
|
||||||
|
|
Loading…
Reference in New Issue