locked
ClassifyFn crash with BAD_POOL_CALLER error RRS feed

  • Question

  • Hi All,

    I have created simple inspect packet driver.
     
    Environment:
     
    - Windows7 RTM
    - Inspect sample from newest WDK (7600.16385.1) 
     
     Using sample was modified such that packet is cloned from within classifyFn instead of referenced and clone outside of classifyFn.
    After call TLInspectALEConnectClassify function assert was called "ASSERT(layerData != 
    NULL)" and windows has been crashed to BSOD with BAD_POOL_CALLER error. 
     
    So invalid data (NULL layer data)  has been recieved by  TLInspectALEConnectClassify  function.
     
    WinDbg log please see below:
     
    *** Assertion failed: packet->direction == FWP_DIRECTION_INBOUND
    ***   Source File: 
    .....\utils.c, line 265
     
    *** Assertion failed: layerData != NULL
    ***   Source File: 
    ..\driverengine.c, line 264
     
    *** Assertion failed: packet->direction == FWP_DIRECTION_INBOUND
    ***   Source File: 
    ....\utils.c, line 265 
     
    *** Fatal System Error: 0x000000c2
                           (0x00000007,0x00001097,0x08110011,0x84608F80)
     
    Break instruction exception - code 80000003 (first chance)
     
    A fatal system error has occurred.
    Debugger entered on first try; Bugcheck callbacks have not been invoked.
     
    A fatal system error has occurred.
     
    Thanks in advance for any help!

    • Edited by Chatec Wednesday, November 17, 2010 7:38 PM changed WDK version
    Wednesday, November 17, 2010 7:35 PM

Answers

  • It is perfectly fine for layerData to be NULL at this layer.  You need to handle this within your callout.

    Hope this helps,

     

     


    Dusty Harper [MSFT]
    Microsoft Corporation
    ------------------------------------------------------------
    This posting is provided "AS IS", with NO warranties and confers NO rights
    ------------------------------------------------------------
    Saturday, November 27, 2010 10:13 PM
    Moderator