[ofw] [PATCH] Fix IRP leak in CEP manager

Fab Tillier ftillier at windows.microsoft.com
Tue Apr 21 18:36:55 PDT 2009


When I was removing the ND-specific IRP handling from the CEP manager I accidentally deleted the code that would free a pending get_event IRP.  This would lead to the IRP being orphaned, and the cancel routine would fail to cancel the IRP since the associated CEP was freed.

This patch restores the missing lines.

Signed-off-by: Fab Tillier <ftillier at microsoft.com>

Index: core/al/kernel/al_cm_cep.c
===================================================================
--- core/al/kernel/al_cm_cep.c  (revision 2088)
+++ core/al/kernel/al_cm_cep.c  (working copy)
@@ -4136,6 +4136,9 @@ al_destroy_cep(
        context = p_cep->context;
        pfn_destroy_cb = p_cep->pfn_destroy_cb;

+       /* Cancel any queued IRP */
+       __cep_complete_irp( p_cep, STATUS_CANCELLED, IO_NO_INCREMENT );
+
        __unbind_cep( p_cep );
        ref_cnt = __cleanup_cep( p_cep );
     if( reusable )
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cep_irp_leak.patch
Type: application/octet-stream
Size: 498 bytes
Desc: cep_irp_leak.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20090421/3a877591/attachment.obj>


More information about the ofw mailing list