summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2013-10-22 10:59:18 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-04 04:35:13 -0800
commitcef1e66ef92e7821e58e7dc32a2b764541a74ff4 (patch)
tree9d2e73df7ade44d02fd883d668e698fc7e2b3ae3 /net
parent3365bb990a76d4d7dd4b36202aa7ade95bde7c70 (diff)
sit: amend "allow to use rtnl ops on fb tunnel"
Amend backport to 3.11.y of [ Upstream commit 205983c43700ac3a81e7625273a3fa83cd2759b5 ] The discussion thread in the upstream commit mentions that in backports to stable-* branches, the line - unregister_netdevice_queue(sitn->fb_tunnel_dev, &list); must be omitted if that branch does not have commit 5e6700b3bf98 ("sit: add support of x-netns"). This line has correctly been omitted in the backport to 3.10, which indeed does not have that commit. It was also removed in the backport to 3.11.y, which does have that commit. This causes the following steps to hit a BUG at net/core/dev.c:5039: `modprobe sit; rmmod sit` The bug demonstrates that it causes a device to be unregistered twice. The simple fix is to apply the one line in the upstream commit that was dropped in the backport to 3.11 (3783100374653e2e7fbdf68c710f5). This brings the logic in line with upstream linux, net and net-next branches. Signed-off-by: Willem de Bruijn <willemb@google.com> Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Reviewed-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/ipv6/sit.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index 86f639ba5407..a51ad079ee58 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -1708,7 +1708,6 @@ static void __net_exit sit_exit_net(struct net *net)
rtnl_lock();
sit_destroy_tunnels(sitn, &list);
- unregister_netdevice_queue(sitn->fb_tunnel_dev, &list);
unregister_netdevice_many(&list);
rtnl_unlock();
}