[ovs-dev] [PATCH 2/3] datapath-windws: fix locking code in OvsGetNetdevCmdHandler()

Nithin Raju nithin at vmware.com
Thu Oct 30 17:21:44 UTC 2014


> -----Original Message-----
> From: Eitan Eliahu
> Sent: Thursday, October 30, 2014 10:18 AM
> To: Nithin Raju
> Cc: dev at openvswitch.org
> Subject: RE: [ovs-dev] [PATCH 2/3] datapath-windws: fix locking code in
> OvsGetNetdevCmdHandler()
> 
> Nithin,
> It seems that the locking is done by the caller to OvsGetExtInfoIoctl() but
> this function releases the control lock (Line 1214) which was acquired by the
> caller.
> 
>    if (vport == NULL || (vport->ovsState != OVS_STATE_CONNECTED &&
>                           vport->ovsState != OVS_STATE_NIC_CREATED)) {
>         NdisReleaseRWLock(gOvsSwitchContext->dispatchLock, &lockState);
>         NdisReleaseSpinLock(gOvsCtrlLock);  <<<------------------------------
> --------------------------
>         if (vportGet->portNo) {
>             OVS_LOG_WARN("vport %u does not exist any more", vportGet-
> >portNo);

You should look at the patch I sent. This is exactly what I have fixed :)

The understanding now is that caller of OvsGetExtInfoIoctl() acquires and releases the control lock, and OvsGetExtInfoIoctl() acquires and releases the dispatch lock.

-- Nithin



More information about the dev mailing list