From: Mirsad Goran Todorovac <mirsad.todorovac@xxxxxxxxxxxx> Date: Tue, 14 Mar 2023 21:10:55 +0100 > On 14. 03. 2023. 17:02, Eric Dumazet wrote: > > On Tue, Mar 14, 2023 at 9:01 AM Mirsad Todorovac > > <mirsad.todorovac@xxxxxxxxxxxx> wrote: > > > >> After a while, kernel message start looping: > >> > >> kernel:unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > >> > >> Message from syslogd@pc-mtodorov at Mar 14 16:57:15 ... > >> kernel:unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > >> > >> Message from syslogd@pc-mtodorov at Mar 14 16:57:24 ... > >> kernel:unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > >> > >> Message from syslogd@pc-mtodorov at Mar 14 16:57:26 ... > >> kernel:unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > >> > >> This hangs processes until very late stage of shutdown. > >> > >> I can confirm that CONFIG_DEBUG_{KOBJECT,KOBJECT_RELEASE}=y were the only changes > >> to .config in between builds. KOBJECT_RELEASE delays freeing kobject with delayed_work. In the failing tests, e.g. reattach_delete_close, we create a tun dev and do 1. detach (tun_detach()) 2. re-attach (tun_attach()) 3. close . We release kobjects (tun->dev->(_tx|_rx).kobj) in 1. and recycle the same memory region in 2. But the kobjects are not actually released due to the delay, thus netdev_queue_add_kobject() and rx_queue_add_kobject() fail. ---8<--- # RUN tun.reattach_delete_close ... [ 179.087589] kobject: 'tx-1' (00000000ee182e2f): kobject_release, parent 000000000643eb5f (delayed 3000) [ 179.088105] kobject: 'rx-1' (000000001c44852d): kobject_release, parent 000000000643eb5f (delayed 1000) [ 179.089097] kobject (00000000ee182e2f): tried to init an initialized object, something is seriously wrong. ---8<--- However, we don't assume the delay and also the failure in tun_set_real_num_queues(). In this case, we have to re-initialise the queues without touching kobjects. Eric, Are you working on this? If not, let me try fixing this :) Thanks, Kuniyuki > >> > >> Best regards, > >> Mirsad > >> > > > > Try adding in your config > > > > CONFIG_NET_DEV_REFCNT_TRACKER=y > > CONFIG_NET_NS_REFCNT_TRACKER=y > > > > Thanks. > > Not at all. > > According to the info here: https://cateee.net/lkddb/web-lkddb/NET_DEV_REFCNT_TRACKER.html > no kerenel param was needed. > > I have got the same hang, and additional debug information appears to be this > (in /var/log/messages): > > Mar 14 20:58:20 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:20 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:20 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:20 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:20 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:20 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:20 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:20 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:20 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:20 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:20 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:20 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:20 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:20 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:20 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:20 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:20 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:20 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:20 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:20 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:20 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:20 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:20 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:20 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:20 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:20 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:20 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:20 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:20 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:20 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:20 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:20 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:20 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:30 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:30 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:30 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:30 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:30 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:30 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:30 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:30 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:30 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:30 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:30 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:30 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:30 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:30 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:30 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:30 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:30 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:30 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:30 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:30 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:30 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:30 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:30 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:30 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:30 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:30 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:30 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:30 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:30 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:30 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:30 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:30 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:30 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:40 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:40 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:40 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:40 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:40 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:40 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:40 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:40 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:40 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:40 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:40 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:40 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:40 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:40 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:40 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:40 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:40 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:40 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:40 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:40 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:40 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:40 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:40 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:40 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:40 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:40 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:40 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:40 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:40 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:40 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:40 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:40 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:40 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:50 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:50 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:50 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:50 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:50 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:50 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:50 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:50 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:50 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:50 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:50 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:50 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:50 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:50 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:50 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:50 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:50 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:58:50 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:50 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:58:50 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:58:50 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:50 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:50 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:50 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:50 pc-mtodorov kernel: leaked reference. > Mar 14 20:58:50 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:58:50 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:58:50 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:58:50 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:58:50 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:58:50 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:58:50 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:58:50 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:58:57 pc-mtodorov kernel: kmemleak: 1 new suspected memory leaks (see /sys/kernel/debug/kmemleak) > Mar 14 20:59:00 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:59:00 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:00 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:59:00 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:59:00 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:59:00 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:00 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:00 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:00 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:00 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:00 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:00 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:59:00 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:59:00 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:59:00 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:00 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:00 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:00 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:00 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:01 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:59:01 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:01 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:59:01 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:59:01 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:59:01 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:01 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:01 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:01 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:01 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:01 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:01 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:59:01 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:59:01 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:59:01 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:01 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:01 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:01 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:01 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:10 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:59:10 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:10 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:59:10 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:59:10 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:59:10 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:10 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:10 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:10 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:10 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:10 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:10 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:59:10 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:59:10 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:59:10 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:10 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:10 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:10 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:10 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:11 pc-mtodorov kernel: unregister_netdevice: waiting for tap0 to become free. Usage count = 3 > Mar 14 20:59:11 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:11 pc-mtodorov kernel: net_rx_queue_update_kobjects+0x75/0x1d0 > Mar 14 20:59:11 pc-mtodorov kernel: netif_set_real_num_rx_queues+0x5b/0xb0 > Mar 14 20:59:11 pc-mtodorov kernel: tun_attach+0x1ec/0x5a0 > Mar 14 20:59:11 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:11 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:11 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:11 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:11 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > Mar 14 20:59:11 pc-mtodorov kernel: leaked reference. > Mar 14 20:59:11 pc-mtodorov kernel: netdev_queue_update_kobjects+0x86/0x190 > Mar 14 20:59:11 pc-mtodorov kernel: netif_set_real_num_tx_queues+0x86/0x250 > Mar 14 20:59:11 pc-mtodorov kernel: tun_attach+0x1d7/0x5a0 > Mar 14 20:59:11 pc-mtodorov kernel: __tun_chr_ioctl+0xa58/0x17d0 > Mar 14 20:59:11 pc-mtodorov kernel: tun_chr_ioctl+0x17/0x20 > Mar 14 20:59:11 pc-mtodorov kernel: __x64_sys_ioctl+0x97/0xd0 > Mar 14 20:59:11 pc-mtodorov kernel: do_syscall_64+0x5c/0x90 > Mar 14 20:59:11 pc-mtodorov kernel: entry_SYSCALL_64_after_hwframe+0x72/0xdc > [root@pc-mtodorov marvin]# > > I see those "leaked reference" lines are being printed here: > https://elixir.bootlin.com/linux/v6.3-rc2/source/lib/ref_tracker.c#L55 > > However, it is beyond the scope of my knowledge to track the actual leak. > > Hope this helps. > > Best regards, > Mirsad > > -- > Mirsad Goran Todorovac > Sistem inženjer > Grafički fakultet | Akademija likovnih umjetnosti > Sveučilište u Zagrebu > > System engineer > Faculty of Graphic Arts | Academy of Fine Arts > University of Zagreb, Republic of Croatia > The European Union