AltraMayor / AltraMayor/gatekeeper
Free mbuf memory pools
- Dominant language
- C
- Stars
- 1.6k
- Forks
- 252
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.