[SRU][F][PATCH 0/1] vrf: fix refcnt leak with vxlan slaves

Luke Nowakowski-Krijger luke.nowakowskikrijger at canonical.com
Mon Oct 4 18:41:08 UTC 2021


This is a backport request by Nicolas Dichtel <nicolas.dichtel at 6wind.com>

BugLink: https://bugs.launchpad.net/bugs/1945180

[Impact]

There are cases, where deleting a VRF device can hang waiting for the refcnt
to drop to 0, with the message:
  unregister_netdevice: waiting for vrf1 to become free. Usage count = 1

This is fixed upstream with commit b87b04f5019e 
("ipv4: Fix device used for dst_alloc with local routes"), included in linux 
v5.13. The original patch, which has introduced the bug, is included in 
linux v4.10.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b87b04f5019e

[Test Case]

Reproduced the bug with the upstream test case which also is the test added
to fib_tests.sh. Confirmed that after the patch was applied the test case does
not hang and successfully removes VRF device. 

[Regression Potential]

Relatively straightforward in that it links a new dst to a vrf device
isntead of the loopback if there is a valid nexthop device.

David Ahern (1):
  ipv4: Fix device used for dst_alloc with local routes

 net/ipv4/route.c                         | 16 ++++++++++++++-
 tools/testing/selftests/net/fib_tests.sh | 25 ++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletion(-)

-- 
2.30.2




More information about the kernel-team mailing list