Most AV scanners halt the request, flag it and send a message to a
service that will also open the file. Their filters know how to detect
this recursion, most of the time, and act accordingly.
This is OK if you use no stack
However, what about other filters? It
is a little messy.
We have a driver that does this technique, but we were very careful in
our stack usage.
Jamey
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Nate Bushman
Sent: Tuesday, April 15, 2003 9:53 AM
To: File Systems Developers
Subject: [ntfsd] RE: Interop problem w/ NAV (Symantec Antivirus)…
Thanks Jamey. When you say “recurse back into the top of the FSD” are
you talking about the file system filter driver sending new I/O to the
very devices that it filters? I hadn’t considered that, and it really
could cause the stack to grow out of control. Messy.
-----Original Message-----
From: Jamey Kirby [mailto:xxxxx@storagecraft.com]
Sent: Tuesday, April 15, 2003 10:31 AM
To: File Systems Developers
Subject: [ntfsd] RE: Interop problem w/ NAV (Symantec Antivirus)…
The alternative is to use your stack space sparingly and to not recurse
back into the top of the FSD; like NAV and most AV programs do.
I remember the days of stack switching; DOS wasn’t it?
Jamey
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Nate Bushman
Sent: Monday, April 14, 2003 1:27 PM
To: File Systems Developers
Subject: [ntfsd] Interop problem w/ NAV (Symantec Antivirus)…
We have a product that includes a file system filter driver. If we
install Symantec Antivirus Corporate Edition (v. 8.00.374) and enable
Driver Verifier tests for both our file system filter driver and for the
four drivers that ship with NAV, we end up with the following blue
screen:
*** Fatal System Error: 0x000000c4
(0x00000090,0xFFDFF120,0x00000000,0x00000000)
Break instruction exception - code 80000003 (first chance)
Probably caused by : NAVAP.sys ( NAVAP+696d )
This docs for this bug check are a bit slim on details. They say:
The driver switched stacks, and the current stack is neither a thread
stack nor a DPC stack.
(Typically, the driver doing this should be on the stack obtained by the
KB debugger command.)
I’ve been told that NAV does switch stacks. Is anyone else aware of
this?
What exactly is stack switching?
What problem(s) does stack switching cause?
Are there legitimate reasons for stack switching? If not, are there any
legit techniques that should be used as alternatives to stack switching?
Finally, do any of the NAV driver developers, specifically the writer(s)
of NAVAP.sys, participate on this list?
Thanks,
Nate Bushman
PowerQuest Corp
You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to ntfsd as: xxxxx@powerquest.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com