netfilter: Add the missed return value check of nft_register_chain_type
There are some codes of netfilter module which did not check the return value of nft_register_chain_type. Add the checks now. Signed-off-by: Gao Feng <fgao@ikuai8.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
4e6577de71
Коммит
23d07508d2
|
@ -139,12 +139,20 @@ static int __init nf_tables_bridge_init(void)
|
|||
int ret;
|
||||
|
||||
nf_register_afinfo(&nf_br_afinfo);
|
||||
nft_register_chain_type(&filter_bridge);
|
||||
ret = nft_register_chain_type(&filter_bridge);
|
||||
if (ret < 0)
|
||||
goto err1;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_bridge_net_ops);
|
||||
if (ret < 0) {
|
||||
nft_unregister_chain_type(&filter_bridge);
|
||||
nf_unregister_afinfo(&nf_br_afinfo);
|
||||
}
|
||||
if (ret < 0)
|
||||
goto err2;
|
||||
|
||||
return ret;
|
||||
|
||||
err2:
|
||||
nft_unregister_chain_type(&filter_bridge);
|
||||
err1:
|
||||
nf_unregister_afinfo(&nf_br_afinfo);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,10 @@ static int __init nf_tables_arp_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
nft_register_chain_type(&filter_arp);
|
||||
ret = nft_register_chain_type(&filter_arp);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_arp_net_ops);
|
||||
if (ret < 0)
|
||||
nft_unregister_chain_type(&filter_arp);
|
||||
|
|
|
@ -103,7 +103,10 @@ static int __init nf_tables_ipv4_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
nft_register_chain_type(&filter_ipv4);
|
||||
ret = nft_register_chain_type(&filter_ipv4);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_ipv4_net_ops);
|
||||
if (ret < 0)
|
||||
nft_unregister_chain_type(&filter_ipv4);
|
||||
|
|
|
@ -100,7 +100,10 @@ static int __init nf_tables_ipv6_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
nft_register_chain_type(&filter_ipv6);
|
||||
ret = nft_register_chain_type(&filter_ipv6);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_ipv6_net_ops);
|
||||
if (ret < 0)
|
||||
nft_unregister_chain_type(&filter_ipv6);
|
||||
|
|
|
@ -82,7 +82,10 @@ static int __init nf_tables_inet_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
nft_register_chain_type(&filter_inet);
|
||||
ret = nft_register_chain_type(&filter_inet);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_inet_net_ops);
|
||||
if (ret < 0)
|
||||
nft_unregister_chain_type(&filter_inet);
|
||||
|
|
|
@ -149,7 +149,10 @@ static int __init nf_tables_netdev_init(void)
|
|||
{
|
||||
int ret;
|
||||
|
||||
nft_register_chain_type(&nft_filter_chain_netdev);
|
||||
ret = nft_register_chain_type(&nft_filter_chain_netdev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = register_pernet_subsys(&nf_tables_netdev_net_ops);
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче