netlabel: Use genl_register_family_with_ops()
Use genl_register_family_with_ops() instead of a copy. This fixes genetlink family leak on error path. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8f698d5453
Коммит
7ae740df3a
|
@ -785,18 +785,6 @@ static struct genl_ops netlbl_cipsov4_ops[] = {
|
|||
*/
|
||||
int __init netlbl_cipsov4_genl_init(void)
|
||||
{
|
||||
int ret_val, i;
|
||||
|
||||
ret_val = genl_register_family(&netlbl_cipsov4_gnl_family);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(netlbl_cipsov4_ops); i++) {
|
||||
ret_val = genl_register_ops(&netlbl_cipsov4_gnl_family,
|
||||
&netlbl_cipsov4_ops[i]);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return genl_register_family_with_ops(&netlbl_cipsov4_gnl_family,
|
||||
netlbl_cipsov4_ops, ARRAY_SIZE(netlbl_cipsov4_ops));
|
||||
}
|
||||
|
|
|
@ -779,18 +779,6 @@ static struct genl_ops netlbl_mgmt_genl_ops[] = {
|
|||
*/
|
||||
int __init netlbl_mgmt_genl_init(void)
|
||||
{
|
||||
int ret_val, i;
|
||||
|
||||
ret_val = genl_register_family(&netlbl_mgmt_gnl_family);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(netlbl_mgmt_genl_ops); i++) {
|
||||
ret_val = genl_register_ops(&netlbl_mgmt_gnl_family,
|
||||
&netlbl_mgmt_genl_ops[i]);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return genl_register_family_with_ops(&netlbl_mgmt_gnl_family,
|
||||
netlbl_mgmt_genl_ops, ARRAY_SIZE(netlbl_mgmt_genl_ops));
|
||||
}
|
||||
|
|
|
@ -1478,20 +1478,8 @@ static struct genl_ops netlbl_unlabel_genl_ops[] = {
|
|||
*/
|
||||
int __init netlbl_unlabel_genl_init(void)
|
||||
{
|
||||
int ret_val, i;
|
||||
|
||||
ret_val = genl_register_family(&netlbl_unlabel_gnl_family);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(netlbl_unlabel_genl_ops); i++) {
|
||||
ret_val = genl_register_ops(&netlbl_unlabel_gnl_family,
|
||||
&netlbl_unlabel_genl_ops[i]);
|
||||
if (ret_val != 0)
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return genl_register_family_with_ops(&netlbl_unlabel_gnl_family,
|
||||
netlbl_unlabel_genl_ops, ARRAY_SIZE(netlbl_unlabel_genl_ops));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче