Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


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

OSR_Community_UserOSR_Community_User Member Posts: 110,217
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
[email protected]
www.bluekite.com
Mobile: 714 875-9997
Office: 714 843-6051
Fax: 714 375-2737
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online
Writing WDF Drivers 22 May 2023 Live, Online