Driver patch to look at...

John Baldwin jhb at freebsd.org
Tue Feb 5 18:52:54 UTC 2013


On Tuesday, February 05, 2013 12:44:01 pm Randall Stewart wrote:
> Actually, no it is used.
> 
> If you look in if_var.h int he drbr_putback() function, it does
> a buf_ring_swap when the old mbuf pointer does not equal the
> new mbuf pointer. This *does* happen, I crashed at least once
> yesterday when the igb driver did something to free the original
> mbuf and return a new mbuf with the data (prepend or some such).
> 
> I also have found several issues that I have fixed this morning.. its been
> crash city on my test beds..
> 
> Here is the latest patch with all fixes and suggested changes from emaste 
(thanks Ed)

Actually, one more suggestion then (since you have to keep putback).  It
would be nice to not have to require 'snext' in all the callers.  How
about replace buf_ring_swap() with a buf_ring_putback_sc() that accepts the
mbuf and just stores it at the head unconditionally and have drbr_putback()
use that?

-- 
John Baldwin


More information about the freebsd-net mailing list