Acked-by: Eitan Eliahu <[email protected]>
-----Original Message----- From: dev [mailto:[email protected]] On Behalf Of Alin Serdean Sent: Thursday, October 23, 2014 4:38 PM To: [email protected] Subject: [ovs-dev] [PATCH] [datapath-windows] BSOD when no event queue found kd> ??instance struct _OVS_OPEN_INSTANCE * 0xffffe000`037f2880 +0x000 cookie : 1 +0x008 fileObject : 0xffffe000`02c59f20 _FILE_OBJECT +0x010 eventQueue : (null) +0x018 packetQueue : 0xffffe000`02d50100 _OVS_USER_PACKET_QUEUE +0x020 pid : 2 +0x024 inUse : 0n1 +0x028 dumpState : <unnamed-tag> +0x038 pidLink : _LIST_ENTRY [ 0xffffe000`03ad83f0 - 0xffffe000`03ad83f0 ] kd> k Child-SP RetAddr Call Site ffffd000`2876eb18 fffff801`f364b7c6 nt!DbgBreakPointWithStatus ffffd000`2876eb20 fffff801`f364b0d7 nt!KiBugCheckDebugBreak+0x12 ffffd000`2876eb80 fffff801`f35c21a4 nt!KeBugCheck2+0x8ab ffffd000`2876f290 fffff801`f35cdbe9 nt!KeBugCheckEx+0x104 ffffd000`2876f2d0 fffff801`f35cc43a nt!KiBugCheckDispatch+0x69 ffffd000`2876f410 fffff800`02626666 nt!KiPageFault+0x23a ffffd000`2876f5a0 fffff800`026318d7 OVSExt!OvsWaitEventIoctl+0x116 [c:\work\ovs\datapath-windows\ovsext\event.c @ 472] ffffd000`2876f610 fffff800`026339b4 OVSExt!OvsPendEventCmdHandler+0x57 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 1056] ffffd000`2876f660 fffff800`0264d9c5 OVSExt!InvokeNetlinkCmdHandler+0xf4 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 938] ffffd000`2876f6b0 fffff800`006f1c18 OVSExt!OvsDeviceControl+0x855 [c:\work\ovs\datapath-windows\ovsext\datapath.c @ 853] ffffd000`2876f840 fffff801`f383c395 NDIS!ndisDummyIrpHandler+0x88 ffffd000`2876f870 fffff801`f383cd2a nt!IopXxxControlFile+0x845 ffffd000`2876fa20 fffff801`f35cd8b3 nt!NtDeviceIoControlFile+0x56 ffffd000`2876fa90 00000000`775c2772 nt!KiSystemServiceCopyEnd+0x13 00000000`010feef8 00000000`775c2371 wow64cpu!CpupSyscallStub+0x2 00000000`010fef00 00000000`7765323a wow64cpu!DeviceIoctlFileFault+0x31 00000000`010fefb0 00000000`7765317e wow64!RunCpuSimulation+0xa 00000000`010ff000 00007ff8`f1076bd0 wow64!Wow64LdrpInitialize+0x172 00000000`010ff540 00007ff8`f1076aa6 ntdll!_LdrpInitialize+0xd8 00000000`010ff5b0 00000000`00000000 ntdll!LdrInitializeThunk+0xe kd> ??poll struct _OVS_EVENT_POLL * 0xffffd000`2876f640 +0x000 cookie : 0x3a9ae28 +0x004 dpNo : 0 SYMBOL_STACK_INDEX: 6 SYMBOL_NAME: OVSExt!OvsWaitEventIoctl+116 FOLLOWUP_NAME: MachineOwner MODULE_NAME: OVSExt IMAGE_NAME: OVSExt.sys DEBUG_FLR_IMAGE_TIMESTAMP: 54498bc5 BUCKET_ID_FUNC_OFFSET: 116 FAILURE_BUCKET_ID: AV_OVSExt!OvsWaitEventIoctl BUCKET_ID: AV_OVSExt!OvsWaitEventIoctl ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:av_ovsext!ovswaiteventioctl FAILURE_ID_HASH: {07550bfb-c3b5-0412-b95d-f89a5c4671a9} Signed-off-by: Alin Gabriel Serdean <[email protected]> --- datapath-windows/ovsext/Event.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/datapath-windows/ovsext/Event.c b/datapath-windows/ovsext/Event.c index 656f719..d38bc70 100644 --- a/datapath-windows/ovsext/Event.c +++ b/datapath-windows/ovsext/Event.c @@ -469,6 +469,11 @@ OvsWaitEventIoctl(PIRP irp, } queue = (POVS_EVENT_QUEUE)instance->eventQueue; + if (queue == NULL) { + OvsReleaseEventQueueLock(); + OVS_LOG_TRACE("Exit: Event queue does not exist"); + return STATUS_INVALID_PARAMETER; + } if (queue->pendingIrp) { OvsReleaseEventQueueLock(); OVS_LOG_TRACE("Exit: Event queue already in pending state"); -- 1.9.4.msysgit.1 _______________________________________________ dev mailing list [email protected] https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=yTvML8OxA42Jb6ViHe7fUXbvPVOYDPVq87w43doxtlY%3D%0A&m=D6fLYIxX5sEyKGepdue9UJRBiI6wHhUwPf6z4Xfxjhc%3D%0A&s=bc1b1d36678df5ccd76731833ec58992cc2204f76600a2f47b643e1e2a5a371e _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
