[ovs-dev] [PATCH v3 3/3] datapath-windows: Optimize conntrack lock implementation.

Anand Kumar kumaranand at vmware.com
Mon Jan 29 18:24:55 UTC 2018


Hi Alin,

Thanks for the review. I’ll address the warning and send out the patch.

Thanks,
Anand Kumar

On 1/29/18, 5:20 AM, "Alin Serdean" <aserdean at cloudbasesolutions.com> wrote:

    Trimming the patch a bit.
    
    Just one small nit from the static analyzer inlined.
    
    Rest looks good.
    
    Acked-by: Alin Gabriel Serdean <aserdean at ovn.org>
    <--------------------------8<-------------------------------------------------------------->
     /*
    @@ -124,12 +135,9 @@ OvsInitConntrack(POVS_SWITCH_CONTEXT context)  VOID
     OvsCleanupConntrack(VOID)
     {
    -    LOCK_STATE_EX lockState, lockStateNat;
    -    NdisAcquireRWLockWrite(ovsConntrackLockObj, &lockState, 0);
    +    LOCK_STATE_EX lockStateNat;
         ctThreadCtx.exit = 1;
         KeSetEvent(&ctThreadCtx.event, 0, FALSE);
    -    NdisReleaseRWLock(ovsConntrackLockObj, &lockState);
    -
         KeWaitForSingleObject(ctThreadCtx.threadObject, Executive,
                               KernelMode, FALSE, NULL);
         ObDereferenceObject(ctThreadCtx.threadObject);
    @@ -142,8 +150,14 @@ OvsCleanupConntrack(VOID)
             ovsConntrackTable = NULL;
         }
     
    -    NdisFreeRWLock(ovsConntrackLockObj);
    -    ovsConntrackLockObj = NULL;
    +    for (UINT32 i = 0; i < CT_HASH_TABLE_SIZE; i++) {
    +        if (ovsCtBucketLock[i] != NULL) {
    [Alin Serdean] datapath-windows\ovsext\conntrack.c(154): warning C6001: Using uninitialized memory '*ovsCtBucketLock'.
    +            NdisFreeRWLock(ovsCtBucketLock[i]);
    +        }
    +    }
    +    OvsFreeMemoryWithTag(ovsCtBucketLock, OVS_CT_POOL_TAG);
    +    ovsCtBucketLock = NULL;
    +
         NdisAcquireRWLockWrite(ovsCtNatLockObj, &lockStateNat, 0);
         OvsNatCleanup();
         NdisReleaseRWLock(ovsCtNatLockObj, &lockStateNat); @@ -179,11 +193,20 @@ OvsCtUpdateFlowKey(struct OvsFlowKey *key,
         }
     }
     <--------------------------8<-------------------------------------------------------------->
    





More information about the dev mailing list