ipv6: fix refcnt problem related to POSTDAD state
commit03b965ed6e985cd528b5a2eda0b2ddcb9fd542ef
authorUrsula Braun <ursula.braun@de.ibm.com>
Sun, 24 Oct 2010 23:06:43 +0000 (24 23:06 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 22 Nov 2010 19:00:06 +0000 (22 11:00 -0800)
treebd0aa31c5f071f093401e64755793941a5373816
parentf75c81af1527ad2a4d413ee03c55afdc681e4392
ipv6: fix refcnt problem related to POSTDAD state

[ Upstream commit 801715f95be37b865af83b9909ad93da141a9306 ]

After running this bonding setup script
    modprobe bonding miimon=100 mode=0 max_bonds=1
    ifconfig bond0 10.1.1.1/16
    ifenslave bond0 eth1
    ifenslave bond0 eth3
on s390 with qeth-driven slaves, modprobe -r fails with this message
    unregister_netdevice: waiting for bond0 to become free. Usage count = 1
due to twice detection of duplicate address.
Problem is caused by a missing decrease of ifp->refcnt in addrconf_dad_failure.
An extra call of in6_ifa_put(ifp) solves it.
Problem has been introduced with commit f2344a131bccdbfc5338e17fa71a807dee7944fa.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv6/addrconf.c