diff options
author | Donald Sharp <sharpd@nvidia.com> | 2023-08-11 15:53:42 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@nvidia.com> | 2023-08-11 16:11:10 +0200 |
commit | 1e8ac95bfb757b85d02514dd0f708974cdc22899 (patch) | |
tree | 70bb000542680a8a0b0ccff01c723b92f333f62e /bgpd/bgp_evpn.c | |
parent | Merge pull request #14171 from mjstapp/fix_bgp_lblpool_indent (diff) | |
download | frr-1e8ac95bfb757b85d02514dd0f708974cdc22899.tar.xz frr-1e8ac95bfb757b85d02514dd0f708974cdc22899.zip |
bgpd: evpn code was not properly unlocking rd_dest
Found some code where bgp was not unlocking the dest
and rd_dest when walking the tree attempting to
find something to install.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'bgpd/bgp_evpn.c')
-rw-r--r-- | bgpd/bgp_evpn.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 35f243892..3442eee1e 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -3757,8 +3757,11 @@ static int install_uninstall_routes_for_vrf(struct bgp *bgp_vrf, int install) pi = pi->next) { ret = bgp_evpn_route_entry_install_if_vrf_match( bgp_vrf, pi, install); - if (ret) + if (ret) { + bgp_dest_unlock_node(rd_dest); + bgp_dest_unlock_node(dest); return ret; + } } } } |