On Thu, 2017-08-17 at 22:21 -0700, David Miller wrote:
> From: Eric Dumazet <[email protected]>
> Date: Thu, 17 Aug 2017 15:30:40 -0700
>
> > So we do not really know if we need to clean up or not.
>
> We always know, the answer is that whenever register_netdev() fails we
> never need to perform any cleanup which is done by priv_destructor.
>
> > Any idea how to fix the issue ?
>
> Your patch is exactly how we should fix this, but without the comment.
> The logic is straightforward.
>
> If register_netdevice() fails any resources handled by priv_destructor
> are cleaned up, it is guaranteed.
Not in current code.
There are some failures which do a "goto out;"
out:
return ret;
In these cases, priv_destructor is not called.
So we need multiple fixes I think :/