Ringing the doorbell before making the BPF call can result in the
mbuf being freed before the BPF call.
Details
Details
- Reviewers
delphij markj imp - Group Reviewers
network - Commits
- rG545ab0eb1993: gve: Fix Tx tcpdump panic
rG74861578d955: gve: Fix Tx tcpdump panic
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/dev/gve/gve_tx.c | ||
---|---|---|
709 | BTW, this usage of drbr looks like it could be a bit simpler: while ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && (m = drbr_peek()) != NULL) { if (gve_xmit(tx, mbuf) != 0) { ... } drbr_advance(ifp, tx->br); ... } Right now we're needlessly checking for an empty ring in drbr_peek() after having already done so with drbr_empty(). |