From 228355c5390f42ea8e90fb4b943f4da553400cb7 Mon Sep 17 00:00:00 2001 From: Alin Gabriel Serdean Date: Wed, 27 Feb 2019 19:26:46 +0200 Subject: datapath-windows: Add annotations to find vport functions Add annotations to find vport functions to check if the dispatch lock is held. Signed-off-by: Alin Gabriel Serdean Acked-by: Anand Kumar Acked-by: Sairam Venugopal --- datapath-windows/ovsext/Vport.c | 7 ++++++- datapath-windows/ovsext/Vport.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'datapath-windows') diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index bb83c2235..e8c4d7f9b 100644 --- a/datapath-windows/ovsext/Vport.c +++ b/datapath-windows/ovsext/Vport.c @@ -135,7 +135,7 @@ HvCreatePort(POVS_SWITCH_CONTEXT switchContext, * Lookup by port name to see if this port with this name had been added * (and deleted) previously. */ - vport = OvsFindVportByHvNameW(gOvsSwitchContext, + vport = OvsFindVportByHvNameW(switchContext, portParam->PortFriendlyName.String, portParam->PortFriendlyName.Length); if (vport && vport->isAbsentOnHv == FALSE) { @@ -692,6 +692,7 @@ done: /* * OVS Vport related functionality. */ +_Use_decl_annotations_ POVS_VPORT_ENTRY OvsFindVportByPortNo(POVS_SWITCH_CONTEXT switchContext, UINT32 portNo) @@ -786,6 +787,7 @@ OvsFindTunnelVportByPortType(POVS_SWITCH_CONTEXT switchContext, return NULL; } +_Use_decl_annotations_ POVS_VPORT_ENTRY OvsFindVportByOvsName(POVS_SWITCH_CONTEXT switchContext, PSTR name) @@ -809,6 +811,7 @@ OvsFindVportByOvsName(POVS_SWITCH_CONTEXT switchContext, } /* OvsFindVportByHvName: "name" is assumed to be null-terminated */ +_Use_decl_annotations_ POVS_VPORT_ENTRY OvsFindVportByHvNameW(POVS_SWITCH_CONTEXT switchContext, PWSTR wsName, SIZE_T wstrSize) @@ -861,6 +864,7 @@ Cleanup: return vport; } +_Use_decl_annotations_ POVS_VPORT_ENTRY OvsFindVportByHvNameA(POVS_SWITCH_CONTEXT switchContext, PSTR name) @@ -883,6 +887,7 @@ OvsFindVportByHvNameA(POVS_SWITCH_CONTEXT switchContext, return vport; } +_Use_decl_annotations_ POVS_VPORT_ENTRY OvsFindVportByPortIdAndNicIndex(POVS_SWITCH_CONTEXT switchContext, NDIS_SWITCH_PORT_ID portId, diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h index 7d88f86fb..32cbf8bcc 100644 --- a/datapath-windows/ovsext/Vport.h +++ b/datapath-windows/ovsext/Vport.h @@ -122,15 +122,20 @@ typedef struct _OVS_VPORT_ENTRY { struct _OVS_SWITCH_CONTEXT; +_Requires_lock_held_(switchContext->dispatchLock) POVS_VPORT_ENTRY OvsFindVportByPortNo(POVS_SWITCH_CONTEXT switchContext, UINT32 portNo); /* "name" is null-terminated */ +_Requires_lock_held_(switchContext->dispatchLock) POVS_VPORT_ENTRY OvsFindVportByOvsName(POVS_SWITCH_CONTEXT switchContext, PSTR name); +_Requires_lock_held_(switchContext->dispatchLock) POVS_VPORT_ENTRY OvsFindVportByHvNameA(POVS_SWITCH_CONTEXT switchContext, PSTR name); +_Requires_lock_held_(switchContext->dispatchLock) POVS_VPORT_ENTRY OvsFindVportByHvNameW(POVS_SWITCH_CONTEXT switchContext, PWSTR wsName, SIZE_T wstrSize); +_Requires_lock_held_(switchContext->dispatchLock) POVS_VPORT_ENTRY OvsFindVportByPortIdAndNicIndex(POVS_SWITCH_CONTEXT switchContext, NDIS_SWITCH_PORT_ID portId, NDIS_SWITCH_NIC_INDEX index); -- cgit v1.2.1