Resolves: RHEL-12039 - crash in plist update
Signed-off-by: Andreas Karis <ak.karis@gmail.com>
This commit is contained in:
parent
1c03760757
commit
1ec0bd103f
48
0017-fix-crash-in-plist-update.patch
Normal file
48
0017-fix-crash-in-plist-update.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
From 0f9e4c4a36cf2b0dd585a7ef97acccb8eebdf7bd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chirag Shah <chirag@nvidia.com>
|
||||||
|
Date: Mon, 25 Jan 2021 11:44:56 -0800
|
||||||
|
Subject: [PATCH] lib: fix a crash in plist update
|
||||||
|
|
||||||
|
Problem:
|
||||||
|
Prefix-list with mulitiple rules, an update to
|
||||||
|
a rule/sequence with different prefix/prefixlen
|
||||||
|
reset prefix-list next-base pointer to avoid
|
||||||
|
having stale value.
|
||||||
|
|
||||||
|
In some case the old next-bast's reference leads
|
||||||
|
to an assert in tri (trie_install_fn ) add.
|
||||||
|
|
||||||
|
bt:
|
||||||
|
(object=0x55576a4c8a00, updptr=0x55576a4b97e0) at lib/plist.c:560
|
||||||
|
(plist=0x55576a4a1770, pentry=0x55576a4c8a00) at lib/plist.c:585
|
||||||
|
(ple=0x55576a4c8a00) at lib/plist.c:745
|
||||||
|
(args=0x7fffe04beb50) at lib/filter_nb.c:1181
|
||||||
|
|
||||||
|
Solution:
|
||||||
|
Reset prefix-list next-base pointer whenver a
|
||||||
|
sequence/rule is updated.
|
||||||
|
|
||||||
|
Ticket:CM-33109
|
||||||
|
Testing Done:
|
||||||
|
|
||||||
|
Signed-off-by: Chirag Shah <chirag@nvidia.com>
|
||||||
|
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
|
||||||
|
(cherry picked from commit f7f101156eb0e225f375f12cf4f863ebbe3fed03)
|
||||||
|
---
|
||||||
|
lib/plist.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/lib/plist.c b/lib/plist.c
|
||||||
|
index 981e86e2a..c746d1946 100644
|
||||||
|
--- a/lib/plist.c
|
||||||
|
+++ b/lib/plist.c
|
||||||
|
@@ -684,6 +684,7 @@ void prefix_list_entry_update_start(struct prefix_list_entry *ple)
|
||||||
|
if (pl->head || pl->tail || pl->desc)
|
||||||
|
pl->master->recent = pl;
|
||||||
|
|
||||||
|
+ ple->next_best = NULL;
|
||||||
|
ple->installed = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
6
frr.spec
6
frr.spec
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
Name: frr
|
Name: frr
|
||||||
Version: 7.5.1
|
Version: 7.5.1
|
||||||
Release: 14%{?checkout}%{?dist}
|
Release: 15%{?checkout}%{?dist}
|
||||||
Summary: Routing daemon
|
Summary: Routing daemon
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.frrouting.org
|
URL: http://www.frrouting.org
|
||||||
@ -56,6 +56,7 @@ Patch0013: 0013-CVE-2022-37032.patch
|
|||||||
Patch0014: 0014-bfd-profile-crash.patch
|
Patch0014: 0014-bfd-profile-crash.patch
|
||||||
Patch0015: 0015-max-ttl-reload.patch
|
Patch0015: 0015-max-ttl-reload.patch
|
||||||
Patch0016: 0016-CVE-2023-38802.patch
|
Patch0016: 0016-CVE-2023-38802.patch
|
||||||
|
Patch0017: 0017-fix-crash-in-plist-update.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
FRRouting is free software that manages TCP/IP based routing protocols. It takes
|
FRRouting is free software that manages TCP/IP based routing protocols. It takes
|
||||||
@ -276,6 +277,9 @@ make check PYTHON=%{__python3}
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Oct 19 2023 Andreas Karis <akaris@redhat.com> - 7.5.1-15
|
||||||
|
- Resolves: RHEL-12039 - crash in plist update
|
||||||
|
|
||||||
* Fri Oct 13 2023 Michal Ruprich <mruprich@redhat.com> - 7.5.1-14
|
* Fri Oct 13 2023 Michal Ruprich <mruprich@redhat.com> - 7.5.1-14
|
||||||
- Resolves: RHEL-6617 - Incorrect handling of a error in parsing of an invalid section of a BGP update can de-peer a router
|
- Resolves: RHEL-6617 - Incorrect handling of a error in parsing of an invalid section of a BGP update can de-peer a router
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user