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