• Ido Schimmel's avatar
    selftests: netdevsim: Add test cases for route deletion failure · 40823f3e
    Ido Schimmel authored
    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: default avatarIdo Schimmel <idosch@nvidia.com>
    Reviewed-by: default avatarAmit Cohen <amcohen@nvidia.com>
    Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    40823f3e
fib.sh 7.54 KB