The caller of bwn_{dma,pio}_tx_start() frees the mbuf if the call fails.
The tx_start routines may call m_defrag() which frees the input mbuf
chain upon success; if the routines fail after successfully calling
m_defrag(), we will free the mbuf chain twice.
Details
Details
- Reviewers
landonf - Commits
- rS341990: Fix a possible mbuf double free in bwn_dma_tx_start().
None; I don't have any hardware which uses this driver.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
This looks good to me; I'll try to test on real hardware over the weekend, just to be sure.
Comment Actions
Apologies, wasn't able to get to it until tonight; other than the small KASSERT ordering issue, everything seems to be fine on a real hardware.
Comment Actions
Thanks. Not sure how the assert issue slipped through build testing, but the latest upload fixes it.