linux/tools/testing/selftests/drivers/net/netdevsim
Ido Schimmel 40823f3ee0 selftests: netdevsim: Add test cases for route deletion failure
Add IPv4 and IPv6 test cases that ensure that we are not leaking a
reference on the nexthop device when we are unable to delete its
associated route.

Without the fix in a previous patch ("netdevsim: fib: Fix reference
count leak on route deletion failure") both test cases get stuck,
waiting for the reference to be released from the dummy device [1][2].

[1]
unregister_netdevice: waiting for dummy1 to become free. Usage count = 5
leaked reference.
 fib_check_nh+0x275/0x620
 fib_create_info+0x237c/0x4d30
 fib_table_insert+0x1dd/0x1d20
 inet_rtm_newroute+0x11b/0x200
 rtnetlink_rcv_msg+0x43b/0xd20
 netlink_rcv_skb+0x15e/0x430
 netlink_unicast+0x53b/0x800
 netlink_sendmsg+0x945/0xe40
 ____sys_sendmsg+0x747/0x960
 ___sys_sendmsg+0x11d/0x190
 __sys_sendmsg+0x118/0x1e0
 do_syscall_64+0x34/0x80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

[2]
unregister_netdevice: waiting for dummy1 to become free. Usage count = 5
leaked reference.
 fib6_nh_init+0xc46/0x1ca0
 ip6_route_info_create+0x1167/0x19a0
 ip6_route_add+0x27/0x150
 inet6_rtm_newroute+0x161/0x170
 rtnetlink_rcv_msg+0x43b/0xd20
 netlink_rcv_skb+0x15e/0x430
 netlink_unicast+0x53b/0x800
 netlink_sendmsg+0x945/0xe40
 ____sys_sendmsg+0x747/0x960
 ___sys_sendmsg+0x11d/0x190
 __sys_sendmsg+0x118/0x1e0
 do_syscall_64+0x34/0x80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-07-29 12:21:02 +01:00
..
devlink_in_netns.sh selftests: test creating netdevsim inside network namespace 2019-10-05 16:34:15 -07:00
devlink_trap.sh testing: selftests: drivers: net: netdevsim: devlink: add test case for hard drop statistics 2021-06-14 13:04:25 -07:00
devlink.sh selftest: netdevsim: Add devlink rate grouping test 2021-06-02 14:08:37 -07:00
ethtool-coalesce.sh selftests: add ring and coalesce selftests 2020-11-20 12:51:54 -08:00
ethtool-common.sh selftests: net: test ethtool -L vs mq 2021-09-15 15:46:02 +01:00
ethtool-fec.sh selftests: ethtool: add a netdevsim FEC test 2021-03-31 14:15:23 -07:00
ethtool-pause.sh selftests: extract common functions in ethtool-common.sh 2020-11-20 12:51:54 -08:00
ethtool-ring.sh selftests: add ring and coalesce selftests 2020-11-20 12:51:54 -08:00
fib_notifications.sh selftests: netdevsim: Test route offload failure notifications 2021-02-08 16:47:03 -08:00
fib.sh selftests: netdevsim: Add test cases for route deletion failure 2022-07-29 12:21:02 +01:00
hw_stats_l3.sh selftests: netdevsim: Increase sleep time in hw_stats_l3.sh test 2022-05-18 14:06:50 +01:00
nexthop.sh selftests: devlink_lib: Fix bouncing of netdevsim DEVLINK_DEV 2021-06-08 14:39:07 -07:00
psample.sh selftests: devlink_lib: Fix bouncing of netdevsim DEVLINK_DEV 2021-06-08 14:39:07 -07:00
tc-mq-visibility.sh selftests: net: test ethtool -L vs mq 2021-09-15 15:46:02 +01:00
udp_tunnel_nic.sh selftests: net: add a test for static UDP tunnel ports 2020-09-28 12:50:12 -07:00