[ofw] Opensm & WinMad: a race, cauing BSOD722

Hefty, Sean sean.hefty at intel.com
Thu Jan 26 08:35:55 PST 2012


> > If it means that Windows may invoke calls on a file during or after calling
> the EvtFileCleanup, then Windows is seriously stupid.
> 
> A quote from ms-
> help://MS.WDK.v10.7600.091201/Kernel_d/hh/Kernel_d/DrvComps_72d3e802-d17e-
> 476b-8c4f-cf18f7abb772.xml.htm:
> 
> DispatchCleanup Routines
> 
> A driver's DispatchCleanup routine handles IRPs for the IRP_MJ_CLEANUP I/O
> function code.
> ...
> While processing an IRP_MJ_CLEANUP request, a driver can receive additional
> requests, such as IRP_MJ_READ or IRP_MJ_WRITE. Therefore, a driver that must
> deallocate resources must also synchronize execution of its DispatchCleanup
> routine with other dispatch routines, such as DispatchRead and DispatchWrite.

Bah - then that's just a stupid design.  It means that the cleanup request can't actually do anything useful, like, say clean up resources, since there may be other operations in progress at the same time.  Whatever ends up being used to synchronize between the cleanup processing and read/write requests can't actually be cleaned up until some future request.  So, why even have the dumb IRP in the first place...



More information about the ofw mailing list