datapath-windows: Avoid BSOD when no event queue found.
authorAlin Serdean <aserdean@cloudbasesolutions.com>
Thu, 23 Oct 2014 23:38:21 +0000 (23:38 +0000)
committerBen Pfaff <blp@nicira.com>
Fri, 24 Oct 2014 15:58:57 +0000 (08:58 -0700)
commit3a17f00f784b4b47917f336ca19bdc7078faade5
treee2feee97d7f3515a9710802c011a5fd1db98c6b7
parente1799eb718abe57e666ab8d875689e3b2f2927dc
datapath-windows: Avoid 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 <aserdean@cloudbasesolutions.com>
Acked-by: Eitan Eliahu <eliahue@vmware.com>
Acked-by: Sorin Vinturis <svinturis@cloudbasesolutions.com>
Acked-by: Nithin Raju <nithin@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
datapath-windows/ovsext/Event.c