net/batman-adv/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Check, if rtnl_link_register() call in batadv_init() was successful
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: a4ac28c0d06a ("batman-adv: Allow to use rntl_link for device creation/deletion")
Signed-off-by: Artem Chernyshev <artem.chernyshev@red-soft.ru>
---
net/batman-adv/main.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index e8a449915566..04cd9682bd29 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -113,7 +113,11 @@ static int __init batadv_init(void)
goto err_create_wq;
register_netdevice_notifier(&batadv_hard_if_notifier);
- rtnl_link_register(&batadv_link_ops);
+ ret = rtnl_link_register(&batadv_link_ops);
+ if (ret) {
+ pr_err("Can't register link_ops\n");
+ goto err_create_wq;
+ }
batadv_netlink_register();
pr_info("B.A.T.M.A.N. advanced %s (compatibility version %i) loaded\n",
--
2.30.3
Subject is missing something like ..." after calling rtnl_link_register()" or ..."s during module initialization". On Sunday, 25 December 2022 00:33:11 CET Artem Chernyshev wrote: [...] > diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c > index e8a449915566..04cd9682bd29 100644kwin > @@ -113,7 +113,11 @@ static int __init batadv_init(void) > goto err_create_wq; > > register_netdevice_notifier(&batadv_hard_if_notifier); > - rtnl_link_register(&batadv_link_ops); > + ret = rtnl_link_register(&batadv_link_ops); > + if (ret) { > + pr_err("Can't register link_ops\n"); > + goto err_create_wq; > + } > batadv_netlink_register(); > > pr_info("B.A.T.M.A.N. advanced %s (compatibility version %i) loaded\n", > This looks wrong to me. You missed to destroy the batadv_hard_if_notifier in this case. And if you want to start adding the checks, you should also have added it for batadv_v_init, batadv_iv_init, batadv_nc_init, batadv_tp_meter_init and register_netdevice_notifier. You can use the unfinished patch from Markus Pargmann as starting point. Kind regards, Sven [1] https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/1419594103-10928-6-git-send-email-mpa@pengutronix.de/ https://lists.open-mesh.org/mailman3/hyperkitty/list/b.a.t.m.a.n@lists.open-mesh.org/thread/QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR/#QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR
Hi, On Sun, Dec 25, 2022 at 07:37:28AM +0100, Sven Eckelmann wrote: > Subject is missing something like ..." after calling rtnl_link_register()" or > ..."s during module initialization". > > On Sunday, 25 December 2022 00:33:11 CET Artem Chernyshev wrote: > [...] > > diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c > > index e8a449915566..04cd9682bd29 100644kwin > > @@ -113,7 +113,11 @@ static int __init batadv_init(void) > > goto err_create_wq; > > > > register_netdevice_notifier(&batadv_hard_if_notifier); > > - rtnl_link_register(&batadv_link_ops); > > + ret = rtnl_link_register(&batadv_link_ops); > > + if (ret) { > > + pr_err("Can't register link_ops\n"); > > + goto err_create_wq; > > + } > > batadv_netlink_register(); > > > > pr_info("B.A.T.M.A.N. advanced %s (compatibility version %i) loaded\n", > > > > This looks wrong to me. You missed to destroy the batadv_hard_if_notifier in > this case. > > And if you want to start adding the checks, you should also have added it for > batadv_v_init, batadv_iv_init, batadv_nc_init, batadv_tp_meter_init and > register_netdevice_notifier. You can use the unfinished patch from Markus > Pargmann as starting point. > > Kind regards, > Sven > > [1] https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/1419594103-10928-6-git-send-email-mpa@pengutronix.de/ > https://lists.open-mesh.org/mailman3/hyperkitty/list/b.a.t.m.a.n@lists.open-mesh.org/thread/QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR/#QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR Thanks for review, I'll try to fix the errors in v2 Best, Artem
© 2016 - 2025 Red Hat, Inc.