gatekeeper icon indicating copy to clipboard operation
gatekeeper copied to clipboard

Free mbuf memory pools

Open AltraMayor opened this issue 1 year ago • 0 comments

Flesh out include/gatekeeper_net.h:destroy_mempool() using rte_mempool_free(). This change will require reviewing the functions that release resources at termination because the current code does not account for the proper release of mbuf memory pools. A simple test of this change produces a segmentation fault while Gatekeeper is shutting down with the following (simplified) backtrace: ... -> bond_mode_8023ad_periodic_cb() -> ... -> rte_is_zero_ether_addr(). The probable cause of this segmentation fault is that memory pools are being released before the underlying interfaces are cleared.

The code review should also consider the possibility of assigning NULL to variables after the release of the associated resources to increase the chances of quickly identifying bugs in the future.

It is worth pointing out that this issue is not a problem since associated memory is automatically released once Gatekeeper terminates, so there is no immediate demand for it. However, it is a nice feature since it tightens the code.

AltraMayor avatar Jul 25 '24 15:07 AltraMayor