We have some code at $work that opens bpf(4) devices. It has to handle EBUSY because of this line of code: https://svnweb.freebsd.org/base/head/sys/net/bpf.c?annotate=303382#l869
It seems like there are 2 bugs, potentially:
- open(2) should note that behavior for character devices may vary from the ERRORS section.
- bpf(4) returning EBUSY when the device is in use should be documented, somewhere (maybe in bpf(9)?).