Date: Fri, 19 Jul 2002 20:51:53 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/boot/efi/libefi efinet.c Message-ID: <200207200351.g6K3pr8f011725@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 2002/07/19 20:51:53 PDT Modified files: sys/boot/efi/libefi efinet.c Log: Work around some nasty bugs on the [beta] Itanium2's E1000 UNDI driver. Bug#1: The GetStatus() function returns radically different pointers that do not match any packets we transmitted. I think it might be pointing to a copy of the packet or something. Since we do not transmit more than one packet at a time, just wait for "anything". Bug#2: The Receive() function takes a pointer and a length. However, it either ignores the length or otherwise does bad things and writes outside of ptr[0] through ptr[len-1]. This is bad and causes massive stack corruption for us since we are receiving packets into small buffers on the stack. Instead, Receive() into a large enough buffer and bcopy the data to the requested area. Revision Changes Path 1.4 +20 -5 src/sys/boot/efi/libefi/efinet.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207200351.g6K3pr8f011725>