Re: [PATCH v3 net-next 00/23] net: add preliminary netdev refcount tracking
flat view
From: Eric Dumazet <hidden>
Date: 2021-12-07 00:04:33
On Mon, Dec 6, 2021 at 4:00 PM Andrew Lunn [off-list ref] wrote:
On Mon, Dec 06, 2021 at 03:44:57PM -0800, Eric Dumazet wrote:quoted
On Mon, Dec 6, 2021 at 3:24 PM Andrew Lunn [off-list ref] wrote:quoted
On Sat, Dec 04, 2021 at 08:21:54PM -0800, Eric Dumazet wrote:quoted
From: Eric Dumazet <redacted> Two first patches add a generic infrastructure, that will be used to get tracking of refcount increments/decrements.Hi Eric Using this i found: [ 774.108901] unregister_netdevice: waiting for eth0 to become free. Usage count = 4 [ 774.110864] leaked reference. [ 774.110874] dst_alloc+0x7a/0x180 [ 774.110887] ip6_dst_alloc+0x27/0x90 [ 774.110894] ip6_pol_route+0x257/0x430 [ 774.110900] ip6_pol_route_output+0x19/0x20 [ 774.110905] fib6_rule_lookup+0x18b/0x270 [ 774.110914] ip6_route_output_flags_noref+0xaa/0x110 [ 774.110918] ip6_route_output_flags+0x32/0xa0 [ 774.110922] ip6_dst_lookup_tail.constprop.0+0x181/0x240 [ 774.110929] ip6_dst_lookup_flow+0x43/0xa0 [ 774.110934] inet6_csk_route_socket+0x166/0x200 [ 774.110943] inet6_csk_xmit+0x56/0x130 [ 774.110946] __tcp_transmit_skb+0x53b/0xc30 [ 774.110953] __tcp_send_ack.part.0+0xc6/0x1a0 [ 774.110958] tcp_send_ack+0x1c/0x20 [ 774.110964] __tcp_ack_snd_check+0x42/0x200 [ 774.110968] tcp_rcv_established+0x27a/0x6f0 [ 774.110973] leaked reference. [ 774.110975] ipv6_add_dev+0x13e/0x4f0 [ 774.110982] addrconf_notify+0x2ca/0x950 [ 774.110989] raw_notifier_call_chain+0x49/0x60 [ 774.111000] call_netdevice_notifiers_info+0x50/0x90 [ 774.111007] __dev_change_net_namespace+0x30d/0x6c0 [ 774.111016] do_setlink+0xdc/0x10b0 [ 774.111024] __rtnl_newlink+0x608/0xa10 [ 774.111031] rtnl_newlink+0x49/0x70 [ 774.111038] rtnetlink_rcv_msg+0x14f/0x380 [ 774.111046] netlink_rcv_skb+0x55/0x100 [ 774.111053] rtnetlink_rcv+0x15/0x20 [ 774.111059] netlink_unicast+0x230/0x340 [ 774.111064] netlink_sendmsg+0x252/0x4b0 [ 774.111075] sock_sendmsg+0x65/0x70 [ 774.111080] ____sys_sendmsg+0x24e/0x290 [ 774.111084] ___sys_sendmsg+0x81/0xc0 I'm using GNS3 to simulate a network topology. So a collection of veth pairs, bridges and tap interfaces spread over a few namespaces. The network being simulated uses Segment Routing. And traceroute might also involved in this somehow. I have 3 patches applied, to make traceroute actually work when SRv6 is being used. You can find v3 here: https://lore.kernel.org/netdev/20211203162926.3680281-3-andrew@lunn.ch/T/ (local) I'm not sure if these patches are part of the problem or not. None of the traces i've seen are directly on the ICMP path. traceroute is using udp, and one of the traces above is for tcp, and the other looks like it is moving an interface into a different namespace? This is net-next from today.I do not understand, net-next does not contain this stuff yet ?Hi Eric I'm getting warnings like: unregister_netdevice: waiting for eth0 to become free. Usage count = 4 which is what your patchset is supposed to help fix. So i applied what has been posted so far, in the hope it would find the issue. It is reporting something...
I thought you were telling me that you got these new reports after the patch set being applied ? Or were they happening because of your other changes ?
quoted
I have other patches, this work is still in progress.Is what is currently posted usable? Do these traces above point at the real problem i have, or because there are more patches, i should not trust the output?
I think I have not worked yet on the XFRM side in patch set 1. Are you using XFRM ?