[ovs-dev] [PATCH 1/2] datapath-windows: BSOD for a transactional NL cmd w/o dump state

Sorin Vinturis svinturis at cloudbasesolutions.com
Tue Nov 18 14:20:39 UTC 2014


The BSOD is triggered by the incorect extraction of the OVS message
from the received input buffer from userspace, in _FlowNlGetCmdHandler
function.

Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/54
---
 datapath-windows/ovsext/Flow.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c
index d2d0ae5..8ec1fc7 100644
--- a/datapath-windows/ovsext/Flow.c
+++ b/datapath-windows/ovsext/Flow.c
@@ -413,7 +413,7 @@ _FlowNlGetCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     NTSTATUS rc = STATUS_SUCCESS;
     POVS_OPEN_INSTANCE instance = (POVS_OPEN_INSTANCE)
                                   (usrParamsCtx->ovsInstance);
-    POVS_MESSAGE msgIn = instance->dumpState.ovsMsg;
+    POVS_MESSAGE msgIn = (POVS_MESSAGE)usrParamsCtx->inputBuffer;
     PNL_MSG_HDR nlMsgHdr = &(msgIn->nlMsg);
     POVS_HDR ovsHdr = &(msgIn->ovsHdr);
     PNL_MSG_HDR nlMsgOutHdr = NULL;
@@ -532,7 +532,7 @@ done:
 /*
  *----------------------------------------------------------------------------
  *  _FlowNlDumpCmdHandler --
- *    Handler for OVS_FLOW_CMD_GET command.
+ *    Handler for OVS_FLOW_CMD_DUMP command.
  *----------------------------------------------------------------------------
  */
 NTSTATUS
-- 
1.9.0.msysgit.0



More information about the dev mailing list