From: David Ahern <[email protected]>
Date: Wed, 7 Jun 2017 12:26:23 -0600
> Roopa reported attempts to delete a bond device that is referenced in a
> multipath route is hanging:
>
> $ ifdown bond2 # ifupdown2 command that deletes virtual devices
> unregister_netdevice: waiting for bond2 to become free. Usage count = 2
>
> Steps to reproduce:
> echo 1 > /proc/sys/net/ipv6/conf/all/ignore_routes_with_linkdown
> ip link add dev bond12 type bond
> ip link add dev bond13 type bond
> ip addr add 2001:db8:2::0/64 dev bond12
> ip addr add 2001:db8:3::0/64 dev bond13
> ip route add 2001:db8:33::0/64 nexthop via 2001:db8:2::2 nexthop via
> 2001:db8:3::2
> ip link del dev bond12
> ip link del dev bond13
>
> The root cause is the recent change to keep routes on a linkdown. Update
> the check to detect when the device is unregistering and release the
> route for that case.
>
> Fixes: a1a22c12060e4 ("net: ipv6: Keep nexthop of multipath route on admin
> down")
> Reported-by: Roopa Prabhu <[email protected]>
> Signed-off-by: David Ahern <[email protected]>
Applied and queued up for -stable, thanks David.