From 7a4490106414024454da4c85d6e1554d7cc75cae Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Wed, 25 Feb 2026 12:14:26 +0100 Subject: [PATCH] Add definition for guarded PTE flag and remove hardcoded value --- sdk/xtdk/amd64/mmtypes.h | 1 + sdk/xtdk/i686/mmtypes.h | 1 + xtoskrnl/mm/kpool.cc | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sdk/xtdk/amd64/mmtypes.h b/sdk/xtdk/amd64/mmtypes.h index 9eccd34..7f7e84a 100644 --- a/sdk/xtdk/amd64/mmtypes.h +++ b/sdk/xtdk/amd64/mmtypes.h @@ -60,6 +60,7 @@ /* PTE protection flags */ #define MM_PTE_NOEXECUTE 0x8000000000000000ULL +#define MM_PTE_GUARDED 0x8000000000000018ULL #define MM_PTE_PROTECT 0x8000000000000612ULL /* PTE cache flags */ diff --git a/sdk/xtdk/i686/mmtypes.h b/sdk/xtdk/i686/mmtypes.h index 749caea..4445543 100644 --- a/sdk/xtdk/i686/mmtypes.h +++ b/sdk/xtdk/i686/mmtypes.h @@ -56,6 +56,7 @@ /* PTE protection flags */ #define MM_PTE_NOEXECUTE 0x00000000 +#define MM_PTE_GUARDED 0x00000018 #define MM_PTE_PROTECT 0x00000612 /* PTE cache flags */ diff --git a/xtoskrnl/mm/kpool.cc b/xtoskrnl/mm/kpool.cc index b026dc9..067219d 100644 --- a/xtoskrnl/mm/kpool.cc +++ b/xtoskrnl/mm/kpool.cc @@ -52,7 +52,7 @@ MM::KernelPool::AllocateKernelStack(OUT PVOID *Stack, } /* Set up a template for an invalid PTE */ - MM::Paging::SetPte(&InvalidPte, 0, 0x18); + MM::Paging::SetPte(&InvalidPte, 0, MM_PTE_GUARDED); /* Set up a template for a valid, writable stack PTE */ MM::Paging::ClearPte(&TempPte);