Patchwork [3.5.y.z,extended,stable] Patch "ipv6: assign rt6_info to inet6_ifaddr in init_loopback" has been added to staging queue

mail settings
Submitter Luis Henriques
Date June 24, 2013, 8:19 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/253718/
State New
Headers show


Luis Henriques - June 24, 2013, 8:19 a.m.
This is a note to let you know that I have just added a patch titled

    ipv6: assign rt6_info to inet6_ifaddr in init_loopback

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see



From 348c34c9a9b58509e969de0018b469bd25d20e70 Mon Sep 17 00:00:00 2001
From: Gao feng <>
Date: Sun, 2 Jun 2013 22:16:21 +0000
Subject: [PATCH] ipv6: assign rt6_info to inet6_ifaddr in init_loopback

commit 534c877928a16ae5f9776436a497109639bf67dc upstream.

Commit 25fb6ca4ed9cad72f14f61629b68dc03c0d9713f
"net IPv6 : Fix broken IPv6 routing table after loopback down-up"
forgot to assign rt6_info to the inet6_ifaddr.
When disable the net device, the rt6_info which allocated
in init_loopback will not be destroied in __ipv6_ifa_notify.

This will trigger the waring message below
[23527.916091] unregister_netdevice: waiting for tap0 to become free. Usage count = 1

Reported-by: Arkadiusz Miskiewicz <>
Signed-off-by: Gao feng <>
Signed-off-by: David S. Miller <>
Signed-off-by: Luis Henriques <>
 net/ipv6/addrconf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)



diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 2078f4e..f67075b 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2435,8 +2435,10 @@  static void init_loopback(struct net_device *dev)
 			sp_rt = addrconf_dst_alloc(idev, &sp_ifa->addr, 0);

 			/* Failure cases are ignored */
-			if (!IS_ERR(sp_rt))
+			if (!IS_ERR(sp_rt)) {
+				sp_ifa->rt = sp_rt;
+			}