Re: [PATCH] leds: trigger: netdev: fix refcnt leak on interface rename

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 2019-02-28 22:57:33, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@xxxxxxxxxx>
> 
> Renaming a netdev-trigger-tracked interface was resulting in an
> unbalanced dev_hold().
> 
> Example:
> > iw phy phy0 interface add foo type __ap
> > echo netdev > trigger
> > echo foo > device_name
> > ip link set foo name bar
> > iw dev bar del
> [  237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1
> [  247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1
> [  257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1
> 
> Above problem was caused by trigger checking a dev->name which obviously
> changes after renaming an interface. It meant missing all further events
> including the NETDEV_UNREGISTER which is required for calling dev_put().
> 
> This change fixes that by:
> 1) Comparing device struct *address* for notification-filtering purposes
> 2) Dropping unneeded NETDEV_CHANGENAME code (no behavior change)
> 
> Fixes: 06f502f57d0d ("leds: trigger: Introduce a NETDEV trigger")
> Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>

Acked-by: Pavel Machek <pavel@xxxxxx>

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux