em(4) updated to version 7.1.8
Jack Vogel
jfvogel at gmail.com
Mon Nov 29 19:10:53 UTC 2010
Not sure what code you created this from, but its not the new driver, things
have
been reorganized and I do not believe this issue exists. Please test with
the latest.
Jack
On Mon, Nov 29, 2010 at 10:26 AM, Eugene Grosbein <eugen at eg.sd.rdtc.ru>wrote:
> On Mon, Nov 29, 2010 at 09:54:55AM -0800, Jack Vogel wrote:
>
> > Thanks for reporting that, will see it gets fixed!
>
> More serious problem. I had experienced kernel panics for two em(4)-based
> heavy loaded routers. I've checked PR database and found this PR:
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=150920
>
> I've found the same lack of NULL pointer check in em(4),
> applied following patch to if_em.c and panics have gone.
> It seems for me that new driver code still has this problem,
> now this code resides inside em_rx_discard() function.
> Please take a look.
>
> --- if_em.c.orig 2010-11-02 15:45:56.000000000 +0600
> +++ if_em.c 2010-11-08 14:24:46.000000000 +0600
> @@ -4181,9 +4181,11 @@
> ifp->if_ierrors++;
> /* Reuse loaded DMA map and just update mbuf chain
> */
> mp = rxr->rx_buffers[i].m_head;
> + if(mp) {
> mp->m_len = mp->m_pkthdr.len = MCLBYTES;
> mp->m_data = mp->m_ext.ext_buf;
> mp->m_next = NULL;
> + }
> if (adapter->max_frame_size <=
> (MCLBYTES - ETHER_ALIGN))
> m_adj(mp, ETHER_ALIGN);
>
>
> Eugene Grosbein
>
More information about the freebsd-net
mailing list