Re: [PATCH] batman-adv: Check return value

From: Sven Eckelmann
Date: Sun Dec 25 2022 - 02:01:55 EST


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@xxxxxxxxxxxxxx/
https://lists.open-mesh.org/mailman3/hyperkitty/list/b.a.t.m.a.n@xxxxxxxxxxxxxxxxxxx/thread/QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR/#QDX46YARWUC4R7OBFHR5OJKWQIXDQWRR

Attachment: signature.asc
Description: This is a digitally signed message part.