https://git.reactos.org/?p=reactos.git;a=commitdiff;h=26484eea9fcc0a56a2c004090f8b28aa4a5db96a

commit 26484eea9fcc0a56a2c004090f8b28aa4a5db96a
Author:     Timo Kreuzer <[email protected]>
AuthorDate: Fri Sep 11 17:52:24 2020 +0200
Commit:     Timo Kreuzer <[email protected]>
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

Reply via email to