diff --git a/ntoskrnl/ke/dpc.c b/ntoskrnl/ke/dpc.c index 5ef845ffbdfa9..74841332c3484 100644 --- a/ntoskrnl/ke/dpc.c +++ b/ntoskrnl/ke/dpc.c @@ -571,6 +571,8 @@ KiRetireDpcList(IN PKPRCB Prcb) KIRQL OldIrql; #endif + if (KeGetCurrentIrql() > DISPATCH_LEVEL) + KfLowerIrql(DISPATCH_LEVEL) /* Get data and list variables before starting anything else */ DpcData = &Prcb->DpcData[DPC_NORMAL]; ListHead = &DpcData->DpcListHead;