According to this osr page:

http://www.osr.com/ddk/network/103ndisx_51pu.htm

NdisMEthIndicateReceive passes an NDIS_HANDLE (Specifically,
MiniportAdapterHandle), rather than the ETH_FILTER structure.  God knows why
this wasn't caught before but it did awfully strange stuff including the
occasional crash, and more importantly, seemingly randomly corrupting the
LAN_ADAPTER and IP_INTERFACE structures in tcpip.sys when we landed in
packet receiving in datalink/lan.c.  Fixed now.

svn path=/trunk/; revision=10276
This commit is contained in:
Art Yerkes
2004-07-24 04:48:01 +00:00
parent b477fd3439
commit a85dce53e9
5 changed files with 57 additions and 19 deletions
+2 -2
View File
@@ -4452,7 +4452,7 @@ typedef VOID
typedef VOID
(STDCALL *ETH_RCV_INDICATE_HANDLER)(
IN PETH_FILTER Filter,
IN NDIS_HANDLE MiniportAdapter,
IN NDIS_HANDLE MacReceiveContext,
IN PCHAR Address,
IN PVOID HeaderBuffer,
@@ -4986,7 +4986,7 @@ NdisMDeregisterIoPortRange(
PacketSize) \
{ \
(*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
(((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.u.EthDB), \
(MiniportAdapterHandle), \
(MiniportReceiveContext), \
(HeaderBuffer), \
(HeaderBuffer), \