https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e3198fb644317d30c8f8b2...
commit e3198fb644317d30c8f8b25c196334f9928c8402 Author: Victor Perevertkin victor.perevertkin@reactos.org AuthorDate: Thu Oct 15 05:52:11 2020 +0300 Commit: Victor Perevertkin victor.perevertkin@reactos.org CommitDate: Sat Dec 5 22:25:39 2020 +0300
[NTOS:PNP] Check if APCs are enabled before waiting inside IopSynchronousCall --- ntoskrnl/io/pnpmgr/pnpmgr.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/ntoskrnl/io/pnpmgr/pnpmgr.c b/ntoskrnl/io/pnpmgr/pnpmgr.c index 3e142b081d0..1a72481691b 100644 --- a/ntoskrnl/io/pnpmgr/pnpmgr.c +++ b/ntoskrnl/io/pnpmgr/pnpmgr.c @@ -599,6 +599,8 @@ IopSynchronousCall(IN PDEVICE_OBJECT DeviceObject,
/* Call the driver */ Status = IoCallDriver(TopDeviceObject, Irp); + /* Otherwise we may get stuck here or have IoStatusBlock not populated */ + ASSERT(!KeAreAllApcsDisabled()); if (Status == STATUS_PENDING) { /* Wait for it */