netdev
[Top] [All Lists]

Re: 2.6.7-rc3: unregister_netdevice: waiting for tun0 to become free. Us

To: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>
Subject: Re: 2.6.7-rc3: unregister_netdevice: waiting for tun0 to become free. Usage count = 1
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Thu, 17 Jun 2004 10:53:24 -0700
Cc: herbert@xxxxxxxxxxxxxxxxxxx, schwab@xxxxxxx, netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <20040617172449.GA10303@xxxxxxxxxxxxx>
References: <20040614042216.GA28669@xxxxxxxxxxxxxxxxxxx> <20040614102858.GA12343@xxxxxxxxxxxxxxxxxxx> <20040614124402.GA28519@xxxxxxxxxxxxxxxxxxx> <20040616193731.GB29781@xxxxxxxxxxxxx> <20040616130950.6aadde3c.davem@xxxxxxxxxx> <20040616203748.GA30675@xxxxxxxxxxxxx> <20040616134711.499209c9.davem@xxxxxxxxxx> <20040617081722.GA8559@xxxxxxxxxxxxxxxxxxx> <20040617083303.GA8810@xxxxxxxxxxxxxxxxxxx> <20040617101016.44512cb1.davem@xxxxxxxxxx> <20040617172449.GA10303@xxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 17 Jun 2004 21:24:49 +0400
Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> wrote:

> Actually, he noticed right thing. I forgot that this function
> works in context when dev, which is argument is of the function,
> is held, so dev_put() here can be safely replaced with __dev_put().
> 
> So, synchonize_kernel() can be moved somewhere to unregister_netdevice(),
> (maybe, it is already present there under surface)

It occurs, via synchronize_net(), but this happens before NETDEV_UNREGISTER
event is sent out.  Is it sufficient?  I think not, and that we need to
add another call in unregister_netdevice() right before final dev_put().

<Prev in Thread] Current Thread [Next in Thread>