[NTOS:MM] Add ASSERTS to MmLockAddressSpace to guarantee lock ordering

This commit is contained in:
Timo Kreuzer 2023-10-09 21:39:35 +03:00
parent ab199cc147
commit 6d701b4b05

View file

@ -1690,6 +1690,12 @@ FORCEINLINE
VOID
MmLockAddressSpace(PMMSUPPORT AddressSpace)
{
ASSERT(!PsGetCurrentThread()->OwnsProcessWorkingSetExclusive);
ASSERT(!PsGetCurrentThread()->OwnsProcessWorkingSetShared);
ASSERT(!PsGetCurrentThread()->OwnsSystemWorkingSetExclusive);
ASSERT(!PsGetCurrentThread()->OwnsSystemWorkingSetShared);
ASSERT(!PsGetCurrentThread()->OwnsSessionWorkingSetExclusive);
ASSERT(!PsGetCurrentThread()->OwnsSessionWorkingSetShared);
KeAcquireGuardedMutex(&CONTAINING_RECORD(AddressSpace, EPROCESS, Vm)->AddressCreationLock);
}