mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 02:05:50 +00:00
[NTOS:KE] Do not allow waiting at IRQL >= DISPATCH_LEVEL when providing a timeout in KeWaitForMultipleObjects
CORE-6473
This commit is contained in:
parent
27fcfe66a2
commit
41de1bd724
1 changed files with 2 additions and 5 deletions
|
@ -605,12 +605,9 @@ KeWaitForMultipleObjects(IN ULONG Count,
|
||||||
|
|
||||||
if (Thread->WaitNext)
|
if (Thread->WaitNext)
|
||||||
ASSERT(KeGetCurrentIrql() == SYNCH_LEVEL);
|
ASSERT(KeGetCurrentIrql() == SYNCH_LEVEL);
|
||||||
else if (KeGetCurrentIrql() == DISPATCH_LEVEL &&
|
else if (!Timeout || (Timeout->QuadPart != 0))
|
||||||
(!Timeout || Timeout->QuadPart != 0))
|
|
||||||
{
|
{
|
||||||
/* HACK: tcpip is broken and waits with spinlocks acquired (CORE-6473) */
|
ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
|
||||||
DPRINT("%s called at DISPATCH_LEVEL with non-zero timeout!\n",
|
|
||||||
__FUNCTION__);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
|
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue