FwpsFlowAbort0 causes synchronization issue between StreamClassifyFn() and FlowDeleteFn() RRS feed

  • Question

  • Hi,
    I have written a WFP driver which does deep packet inspection at Stream layer. I have requirement to BLOCK certain connections based on packet data content. For that I am using api FwpsFlowAbort0 to close the connection, but what I see that in my case StreamClassifyFn() is in progress and if I call FwpsFlowAbort0 then it causes FlowDeleteFn() and causes BSOD because StreamClassifyFn() is in progress sometimes.

    So, How can I make sure that no StreamClassifyFn() is progress while FwpsFlowAbort0 and FlowDeleteFn() is in progress.

    Do I need explicit synchronization between StreamClassifyFn() and FlowDeleteFn() in case I use FwpsFlowAbort() to close the connection.

    Wednesday, February 10, 2016 2:52 PM