[ovs-dev] [PATCH] datapath-windows: BSOD for a transactional NL cmd w/o dump state
Nithin Raju
nithin at vmware.com
Tue Nov 18 06:58:54 UTC 2014
hi Sorin,
_FlowNlGetCmdHandler() is used for a Flow command sent down as a transaction as shown in the following code:
NTSTATUS
OvsFlowNlGetCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
UINT32 *replyLen)
{
[...]
if (usrParamsCtx->devOp == OVS_TRANSACTION_DEV_OP) {
status = _FlowNlGetCmdHandler(usrParamsCtx, replyLen);
It is bug that _FlowNlGetCmdHandler() is accessing 'instance->dumpState.ovsMsg' even though it is handler for OVS_TRANSACTION_DEV_OP. The fix in '_FlowNlGetCmdHandler()' should merely be:
- POVS_MESSAGE msgIn = instance->dumpState.ovsMsg;
+ POVS_MESSAGE msgIn = (POVS_MESSAGE)usrParamsCtx->inputBuffer;
That should fix the issue.
> Also modified OvsFlowNlGetCmdHandler() to handle transactional
> errors.
As a practice, we don't combine patches that fix difference things into one patch. In this case, you can split the bigger patch into 2 patches, and send them out as a series.
thanks,
-- Nithin
More information about the dev
mailing list