Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Mar 2000 10:50:25 +0900
From:      Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
To:        imp@village.org
Cc:        ilmar@ints.ru, nms@otdel-1.org, freebsd-current@FreeBSD.ORG
Subject:   Re: -current sudden panics :( 
Message-ID:  <20000323105025W.shin@nd.net.fujitsu.co.jp>
In-Reply-To: <200003222201.PAA33948@harmony.village.org>
References:  <Pine.BSF.4.21.0003220813250.220-100000@ws-ilmar.ints.ru> <200003222201.PAA33948@harmony.village.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> : This is driver for ed(ne2000) cards. I have realtek(rl driver). I took a
> : look at his source and didn't find such strings. There is comment there
> : about cutting off mbuf header before passing it to ether_input - what's
> : this?
> 
> I applied a similar patch to the end of the rl packet handling
> routine.  It didn't solve my arp crashes, however.   It is almost as
> if sometimes the rl driver passes a packet to ether_input and then
> does bad things to it behind the scenes...  I've not had a lot of time
> to try to track down why this does what it does.
> 
> Warner

I would like to narrow down the problem more and could you
please try if this patch stop the problem or not?
(The m_pullup() is recently added to if_rl.c. It should not be
harmful, but I suspect that this might have invoked another
hidden bug.)

Yoshinobu Inoue

Index: if_rl.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/if_rl.c,v
retrieving revision 1.38
diff -u -r1.38 if_rl.c
--- if_rl.c	1999/12/28 06:04:29	1.38
+++ if_rl.c	2000/03/23 01:35:02
@@ -1130,7 +1130,8 @@
				m_adj(m, RL_ETHER_ALIGN);
				m_copyback(m, wrap, total_len - wrap,
					sc->rl_cdata.rl_rx_buf);
-				m = m_pullup(m, sizeof(struct ether_header));
+				if (m->m_len < sizeof(struct ether_header))
+					m = m_pullup(m, sizeof(struct ether_header));
				if (m == NULL) {
					printf("rl%d: m_pullup failed",
					    sc->rl_unit);


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000323105025W.shin>