NdisMIndicateReceivePacket causing BSOD in NT!!!

Hi Devs,

Sorry for the long mail!

I an writing a Virtual Ndis Miniport driver for all
windows flavors. My driver does Arp spoofing too.
In order to test my driver I am using internal loop
back within my driver, (i.e.) I make a copy of all
incoming ndis packets (except for Arp Packets), &
indicate it to higher layers using
NdisMIndicateReceivePacket.

This approach works fine in all windows platforms
(2000, ME, 98SE, WinCE, XP)
BUT in NT the call NdisMIndicateReceivePacket behaves
as follows
Checked build causes a Assertion failure & BSOD
Free build causes a Assertion failure but *NO* BSOD

What surprises me is

  1. when I call NdisMIndicateReceivePacket (at IRQL
    Level DISPATCH_LEVEL) to indicate spoofed Arp Requests
    there is no Assertion caused. but when I try to
    indicate other ndis pkts (at IRQL Level PASSIVE_LEVE)
    there is an Assertion.
  2. The Assertion is caused when Ndis tries to acquire
    a lock on MiniportHandle.
    From Microsoft knowledge base I learnt that there is a
    bug in acquiring locks in Ndis in NT SP3 & this has
    been fixed in NT SP4, I am using SP5.

FYI: I set BINARY_COMPATIBLE=1 during compilation

Has any one encountered such a problem ? Any
suggestions wud be greatly appreciated.

Thanx & Regards
ME


Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi Me,
I Guess this is the same problem from which i recently overcome after
about a month of pain
Search in the archieve with subject “NDIS Intermediate driver hangs the
machine on some cards”, “NDIS IM Driver on NT” and finally the solution mail
“Beaware while working on IMSamp”.
Hope this help you.
–Sumit

-----Original Message-----
[mailto:xxxxx@lists.osr.com]On Behalf Of ME
Subject: [ntdev] NdisMIndicateReceivePacket causing BSOD in NT!!!
Hi Devs,

causes a Assertion failure but *NO* BSOD

What surprises me is

  1. when I call NdisMIndicateReceivePacket (at IRQL
    Level DISPATCH_LEVEL) to indicate spoofed Arp Requests
    there is no Assertion caused. but when I try to
    indicate other ndis pkts (at IRQL Level PASSIVE_LEVE)
    there is an Assertion.
  2. The Assertion is caused when Ndis tries to acquire
    a lock on MiniportHandle.

From Microsoft knowledge base I learnt that there is a
bug in acquiring locks in Ndis in NT SP3 & this has
been fixed in NT SP4, I am using SP5.

Thanx & Regards
ME


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com