https://git.reactos.org/?p=reactos.git;a=commitdiff;h=defbf63416fc622bdfbbbe...
commit defbf63416fc622bdfbbbe8cb0283d559cbf84a9 Author: Jérôme Gardou jerome.gardou@reactos.org AuthorDate: Fri Oct 23 16:39:15 2020 +0200 Commit: Jérôme Gardou jerome.gardou@reactos.org CommitDate: Wed Feb 3 09:41:21 2021 +0100
[NTOSKRNL] Use PSECTION struct where possible --- ntoskrnl/include/internal/mm.h | 2 +- ntoskrnl/mm/ARM3/miarm.h | 2 +- ntoskrnl/mm/ARM3/procsup.c | 10 ++++------ ntoskrnl/mm/ARM3/section.c | 15 +++------------ 4 files changed, 9 insertions(+), 20 deletions(-)
diff --git a/ntoskrnl/include/internal/mm.h b/ntoskrnl/include/internal/mm.h index 1fbe513524f..4ca7e6717aa 100644 --- a/ntoskrnl/include/internal/mm.h +++ b/ntoskrnl/include/internal/mm.h @@ -221,7 +221,7 @@ typedef struct _MEMORY_AREA { struct { - ROS_SECTION_OBJECT* Section; + PROS_SECTION_OBJECT Section; LARGE_INTEGER ViewOffset; PMM_SECTION_SEGMENT Segment; LIST_ENTRY RegionListHead; diff --git a/ntoskrnl/mm/ARM3/miarm.h b/ntoskrnl/mm/ARM3/miarm.h index ade2696cf1d..025cd6f6561 100644 --- a/ntoskrnl/mm/ARM3/miarm.h +++ b/ntoskrnl/mm/ARM3/miarm.h @@ -1071,7 +1071,7 @@ FORCEINLINE BOOLEAN MiIsRosSectionObject(IN PVOID Section) { - PROS_SECTION_OBJECT RosSection = Section; + PSECTION RosSection = Section; return RosSection->u.Flags.filler; }
diff --git a/ntoskrnl/mm/ARM3/procsup.c b/ntoskrnl/mm/ARM3/procsup.c index a183f8a099f..eb8e68180d4 100644 --- a/ntoskrnl/mm/ARM3/procsup.c +++ b/ntoskrnl/mm/ARM3/procsup.c @@ -941,7 +941,6 @@ MmInitializeProcessAddressSpace(IN PEPROCESS Process, NTSTATUS Status = STATUS_SUCCESS; SIZE_T ViewSize = 0; PVOID ImageBase = 0; - PROS_SECTION_OBJECT SectionObject = Section; PMMPTE PointerPte; KIRQL OldIrql; PMMPDE PointerPde; @@ -1048,10 +1047,11 @@ MmInitializeProcessAddressSpace(IN PEPROCESS Process, #endif
/* Check if there's a Section Object */ - if (SectionObject) + if (Section) { /* Determine the image file name and save it to EPROCESS */ - FileName = SectionObject->FileObject->FileName; + PFILE_OBJECT FileObject = MmGetFileObjectForSection(Section); + FileName = FileObject->FileName; Source = (PWCHAR)((PCHAR)FileName.Buffer + FileName.Length); if (FileName.Buffer) { @@ -1083,9 +1083,7 @@ MmInitializeProcessAddressSpace(IN PEPROCESS Process, if (AuditName) { /* Setup the audit name */ - Status = SeInitializeProcessAuditName(SectionObject->FileObject, - FALSE, - AuditName); + Status = SeInitializeProcessAuditName(FileObject, FALSE, AuditName); if (!NT_SUCCESS(Status)) { /* Fail */ diff --git a/ntoskrnl/mm/ARM3/section.c b/ntoskrnl/mm/ARM3/section.c index bff71dfe81c..1090a8dfada 100644 --- a/ntoskrnl/mm/ARM3/section.c +++ b/ntoskrnl/mm/ARM3/section.c @@ -1831,19 +1831,10 @@ MmGetFileNameForSection(IN PVOID Section, OUT POBJECT_NAME_INFORMATION *ModuleName) { PFILE_OBJECT FileObject; + PSECTION SectionObject = Section;
/* Make sure it's an image section */ - if (MiIsRosSectionObject(Section) == FALSE) - { - /* Check ARM3 Section flag */ - if (((PSECTION)Section)->u.Flags.Image == 0) - { - /* It's not, fail */ - DPRINT1("Not an image section\n"); - return STATUS_SECTION_NOT_IMAGE; - } - } - else if (!(((PROS_SECTION_OBJECT)Section)->u.Flags.Image)) + if (SectionObject->u.Flags.Image == 0) { /* It's not, fail */ DPRINT1("Not an image section\n"); @@ -3594,7 +3585,7 @@ NtMapViewOfSection(IN HANDLE SectionHandle, PVOID SafeBaseAddress; LARGE_INTEGER SafeSectionOffset; SIZE_T SafeViewSize; - PROS_SECTION_OBJECT Section; + PSECTION Section; PEPROCESS Process; NTSTATUS Status; ACCESS_MASK DesiredAccess;