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>
