mirror_frr/zebra
Donald Sharp 0eaa6523f6 zebra: Do not allow old FPM to access freed memory after shutdown
On shutdown, the old FPM queues up dests to be sent to
the FPM listener.  This is done through the rib_shutdown
hook.  Which is called when the table that the routes are
stored in are being deleted.  This dest has pointers
to the rnode.  The rnode has pointers to the table it
is associated with as well as the table->info pointer for
the zebra data associated with this table.

The FPM after this attempts to tell this to it's listener
via events.  Unfortunately the zvrf, table_id and nl_pid
was being grabbed from memory that had been freed!  Since
all this can be grabbed from memory that has not been freed
on shutdown let's switch over to using that instead of freed
memory for gathering data.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-05-19 10:02:19 -04:00
..
dpdk isisd, zebra: Use array_size instead of ARRAY_SIZE 2023-03-31 13:58:47 -04:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
connected.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
connected.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug_nl.c *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
debug.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
debug.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
dplane_fpm_nl.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
if_ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_netlink.c zebra: Fix missing VRF flag 2023-05-01 20:21:37 +08:00
if_netlink.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
if_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
if_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
interface.c zebra: Fix missing VRF flag 2023-05-01 20:21:37 +08:00
interface.h Merge pull request #12959 from leonshaw/fix/zif-link-nsid 2023-04-11 16:38:33 -05:00
ioctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ioctl.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_proc.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward_sysctl.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ipforward.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
irdp_interface.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp_main.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp_packet.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
irdp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
kernel_netlink.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
kernel_netlink.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
kernel_socket.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
kernel_socket.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
label_manager.h *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
main.c zebra: Cleanup ctx leak on shutdown and turn off event 2023-03-31 09:09:21 -04:00
Makefile build: convert zebra/ to non-recursive build 2017-07-31 23:03:30 +02:00
netconf_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
netconf_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
redistribute.c zebra: re-install nhg on interface up 2023-05-05 14:37:52 -07:00
redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rib.h Merge pull request #13145 from donaldsharp/do_delete 2023-04-04 21:10:54 -05:00
router-id.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
router-id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt_netlink.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
rt_netlink.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rt_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rt.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rtadv.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
rtadv.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
rtread_netlink.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rtread_sysctl.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
rule_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rule_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
rule_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
sample_plugin.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
subdir.am Merge pull request #12494 from louis-6wind/ext_admin_group 2023-02-15 09:42:03 +01:00
table_manager.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
table_manager.h *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
tc_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
tc_netlink.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
tc_socket.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
testrib.conf zebra: Build the test client, can be useful, and add IPv6 to testrib.conf 2016-05-26 01:13:58 +00:00
zapi_msg.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
zapi_msg.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_affinitymap.c lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_affinitymap.h lib,zebra: add affinity-map configuration hooks 2023-02-10 13:52:01 +01:00
zebra_dplane.c zebra: Fix dp_out_queued counter to actually reflect real life 2023-05-12 11:34:56 -04:00
zebra_dplane.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
zebra_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_evpn_mac.c zebra:fix evpn dup detected local mac del event 2023-04-20 15:45:39 -07:00
zebra_evpn_mac.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_evpn_mh.c zebra:add df flag into evpn esi json output 2023-04-28 16:04:25 -07:00
zebra_evpn_mh.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_evpn_neigh.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_evpn_neigh.h *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_evpn_vxlan.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_evpn.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_evpn.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_fpm_dt.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm_netlink.c zebra: Do not allow old FPM to access freed memory after shutdown 2023-05-19 10:02:19 -04:00
zebra_fpm_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm_protobuf.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_fpm.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_gr.c zebra: null-check client pointer during GR processing 2023-04-05 12:30:52 -04:00
zebra_l2_bridge_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_l2_bridge_if.h zebra: multiple vlan aware bridge data structure and related changes 2023-02-13 18:12:04 -05:00
zebra_l2.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_l2.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_mlag_private.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_mlag_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mlag.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_mlag.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_netlink.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_null.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_openbsd.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mpls_vty.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
zebra_mpls.c zebra: mpls nexthop entry displays also interface when available 2023-05-09 21:00:57 +02:00
zebra_mpls.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_mroute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_mroute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_config.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_nb_rpcs.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nb_state.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_nb.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_nb.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_neigh.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_neigh.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_id.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_id.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_netns_notify.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
zebra_netns_notify.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_nhg.c zebra:re-install dependent nhgs on interface up 2023-05-05 14:37:52 -07:00
zebra_nhg.h zebra: re-install nhg on interface up 2023-05-05 14:37:52 -07:00
zebra_ns.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_ns.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_opaque.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
zebra_opaque.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_pbr.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_pbr.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm_redistribute.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm_redistribute.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_ptm.c zebra: Fix build error when --disable-bfdd 2023-05-17 18:47:23 +02:00
zebra_ptm.h ripd: support BFD integration 2023-04-19 09:15:01 -03:00
zebra_pw.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
zebra_pw.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
zebra_rib.c zebra: Reduce creation and fix memory leak of frrscripting pointers 2023-05-05 12:24:02 -04:00
zebra_rnh.c zebra: keep seg6local information from 'show ipv6 route' consistent with iproute2 2023-04-14 18:04:01 +02:00
zebra_rnh.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb_config.c zebra: remove checks for src address existence when using "set src" 2021-08-02 18:35:30 +03:00
zebra_routemap_nb.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap_nb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_routemap.c Merge pull request #12837 from donaldsharp/unlikely_routemap 2023-04-04 08:20:25 -04:00
zebra_routemap.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_router.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
zebra_router.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
zebra_script.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_script.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_snmp.c *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
zebra_srte.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srte.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_srv6.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_tc.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_tc.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_trace.c zebra: Add initial zebra tracepoint support 2022-04-20 09:39:47 -04:00
zebra_trace.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_vrf.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_vrf.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
zebra_vty.c zebra: Use zebra_vrf_lookup_by_id when we can 2023-03-28 15:49:50 -04:00
zebra_vxlan_if.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
zebra_vxlan_if.h zebra: Fix for mcast-group update and delete per vni for svd 2023-02-13 18:12:05 -05:00
zebra_vxlan_private.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zebra_vxlan.c zebra:return empty dict when evpn is disabled 2023-04-04 19:41:25 -07:00
zebra_vxlan.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
zserv.c zebra: remove current_afi as that it is no longer used 2023-03-29 15:40:56 -04:00
zserv.h zebra: remove current_afi as that it is no longer used 2023-03-29 15:40:56 -04:00