[net] protecting interfaces from races between control and data ?

Scott Long scott4long at yahoo.com
Fri Aug 9 00:27:06 UTC 2013


Yup, it's an incredibly unsafe pattern.  It also leads to the pattern where
auxiliary processing is handed off to a taskqueue, which then interleaves
the lock ownership with the ithread and produces out-of-order packet
reception.

Scott

On Aug 8, 2013, at 5:18 PM, Adrian Chadd <adrian at freebsd.org> wrote:

> .. and it's not just about "saturate the port" with traffic.
> 
> It's also about "what happens if I shut down the MAC whilst I'm in the
> process of programming in new RX/TX descriptors?"
> 
> The ath(4) driver had a spectacular behaviour where if you mess things
> up the wrong way it will quite happily DMA crap all over the memory of
> your running system, leading to quite hilarious bugs.
> 
> 
> 
> -adrian



More information about the freebsd-current mailing list