Small bug fix from DragonFly / review requested
Robert Watson
rwatson at FreeBSD.org
Sun Feb 20 13:04:00 PST 2005
On Sun, 20 Feb 2005, Max Laier wrote:
> Joerg Sonnenberger has discovered a problem in the snc(4) driver that
> might result in packets showing up on bpf multiple times. See the
> changelog for sys/dev/netif/snc/dp83932.c in their source tree[1].
>
> Attached is a fix for HEAD. I am almost sure that it is right, but I'd
> welcome a review as there might be a chance that sonicput() and the TX
> interrupt free the mbuf before it gets to bpf. From my reading it seems
> that the mbuf is "safe" until sc->mtd_free is altered (see comment).
This change seems fine -- in the current world order, Giant will prevent
the driver from preempting itself and freeing the mbuf, and if we get
per-softc locking for snc, presumably that locking will provide the same
protection. It may be worth annotating that we rely on non-preemption by
the interrupt handler to avoid the mbuf being freed with a comment.
Robert N M Watson
More information about the freebsd-hackers
mailing list