Acked-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> -----Original Message----- From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Alin Serdean Sent: Thursday, 2 July, 2015 09:36 To: dev@openvswitch.org Subject: [ovs-dev] [PATCH] Solved datapath-windows: BSOD when initializing switch context
Add check in case of NdisAllocateRWLock fails to allocate the resources. Check datapath->lock before trying to free it. Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> Reported-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/92 --- datapath-windows/ovsext/Flow.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index b93f475..69b546a 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -1513,6 +1513,11 @@ OvsDeleteFlowTable(OVS_DATAPATH *datapath) DeleteAllFlows(datapath); OvsFreeMemoryWithTag(datapath->flowTable, OVS_FLOW_POOL_TAG); datapath->flowTable = NULL; + + if (datapath->lock == NULL) { + return NDIS_STATUS_SUCCESS; + } + NdisFreeRWLock(datapath->lock); return NDIS_STATUS_SUCCESS; @@ -1544,6 +1549,10 @@ OvsAllocateFlowTable(OVS_DATAPATH *datapath, } datapath->lock = NdisAllocateRWLock(switchContext->NdisFilterHandle); + if (!datapath->lock) { + return NDIS_STATUS_RESOURCES; + } + return NDIS_STATUS_SUCCESS; } -- 1.9.5.msysgit.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev