Skip site navigation (1)Skip section navigation (2)
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>