On Wed, 9 May 2007, James Lingard wrote:
If the ipv6 module is loaded, then destroying a tap interface that has recently been disabled will cause close to block (in unregister_netdevice) until precisely 30 seconds have elapsed since the interface was disabled.
I patched netdevice.h to dump a stack trace on calls to dev_hold and dev_put, and it appears that this bug is related to IPv6 neighbour discovery. The three references to the interface are finally released during a call to ndisc_dst_gc, at the following locations:
neigh_destroy+0x145/0x183 dst_destroy+0x56/0xf5 ndisc_dst_gc+0x39/0x67 [ipv6] fib6_run_gc+0x6b/0xbb [ipv6] run_timer_softirq+0x102/0x166 __do_softirq+0x5e/0xca do_softirq+0x5f/0xb6 in6_dev_finish_destroy+0x9f/0xd9 [ipv6] ip6_dst_destroy+0x29/0x2b [ipv6] dst_destroy+0x6d/0xf5 ndisc_dst_gc+0x39/0x67 [ipv6] fib6_run_gc+0x6b/0xbb [ipv6] run_timer_softirq+0x102/0x166 __do_softirq+0x5e/0xca do_softirq+0x5f/0xb6 dst_destroy+0xb2/0xf5 ndisc_dst_gc+0x39/0x67 [ipv6] fib6_run_gc+0x6b/0xbb [ipv6] run_timer_softirq+0x102/0x166 __do_softirq+0x5e/0xca do_softirq+0x5f/0xb6The complete relevant excerpt from /var/log/messages, showing the times and locations of all calls to dev_hold, dev_put and unregister_netdevice for this interface (corresponding to the execution of the Python script I attached in my previous email), is attached.
James.
May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=1 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c0232206>] register_netdevice+0x318/0x33e May 10 12:33:31 localhost kernel: [<e0829478>] tun_chr_ioctl+0x277/0x4ed [tun] May 10 12:33:31 localhost kernel: [<c0158ae9>] do_ioctl+0x51/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=2 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c023e4b3>] qdisc_alloc+0xcc/0xec May 10 12:33:31 localhost kernel: [<c023e4e2>] qdisc_create_dflt+0xf/0x3a May 10 12:33:31 localhost kernel: [<c023e53e>] dev_activate+0x31/0xd7 May 10 12:33:31 localhost kernel: [<c0233c14>] dev_open+0x4e/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=3 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c023755d>] neigh_parms_alloc+0xc5/0x108 May 10 12:33:31 localhost kernel: [<e0c3ba9d>] ipv6_add_dev+0xb3/0x1eb [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc21>] ipv6_find_idev+0x4c/0x68 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc7d>] addrconf_add_dev+0x40/0x5d [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c67e>] addrconf_notify+0x595/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=4 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<e0c3baf9>] ipv6_add_dev+0x10f/0x1eb [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc21>] ipv6_find_idev+0x4c/0x68 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc7d>] addrconf_add_dev+0x40/0x5d [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c67e>] addrconf_notify+0x595/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=5 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c02345a7>] dev_get_by_index+0x64/0x77 May 10 12:33:31 localhost kernel: [<e0c3e39f>] ip6_route_add+0x4b/0x704 [ipv6] May 10 12:33:31 localhost kernel: [<e0c39675>] addrconf_add_mroute+0x60/0x67 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc8a>] addrconf_add_dev+0x4d/0x5d [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c67e>] addrconf_notify+0x595/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=6 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c02345a7>] dev_get_by_index+0x64/0x77 May 10 12:33:31 localhost kernel: [<e0c3e39f>] ip6_route_add+0x4b/0x704 [ipv6] May 10 12:33:31 localhost kernel: [<e0c396e8>] addrconf_prefix_route+0x6c/0x74 [ipv6] May 10 12:33:31 localhost kernel: [<e0c39730>] addrconf_add_lroute+0x40/0x42 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3bc91>] addrconf_add_dev+0x54/0x5d [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c67e>] addrconf_notify+0x595/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_hold - refcount=7 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c02345a7>] dev_get_by_index+0x64/0x77 May 10 12:33:31 localhost kernel: [<e0c3e39f>] ip6_route_add+0x4b/0x704 [ipv6] May 10 12:33:31 localhost kernel: [<e0c396e8>] addrconf_prefix_route+0x6c/0x74 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3b7d3>] addrconf_dad_start+0x45/0xdb [ipv6] May 10 12:33:31 localhost kernel: [<e0c3b899>] addrconf_add_linklocal+0x30/0x47 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c6b4>] addrconf_notify+0x5cb/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:31 localhost kernel: test1: dev_put - refcount=6 May 10 12:33:31 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:31 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:31 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:31 localhost kernel: [<c023606f>] dst_destroy+0xb2/0xf5 May 10 12:33:31 localhost kernel: [<e0c41015>] fib6_add+0x4bd/0x4f2 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3e343>] __ip6_ins_rt+0x2b/0x3c [ipv6] May 10 12:33:31 localhost kernel: [<e0c3e9a1>] ip6_route_add+0x64d/0x704 [ipv6] May 10 12:33:31 localhost kernel: [<e0c396e8>] addrconf_prefix_route+0x6c/0x74 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3b7d3>] addrconf_dad_start+0x45/0xdb [ipv6] May 10 12:33:31 localhost kernel: [<e0c3b899>] addrconf_add_linklocal+0x30/0x47 [ipv6] May 10 12:33:31 localhost kernel: [<e0c3c6b4>] addrconf_notify+0x5cb/0x77d [ipv6] May 10 12:33:31 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:31 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:31 localhost kernel: [<c0233c25>] dev_open+0x5f/0x66 May 10 12:33:31 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:31 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:31 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:31 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:31 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:31 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:31 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:31 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:31 localhost kernel: ======================= May 10 12:33:32 localhost kernel: test1: dev_hold - refcount=7 May 10 12:33:32 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:32 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:32 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:32 localhost kernel: [<e0c4003c>] ndisc_dst_alloc+0xc6/0x193 [ipv6] May 10 12:33:32 localhost kernel: [<e0c44295>] ndisc_send_ns+0x93/0x4a9 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3cccf>] addrconf_dad_timer+0xc6/0xe0 [ipv6] May 10 12:33:32 localhost kernel: [<c01212fc>] run_timer_softirq+0x102/0x166 May 10 12:33:32 localhost kernel: [<c011e00d>] __do_softirq+0x5e/0xca May 10 12:33:32 localhost kernel: [<c0105d60>] do_softirq+0x5f/0xb6 May 10 12:33:32 localhost kernel: ======================= May 10 12:33:32 localhost kernel: test1: dev_hold - refcount=8 May 10 12:33:32 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:32 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:32 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:32 localhost kernel: [<c023831a>] neigh_create+0x2fd/0x516 May 10 12:33:32 localhost kernel: [<e0c40070>] ndisc_dst_alloc+0xfa/0x193 [ipv6] May 10 12:33:32 localhost kernel: [<e0c44295>] ndisc_send_ns+0x93/0x4a9 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3cccf>] addrconf_dad_timer+0xc6/0xe0 [ipv6] May 10 12:33:32 localhost kernel: [<c01212fc>] run_timer_softirq+0x102/0x166 May 10 12:33:32 localhost kernel: [<c011e00d>] __do_softirq+0x5e/0xca May 10 12:33:32 localhost kernel: [<c0105d60>] do_softirq+0x5f/0xb6 May 10 12:33:32 localhost kernel: ======================= May 10 12:33:32 localhost kernel: test1: dev_put - refcount=7 May 10 12:33:32 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:32 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:32 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:32 localhost kernel: [<c023606f>] dst_destroy+0xb2/0xf5 May 10 12:33:32 localhost kernel: [<e0c408fc>] fib6_del+0x3c7/0x403 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40960>] fib6_clean_node+0x28/0x83 [ipv6] May 10 12:33:32 localhost kernel: [<e0c402e9>] fib6_walk_continue+0x7e/0xe5 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40391>] fib6_walk+0x41/0x72 [ipv6] May 10 12:33:32 localhost kernel: [<e0c403e6>] fib6_clean_tree+0x24/0x26 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40448>] fib6_clean_all+0x46/0x78 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3d87b>] rt6_ifdown+0x11/0x13 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3aa60>] addrconf_ifdown+0x5c/0x209 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3c7d5>] addrconf_notify+0x6ec/0x77d [ipv6] May 10 12:33:32 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:32 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:32 localhost kernel: [<c02330b8>] dev_close+0x60/0x65 May 10 12:33:32 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:32 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:32 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:32 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:32 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:32 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:32 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:32 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:32 localhost kernel: ======================= May 10 12:33:32 localhost kernel: test1: dev_put - refcount=6 May 10 12:33:32 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:32 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:32 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:32 localhost kernel: [<c023606f>] dst_destroy+0xb2/0xf5 May 10 12:33:32 localhost kernel: [<e0c408fc>] fib6_del+0x3c7/0x403 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40960>] fib6_clean_node+0x28/0x83 [ipv6] May 10 12:33:32 localhost kernel: [<e0c402e9>] fib6_walk_continue+0x7e/0xe5 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40391>] fib6_walk+0x41/0x72 [ipv6] May 10 12:33:32 localhost kernel: [<e0c403e6>] fib6_clean_tree+0x24/0x26 [ipv6] May 10 12:33:32 localhost kernel: [<e0c40448>] fib6_clean_all+0x46/0x78 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3d87b>] rt6_ifdown+0x11/0x13 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3aa60>] addrconf_ifdown+0x5c/0x209 [ipv6] May 10 12:33:32 localhost kernel: [<e0c3c7d5>] addrconf_notify+0x6ec/0x77d [ipv6] May 10 12:33:32 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:32 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:32 localhost kernel: [<c02330b8>] dev_close+0x60/0x65 May 10 12:33:32 localhost kernel: [<c02323e3>] dev_change_flags+0x50/0xf0 May 10 12:33:32 localhost kernel: [<c026cd17>] devinet_ioctl+0x235/0x542 May 10 12:33:32 localhost kernel: [<c026d664>] inet_ioctl+0x73/0x91 May 10 12:33:32 localhost kernel: [<c0229885>] sock_ioctl+0x19b/0x1b8 May 10 12:33:32 localhost kernel: [<c0158aba>] do_ioctl+0x22/0x68 May 10 12:33:32 localhost kernel: [<c0158d43>] vfs_ioctl+0x243/0x256 May 10 12:33:32 localhost kernel: [<c0158d87>] sys_ioctl+0x31/0x4a May 10 12:33:32 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:32 localhost kernel: ======================= May 10 12:33:49 localhost kernel: test1: dev_put - refcount=5 May 10 12:33:49 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:49 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:49 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:49 localhost kernel: [<c023e35c>] qdisc_destroy+0xad/0xc1 May 10 12:33:49 localhost kernel: [<c023e39d>] dev_shutdown+0x2d/0x67 May 10 12:33:49 localhost kernel: [<c02331d5>] unregister_netdevice+0x118/0x217 May 10 12:33:49 localhost kernel: [<e08291c4>] tun_chr_close+0x5e/0x69 [tun] May 10 12:33:49 localhost kernel: [<c014fbff>] __fput+0xbd/0x160 May 10 12:33:49 localhost kernel: [<c014fcb9>] fput+0x17/0x19 May 10 12:33:49 localhost kernel: [<c014d680>] filp_close+0x54/0x5c May 10 12:33:49 localhost kernel: [<c014e69a>] sys_close+0x78/0xb0 May 10 12:33:49 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:49 localhost kernel: ======================= May 10 12:33:49 localhost kernel: test1: dev_put - refcount=4 May 10 12:33:49 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:49 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:49 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:49 localhost kernel: [<c0239496>] neigh_parms_release+0x8d/0xbf May 10 12:33:49 localhost kernel: [<e0c3abbe>] addrconf_ifdown+0x1ba/0x209 [ipv6] May 10 12:33:49 localhost kernel: [<e0c3c7d5>] addrconf_notify+0x6ec/0x77d [ipv6] May 10 12:33:49 localhost kernel: [<c0124dcb>] notifier_call_chain+0x20/0x31 May 10 12:33:49 localhost kernel: [<c0124df8>] raw_notifier_call_chain+0x8/0xa May 10 12:33:49 localhost kernel: [<c02331e6>] unregister_netdevice+0x129/0x217 May 10 12:33:49 localhost kernel: [<e08291c4>] tun_chr_close+0x5e/0x69 [tun] May 10 12:33:49 localhost kernel: [<c014fbff>] __fput+0xbd/0x160 May 10 12:33:49 localhost kernel: [<c014fcb9>] fput+0x17/0x19 May 10 12:33:49 localhost kernel: [<c014d680>] filp_close+0x54/0x5c May 10 12:33:49 localhost kernel: [<c014e69a>] sys_close+0x78/0xb0 May 10 12:33:49 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:49 localhost kernel: ======================= May 10 12:33:49 localhost kernel: test1: dev_put - refcount=3 May 10 12:33:49 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:33:49 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:33:49 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:33:49 localhost kernel: [<c02332b2>] unregister_netdevice+0x1f5/0x217 May 10 12:33:49 localhost kernel: [<e08291c4>] tun_chr_close+0x5e/0x69 [tun] May 10 12:33:49 localhost kernel: [<c014fbff>] __fput+0xbd/0x160 May 10 12:33:49 localhost kernel: [<c014fcb9>] fput+0x17/0x19 May 10 12:33:49 localhost kernel: [<c014d680>] filp_close+0x54/0x5c May 10 12:33:49 localhost kernel: [<c014e69a>] sys_close+0x78/0xb0 May 10 12:33:49 localhost kernel: [<c0102f76>] sysenter_past_esp+0x5f/0x89 May 10 12:33:49 localhost kernel: ======================= May 10 12:33:49 localhost kernel: test1: netdev_wait_allrefs - refcount=3 May 10 12:33:59 localhost last message repeated 37 times May 10 12:34:00 localhost kernel: unregister_netdevice: waiting for test1 to become free. Usage count = 3 May 10 12:34:00 localhost kernel: test1: netdev_wait_allrefs - refcount=3 May 10 12:34:02 localhost last message repeated 9 times May 10 12:34:02 localhost kernel: test1: dev_put - refcount=2 May 10 12:34:02 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:34:02 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:34:02 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:34:02 localhost kernel: [<c02378d3>] neigh_destroy+0x145/0x183 May 10 12:34:02 localhost kernel: [<c0236013>] dst_destroy+0x56/0xf5 May 10 12:34:02 localhost kernel: [<e0c40142>] ndisc_dst_gc+0x39/0x67 [ipv6] May 10 12:34:02 localhost kernel: [<e0c404e5>] fib6_run_gc+0x6b/0xbb [ipv6] May 10 12:34:02 localhost kernel: [<c01212fc>] run_timer_softirq+0x102/0x166 May 10 12:34:02 localhost kernel: [<c011e00d>] __do_softirq+0x5e/0xca May 10 12:34:02 localhost kernel: [<c0105d60>] do_softirq+0x5f/0xb6 May 10 12:34:02 localhost kernel: ======================= May 10 12:34:02 localhost kernel: test1: dev_put - refcount=1 May 10 12:34:02 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:34:02 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:34:02 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:34:02 localhost kernel: [<e0c3a402>] in6_dev_finish_destroy+0x9f/0xd9 [ipv6] May 10 12:34:02 localhost kernel: [<e0c3fec0>] ip6_dst_destroy+0x29/0x2b [ipv6] May 10 12:34:02 localhost kernel: [<c023602a>] dst_destroy+0x6d/0xf5 May 10 12:34:02 localhost kernel: [<e0c40142>] ndisc_dst_gc+0x39/0x67 [ipv6] May 10 12:34:02 localhost kernel: [<e0c404e5>] fib6_run_gc+0x6b/0xbb [ipv6] May 10 12:34:02 localhost kernel: [<c01212fc>] run_timer_softirq+0x102/0x166 May 10 12:34:02 localhost kernel: [<c011e00d>] __do_softirq+0x5e/0xca May 10 12:34:02 localhost kernel: [<c0105d60>] do_softirq+0x5f/0xb6 May 10 12:34:02 localhost kernel: ======================= May 10 12:34:02 localhost kernel: test1: dev_put - refcount=0 May 10 12:34:02 localhost kernel: [<c0104529>] show_trace_log_lvl+0x1a/0x2f May 10 12:34:02 localhost kernel: [<c0104bdd>] show_trace+0x12/0x14 May 10 12:34:02 localhost kernel: [<c0104c8f>] dump_stack+0x16/0x18 May 10 12:34:02 localhost kernel: [<c023606f>] dst_destroy+0xb2/0xf5 May 10 12:34:02 localhost kernel: [<e0c40142>] ndisc_dst_gc+0x39/0x67 [ipv6] May 10 12:34:02 localhost kernel: [<e0c404e5>] fib6_run_gc+0x6b/0xbb [ipv6] May 10 12:34:02 localhost kernel: [<c01212fc>] run_timer_softirq+0x102/0x166 May 10 12:34:02 localhost kernel: [<c011e00d>] __do_softirq+0x5e/0xca May 10 12:34:02 localhost kernel: [<c0105d60>] do_softirq+0x5f/0xb6 May 10 12:34:02 localhost kernel: ======================= May 10 12:34:02 localhost kernel: test1: netdev_wait_allrefs done