]> git.proxmox.com Git - mirror_frr.git/commit
ospf6d: Fix ABR brouter calculation corruption
authorChirag Shah <chirag@cumulusnetworks.com>
Mon, 7 May 2018 17:16:08 +0000 (10:16 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Tue, 8 May 2018 22:36:44 +0000 (15:36 -0700)
commita2d0055aac3725eb253f3c07f33624a8a3eb15ca
tree5c8156a98a551db1110bfaedc956fac878056a26
parent99ab28cb0279a52c339723f2eed1bd6318171ec8
ospf6d: Fix ABR brouter calculation corruption

During Intra brouter calculation, brouters will be
marked for remove. if one of the brouter is removed,
as part of its remove callback, ospf6_abr_examin_summary
is performed where marked for brouter would be removed.
Since refcount of next brouter node still higher, it will
retain one node with dangled next brouter pointer.
When intra brouter calculation iteration goes to next node,
where accessing free node causes a crash.

Ticket:CM-20807
Testing Done:
Configure multilple ABR routers between area 0 and area x, y.
Remove ospf6 configuration on area x, y abrs and check area 0
Intra brouter calculations.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
ospf6d/ospf6_abr.c
ospf6d/ospf6_area.h
ospf6d/ospf6_intra.c
ospf6d/ospf6_route.c