Page MenuHomeFreeBSD

Fix invalid enqueue of NULL in bxe tx path
ClosedPublic

Authored by rstone on Jun 30 2016, 4:44 PM.
Tags
None
Referenced Files
F103269162: D7041.id18048.diff
Fri, Nov 22, 9:07 PM
F103219327: D7041.id18048.diff
Fri, Nov 22, 8:39 AM
Unknown Object (File)
Thu, Nov 21, 6:14 PM
Unknown Object (File)
Wed, Nov 20, 9:13 PM
Unknown Object (File)
Wed, Nov 20, 1:24 PM
Unknown Object (File)
Tue, Nov 19, 2:41 PM
Unknown Object (File)
Fri, Nov 8, 8:43 AM
Unknown Object (File)
Thu, Nov 7, 7:40 AM
Subscribers

Details

Summary

bxe could incorrectly enqueue NULL on its buf_ring. Most places
in the driver explicitly test for this case and skip it the enqueue
when the mbuf, but one case missed it.

Test Plan

With INVARIANTS enabled, ran a test that stressed the tx path. Under
an overload condition NULL could be enqueued twice to the buf_ring,
leading to an kassert firing.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 4379
Build 4429: arc lint + arc unit

Event Timeline

rstone retitled this revision from to Fix invalid enqueue of NULL in bxe tx path.
rstone updated this object.
rstone edited the test plan for this revision. (Show Details)
rstone added a reviewer: davidcs.
This revision was automatically updated to reflect the committed changes.