From 60bb4534270c4c931ac441e9ec7de9bf09e47401 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Wed, 23 Mar 2022 14:51:57 +0000 Subject: fib: Fix crash when removing a covering prefix Type: fix When a covering entry is removed from the table, the covered entries first see it 'updated' and then 'removed'. the crash occurs because the covered prefixes share (simple pointer copy) the covereds hash table of path extensions. During the cervers deletion this hash table has been removed and the update of the covered crashes when recaluationg forwarding becuase it uses the free'd hash. Fix is to refetch the shared hash table (which is NULL) when the covered is updated. Signed-off-by: Neale Ranns Change-Id: Icefca9d7b21da975111d0e974d75f663fc0cc00c --- src/vnet/mfib/mfib_entry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/vnet/mfib/mfib_entry.c') diff --git a/src/vnet/mfib/mfib_entry.c b/src/vnet/mfib/mfib_entry.c index 20945aa6781..244dd4fb206 100644 --- a/src/vnet/mfib/mfib_entry.c +++ b/src/vnet/mfib/mfib_entry.c @@ -499,7 +499,7 @@ mfib_entry_alloc (u32 fib_index, } static inline mfib_path_ext_t * -mfib_entry_path_ext_find (mfib_path_ext_t *exts, +mfib_entry_path_ext_find (uword *exts, fib_node_index_t path_index) { uword *p; -- cgit 1.2.3-korg