projects
/
cascardo
/
ovs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
datapath-windows: Avoid BSOD when cleaning up a tunnel vport
[cascardo/ovs.git]
/
datapath-windows
/
ovsext
/
Vport.c
diff --git
a/datapath-windows/ovsext/Vport.c
b/datapath-windows/ovsext/Vport.c
index
d692a6d
..
59cf651
100644
(file)
--- a/
datapath-windows/ovsext/Vport.c
+++ b/
datapath-windows/ovsext/Vport.c
@@
-920,7
+920,8
@@
OvsInitTunnelVport(PVOID userContext,
{
POVS_TUNFLT_INIT_CONTEXT tunnelContext = NULL;
{
POVS_TUNFLT_INIT_CONTEXT tunnelContext = NULL;
- tunnelContext = OvsAllocateMemory(sizeof(*tunnelContext));
+ tunnelContext = OvsAllocateMemoryWithTag(sizeof(*tunnelContext),
+ OVS_VPORT_POOL_TAG);
if (tunnelContext == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
break;
if (tunnelContext == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
break;
@@
-935,6
+936,10
@@
OvsInitTunnelVport(PVOID userContext,
dstPort,
OvsTunnelVportPendingInit,
(PVOID)tunnelContext);
dstPort,
OvsTunnelVportPendingInit,
(PVOID)tunnelContext);
+ if (status != STATUS_PENDING) {
+ OvsFreeMemoryWithTag(tunnelContext, OVS_VPORT_POOL_TAG);
+ tunnelContext = NULL;
+ }
break;
}
case OVS_VPORT_TYPE_STT:
break;
}
case OVS_VPORT_TYPE_STT: