From feb0f56da7a4375b075227871e7afa3d96b2f033 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 28 Jul 2025 16:32:33 +0300 Subject: [PATCH] [NTOS:EX] Fix query of SystemInterruptInformation --- ntoskrnl/ex/sysinfo.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ntoskrnl/ex/sysinfo.c b/ntoskrnl/ex/sysinfo.c index 4fa411f6d9c..a2f3e84007a 100644 --- a/ntoskrnl/ex/sysinfo.c +++ b/ntoskrnl/ex/sysinfo.c @@ -1561,7 +1561,8 @@ QSI_DEF(SystemInterruptInformation) ULONG ti; PSYSTEM_INTERRUPT_INFORMATION sii = (PSYSTEM_INTERRUPT_INFORMATION)Buffer; - if(Size < KeNumberProcessors * sizeof(SYSTEM_INTERRUPT_INFORMATION)) + *ReqSize = KeNumberProcessors * sizeof(SYSTEM_INTERRUPT_INFORMATION); + if (Size < *ReqSize) { return STATUS_INFO_LENGTH_MISMATCH; } @@ -1572,7 +1573,7 @@ QSI_DEF(SystemInterruptInformation) { Prcb = KiProcessorBlock[i]; sii->ContextSwitches = KeGetContextSwitches(Prcb); - sii->DpcCount = Prcb->DpcData[0].DpcCount; + sii->DpcCount = Prcb->DpcData[DPC_NORMAL].DpcCount; sii->DpcRate = Prcb->DpcRequestRate; sii->TimeIncrement = ti; sii->DpcBypassCount = 0;