mirror of
https://github.com/reactos/reactos.git
synced 2026-06-01 08:50:24 +08:00
Revert "[NTOS:MM/x64] Temporarily release AddressCreationLock in MmCreateVirtualMappingUnsafeEx"
This reverts commit e685b25e35.
This commit is contained in:
@@ -637,9 +637,6 @@ MmCreateVirtualMappingUnsafeEx(
|
||||
PMMPTE PointerPte;
|
||||
MMPTE TempPte;
|
||||
ULONG_PTR Pte;
|
||||
#ifdef _M_AMD64
|
||||
BOOLEAN LockReleased = FALSE;
|
||||
#endif
|
||||
|
||||
DPRINT("MmCreateVirtualMappingUnsafe(%p, %p, %lu, %x)\n",
|
||||
Process, Address, flProtect, Page);
|
||||
@@ -668,15 +665,6 @@ MmCreateVirtualMappingUnsafeEx(
|
||||
if (!MiSynchronizeSystemPde(MiAddressToPde(Address)))
|
||||
MiFillSystemPageDirectory(Address, PAGE_SIZE);
|
||||
#endif
|
||||
|
||||
#ifdef _M_AMD64
|
||||
/* This is a temporary hack, because we can incur a recursive page fault when accessing the PDE */
|
||||
if (PsIdleProcess->AddressCreationLock.Owner == KeGetCurrentThread())
|
||||
{
|
||||
MmUnlockAddressSpace(MmGetKernelAddressSpace());
|
||||
LockReleased = TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -727,15 +715,6 @@ MmCreateVirtualMappingUnsafeEx(
|
||||
MiIncrementPageTableReferences(Address);
|
||||
MiUnlockProcessWorkingSetUnsafe(Process, PsGetCurrentThread());
|
||||
}
|
||||
#ifdef _M_AMD64
|
||||
else
|
||||
{
|
||||
if (LockReleased)
|
||||
{
|
||||
MmLockAddressSpace(MmGetKernelAddressSpace());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user