[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Ensure session stays locked until the reference to WatchThread is stored in it.
From: Ben Chalmers <Ben.Chalmers@xxxxxxxxxx> This prevents us trying to dispose of an uniintialised WatchThread if a session is removed (by the driver being removed) while the session is still being created Signed-off-by: Ben Chalmers <ben.chalmers@xxxxxxxxxx> --- src/xeniface/wmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xeniface/wmi.c b/src/xeniface/wmi.c index 8777e25..a8ebfdf 100644 --- a/src/xeniface/wmi.c +++ b/src/xeniface/wmi.c @@ -1160,7 +1160,6 @@ CreateNewSession(XENIFACE_FDO *fdoData, session->suspended=TRUE; } fdoData->Sessions++; - UnlockSessions(fdoData); InitializeObjectAttributes(&oa, NULL, OBJ_KERNEL_HANDLE, NULL, NULL); status = PsCreateSystemThread(&hthread, THREAD_ALL_ACCESS, &oa, NULL, NULL, WatchCallbackThread, session); @@ -1170,6 +1169,7 @@ CreateNewSession(XENIFACE_FDO *fdoData, return status; } ObReferenceObjectByHandle(hthread, THREAD_ALL_ACCESS, NULL, KernelMode, &session->WatchThread, NULL); + UnlockSessions(fdoData); RtlFreeAnsiString(&ansi); return STATUS_SUCCESS; } -- 2.7.0.windows.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |