Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Upcoming OSR Seminars:

Writing WDF Drivers I: Core Concepts, Nashua, NH 15-19 May, 2017
Writing WDF Drivers II: Advanced Implementation Tech., Nashua, NH 23-26 May, 2017
Kernel Debugging and Crash Analysis, Dulles, VA 26-30 June, 2017
Windows Internals & Software Driver Development, Nashua, NH 24-28 July, 2017


Go Back   OSR Online Lists > ntfsd
Welcome, Guest
You must login to post to this list
  Message 1 of 5  
15 Mar 17 16:09
Mauro Leggieri
xxxxxx@mauroleggieri.com
Join Date: 02 Jun 2016
Posts To This List: 16
ECP_LIST not being freed

Hi, I have two minifilter drivers running, the lower one makes some virtualization using shadow file object technique. When the lower has to redirect, it calls FltCreateFileEx2 and I send the ECP_LIST from current request, if any (obtained via FltGetEcpListFromCallbackData). The problem is the following: If upper driver creates an ECP_LIST and the lower driver pass the request down because it doesn't do a redirection, the list is deleted by the system. But if the lower driver calls FltCreateFileEx2, then I have a leak. Should I create a cloned list or is there an API to tell FltMgr I'm reusing a list? Regards, Mauro.
  Message 2 of 5  
15 Mar 17 19:14
Peter Scott
xxxxxx@kerneldrivers.com
Join Date: 17 Feb 2012
Posts To This List: 633
ECP_LIST not being freed

I have always cloned the ECP list and passed it through via the=20 FltCreateFileEx2() API. Pete -- Kernel Drivers Windows File System and Device Driver Consulting www.KernelDrivers.com 866.263.9295 ------ Original Message ------ From: xxxxx@mauroleggieri.com To: "Windows File Systems Devs Interest List" <xxxxx@lists.osr.com> Sent: 3/15/2017 2:09:58 PM Subject: [ntfsd] ECP_LIST not being freed >Hi, > >I have two minifilter drivers running, the lower one makes some=20 >virtualization using shadow file object technique. > >When the lower has to redirect, it calls FltCreateFileEx2 and I send=20 >the ECP_LIST from current request, if any (obtained via=20 >FltGetEcpListFromCallbackData). > >The problem is the following: <...excess quoted lines suppressed...>
  Message 3 of 5  
16 Mar 17 07:05
Mauro Leggieri
xxxxxx@mauroleggieri.com
Join Date: 02 Jun 2016
Posts To This List: 16
ECP_LIST not being freed

Thanks Pete, straight to the point. :)
  Message 4 of 5  
16 Mar 17 07:58
rod widdowson
xxxxxx@steadingsoftware.com
Join Date: 11 Sep 2006
Posts To This List: 775
ECP_LIST not being freed

Pete, > I have always cloned the ECP list and passed it through via the > FltCreateFileEx2() API. Out of interest, clone the list _and_ the contents or clone the list and remove/copy the contents up and down? Also a free tip for the OP you cannot use the FltXXXECP functions since they don't believe in a filter doing work on behalf of another one and will bugcheck. I know Christian said he'd fix it but I' guessing that hasn't made its way back to Win7.
  Message 5 of 5  
16 Mar 17 08:53
Mauro Leggieri
xxxxxx@mauroleggieri.com
Join Date: 02 Jun 2016
Posts To This List: 16
ECP_LIST not being freed

Hi Rod, good question. If I take FLT_CREATEFILE_TARGET_ECP_CONTEXT as an example, the caller will expect a result. I think we should move the items from caller's list to ours so the list is not freed and after the FltCreateFileEx2 call, move the items back to the original list. If we clone, then we must copy back modified data. Also not sure if it is normal for a driver to call FltCreateFileEx2 and expect a new ECP item on return. Regards.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntfsd list to be able to post.

All times are GMT -5. The time now is 20:21.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license