[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHA+R7OvQ0-=w+uSUZmYUi4t4gfBgW+iLGEX5zsRr8-r_6pGGQ@mail.gmail.com>
Date: Tue, 3 Nov 2015 10:30:20 -0800
From: Cong Wang <cwang@...pensource.com>
To: Sabrina Dubroca <sd@...asysnail.net>
Cc: netdev <netdev@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Hannes Frederic Sowa <hannes@...essinduktion.org>
Subject: Re: [PATCH net] ipv6: clean up dev_snmp6 proc entry when we fail to
initialize inet6_dev
On Tue, Nov 3, 2015 at 10:09 AM, Sabrina Dubroca <sd@...asysnail.net> wrote:
> In ipv6_add_dev, when addrconf_sysctl_register fails, we do not clean up
> the dev_snmp6 entry that we have already registered for this device.
>
> It is safe to call snmp6_unregister_dev unconditionally from
> in6_dev_finish_destroy, so do it.
>
> Reported-by: Dmitry Vyukov <dvyukov@...gle.com>
> Acked-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
> Signed-off-by: Sabrina Dubroca <sd@...asysnail.net>
> ---
> Dmitry, I'm not completely sure it's the issue you're triggering, but
> it sems likely.
>
> net/ipv6/addrconf_core.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/ipv6/addrconf_core.c b/net/ipv6/addrconf_core.c
> index bfa941fc1165..96248a333197 100644
> --- a/net/ipv6/addrconf_core.c
> +++ b/net/ipv6/addrconf_core.c
> @@ -168,6 +168,8 @@ void in6_dev_finish_destroy(struct inet6_dev *idev)
> pr_warn("Freeing alive inet6 device %p\n", idev);
> return;
> }
> +
> + snmp6_unregister_dev(idev);
> call_rcu(&idev->rcu, in6_dev_finish_destroy_rcu);
Hmm, but looks like we can't call a function from ipv6 module in a core file?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists