Add dead_bpf_if structure, that should be used as fake bpf_if during ifnet detach. Since destroying interface is not atomic operation and due to the lack of synhronization during destroy, it is possible, that in the time between bpfdetach() and if_free() some queued on destroying interface mbuf will be used by ether_input_internal() and bpf_peers_present() can dereference NULL bpf_if pointer. To protect from this, assign pointer to empty bpf_if_ext structure instead of NULL pointer after bpfdetach().
Details
Details
- Reviewers
melifaro glebius eugen_grosbein.net - Group Reviewers
network - Commits
- rS332812: Add dead_bpf_if structure, that should be used as fake bpf_if
Diff Detail
Diff Detail
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 16157 Build 16110: arc lint + arc unit