Remove duplicated epoch_enter and epoch_exit in IP inp/outp routines. Remove unnecessary macros as well.
Details
Details
- Reviewers
mw glebius - Commits
- rG77223d98b6f8: ip_mroute: refactor epoch-basd locking
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Why do you still require the epoch to enter X_ip_mrouter_done? Epoch isn't required to write to a pointer that points at data protected by epoch.
Comment Actions
Do we still need include <netinet/ip_mroute.h> in ip_input.c and ip_output.c after this change?
Comment Actions
Updated.
There is still a potential race between rip_detach and handling MRT_DONE (both call ip_mrouter_done). AFAIK these functions are not used at the same time so its highly unlikely this ever happen - I've never seen it so far.
I'm planning to further refactor ip_mroute.c to avoid this kind of issues, but not in this commit.