https://git.reactos.org/?p=reactos.git;a=commitdiff;h=26484eea9fcc0a56a2c00…
commit 26484eea9fcc0a56a2c004090f8b28aa4a5db96a
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Fri Sep 11 17:52:24 2020 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sun Sep 20 23:08:17 2020 +0200
[NTOS:MM] Fix MiSubsectionPteToSubsection
---
ntoskrnl/include/internal/amd64/mm.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/ntoskrnl/include/internal/amd64/mm.h b/ntoskrnl/include/internal/amd64/mm.h
index 0131817d4cf..bfc4a4b68d1 100644
--- a/ntoskrnl/include/internal/amd64/mm.h
+++ b/ntoskrnl/include/internal/amd64/mm.h
@@ -252,9 +252,10 @@ MiPxeToAddress(PMMPTE PointerPxe)
//
// Decodes a Prototype PTE into the underlying PTE
+// The 48 bit signed value gets sign-extended to 64 bits.
//
#define MiSubsectionPteToSubsection(x) \
- (PMMPTE)((x)->u.Subsect.SubsectionAddress >> 16)
+ (PMMPTE)((LONG64)(x)->u.Subsect.SubsectionAddress)
FORCEINLINE
VOID