RE: Page fault in filter driver after i/o completion -of subst-itute IRP

When I get the original read IRP I put it on an internal queue and mark it
pending then dispatch the substitute. When I complete my substitute IRP I
remove the original IRP from the queue and issue IoCompleteRequest with
STATUS_SUCCESS for the original and return STATUS_MORE_PROCESSING_REQUIRED
for my substitute. Then I get a KerKLUNK BlueScreen page fault

-----Original Message-----
From: Jamey Kirby [mailto:xxxxx@storagecraft.com]
Sent: Friday, April 28, 2000 3:33 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Page fault in filter driver after i/o completion of
subst itute IRP

Are you doing:

if (Irp->PendingReturned)
IoMarkIrpPending(Irp);

return (STATUS_SUCCESS);

There are only 2 possible return values from a completion routine:

STATUS_MORE_PROCESSING_REQUIRED or
STATUS_SUCCESS

Make sure you check this too.

Jamey

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Daniel Hickey
Sent: Friday, April 28, 2000 2:35 PM
To: NT Developers Interest List
Subject: [ntdev] Page fault in filter driver after i/o completion of
subst itute IRP

In an NT 4.0 filter driver I am intercepting every IRP_MJ_READ,
queueing it
and sending on down to the lower level driver a substitute IRP which I
created “to look very much like the original.” I do this so that
if I don’t
like the results I can do things till I get one I like and I can
pass on the
completion of the caller’s IRP when and how I wish.

My problem is that when I get a (the first) completion of my
substitute IRP
I complete the original IRP with
IoCompleteRequest( originalIrp, IO_NO_INCREMENT);
and then return the status for my substitute IRP as
STATUS_ADDITIONAL_PROCESSING_REQUIRED
after exiting my code the system stops with a page fault in
ntoskrnl!PsReturnPoolQuota

I have removed all ExFreePool calls and added an additional stack location
as debug attempts with no changes. Anyone have any ideas??

Daniel J. Hickey
xxxxx@bluekite.com
www.bluekite.com
Mobile: 714 875-9997
Office: 714 843-6051
Fax: 714 375-2737


You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@bluekite.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)