mirror of
https://github.com/reactos/reactos.git
synced 2024-07-06 20:55:16 +00:00
[NTOSKRNL]
- replace some AlignUp with ALIGN_UP_BY - Fix several MSVC / amd64 warnings svn path=/trunk/; revision=53733
This commit is contained in:
parent
922f076616
commit
be62192d9e
|
@ -161,9 +161,9 @@ static GENERIC_MAPPING MmpSectionMapping = {
|
|||
#define SHARE_COUNT_FROM_SSE(E) (((E) & 0x00000FFE) >> 1)
|
||||
#define IS_SWAP_FROM_SSE(E) ((E) & 0x00000001)
|
||||
#define MAX_SHARE_COUNT 0x7FF
|
||||
#define MAKE_SSE(P, C) ((P) | ((C) << 1))
|
||||
#define MAKE_SSE(P, C) ((ULONG)(P) | ((C) << 1))
|
||||
#define SWAPENTRY_FROM_SSE(E) ((E) >> 1)
|
||||
#define MAKE_SWAP_SSE(S) (((S) << 1) | 0x1)
|
||||
#define MAKE_SWAP_SSE(S) (((ULONG)(S) << 1) | 0x1)
|
||||
|
||||
static const INFORMATION_CLASS_INFO ExSectionInfoClass[] =
|
||||
{
|
||||
|
@ -203,7 +203,7 @@ NTSTATUS NTAPI PeFmtCreateSection(IN CONST VOID * FileHeader,
|
|||
PMM_SECTION_SEGMENT pssSegments;
|
||||
LARGE_INTEGER lnOffset;
|
||||
PVOID pBuffer;
|
||||
ULONG nPrevVirtualEndOfSegment = 0;
|
||||
SIZE_T nPrevVirtualEndOfSegment = 0;
|
||||
ULONG nFileSizeOfHeaders = 0;
|
||||
ULONG i;
|
||||
|
||||
|
@ -429,7 +429,7 @@ l_ReadHeaderFromFile:
|
|||
if(pioh64OptHeader->SizeOfStackReserve > MAXULONG_PTR)
|
||||
DIE(("SizeOfStackReserve exceeds the address space\n"));
|
||||
|
||||
ImageSectionObject->StackReserve = pioh64OptHeader->SizeOfStackReserve;
|
||||
ImageSectionObject->StackReserve = (ULONG_PTR)pioh64OptHeader->SizeOfStackReserve;
|
||||
}
|
||||
|
||||
if(RTL_CONTAINS_FIELD(pioh64OptHeader, cbOptHeaderSize, SizeOfStackCommit))
|
||||
|
@ -437,7 +437,7 @@ l_ReadHeaderFromFile:
|
|||
if(pioh64OptHeader->SizeOfStackCommit > MAXULONG_PTR)
|
||||
DIE(("SizeOfStackCommit exceeds the address space\n"));
|
||||
|
||||
ImageSectionObject->StackCommit = pioh64OptHeader->SizeOfStackCommit;
|
||||
ImageSectionObject->StackCommit = (ULONG_PTR)pioh64OptHeader->SizeOfStackCommit;
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -582,7 +582,7 @@ l_ReadHeaderFromFile:
|
|||
ImageSectionObject->Segments = AllocateSegmentsCb(ImageSectionObject->NrSegments);
|
||||
|
||||
if(ImageSectionObject->Segments == NULL)
|
||||
DIE(("AllocateSegments failed\n"));
|
||||
DIE(("AllocateSegments failed\n"));
|
||||
|
||||
/* initialize the headers segment */
|
||||
pssSegments = ImageSectionObject->Segments;
|
||||
|
@ -590,10 +590,11 @@ l_ReadHeaderFromFile:
|
|||
// ASSERT(IsAligned(cbHeadersSize, nFileAlignment));
|
||||
|
||||
if(!AlignUp(&nFileSizeOfHeaders, cbHeadersSize, nFileAlignment))
|
||||
DIE(("Cannot align the size of the section headers\n"));
|
||||
DIE(("Cannot align the size of the section headers\n"));
|
||||
|
||||
if(!AlignUp(&nPrevVirtualEndOfSegment, cbHeadersSize, nSectionAlignment))
|
||||
DIE(("Cannot align the size of the section headers\n"));
|
||||
nPrevVirtualEndOfSegment = ALIGN_UP_BY(cbHeadersSize, nSectionAlignment);
|
||||
if (nPrevVirtualEndOfSegment < cbHeadersSize)
|
||||
DIE(("Cannot align the size of the section headers\n"));
|
||||
|
||||
pssSegments[0].FileOffset = 0;
|
||||
pssSegments[0].Protection = PAGE_READONLY;
|
||||
|
@ -672,11 +673,10 @@ l_ReadHeaderFromFile:
|
|||
else
|
||||
pssSegments[i].Length = pishSectionHeaders[i].Misc.VirtualSize;
|
||||
|
||||
if(!AlignUp(&pssSegments[i].Length, pssSegments[i].Length, nSectionAlignment))
|
||||
pssSegments[i].Length = ALIGN_UP_BY(pssSegments[i].Length, nSectionAlignment);
|
||||
if (pssSegments[i].Length < pssSegments[i].Length)
|
||||
DIE(("Cannot align the virtual size of section %u\n", i));
|
||||
|
||||
ASSERT(IsAligned(pssSegments[i].Length, nSectionAlignment));
|
||||
|
||||
if(pssSegments[i].Length == 0)
|
||||
DIE(("Virtual size of section %u is null\n", i));
|
||||
|
||||
|
@ -684,8 +684,9 @@ l_ReadHeaderFromFile:
|
|||
pssSegments[i].Characteristics = pishSectionHeaders[i].Characteristics;
|
||||
|
||||
/* ensure the memory image is no larger than 4GB */
|
||||
if(!Intsafe_AddULong32(&nPrevVirtualEndOfSegment, pssSegments[i].VirtualAddress, pssSegments[i].Length))
|
||||
DIE(("The image is larger than 4GB\n"));
|
||||
nPrevVirtualEndOfSegment = pssSegments[i].VirtualAddress + pssSegments[i].Length;
|
||||
if (nPrevVirtualEndOfSegment < pssSegments[i].VirtualAddress)
|
||||
DIE(("The image is too large\n"));
|
||||
}
|
||||
|
||||
if(nSectionAlignment >= PAGE_SIZE)
|
||||
|
@ -830,12 +831,12 @@ MmUnlockSectionSegment(PMM_SECTION_SEGMENT Segment)
|
|||
VOID
|
||||
NTAPI
|
||||
MmSetPageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
|
||||
ULONG Offset,
|
||||
ULONG Entry)
|
||||
ULONG_PTR Offset,
|
||||
ULONG_PTR Entry)
|
||||
{
|
||||
PSECTION_PAGE_TABLE Table;
|
||||
ULONG DirectoryOffset;
|
||||
ULONG TableOffset;
|
||||
ULONG_PTR DirectoryOffset;
|
||||
ULONG_PTR TableOffset;
|
||||
|
||||
if (Segment->Length <= NR_SECTION_PAGE_TABLES * PAGE_SIZE)
|
||||
{
|
||||
|
@ -860,19 +861,19 @@ MmSetPageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
|
|||
}
|
||||
}
|
||||
TableOffset = PAGE_TO_SECTION_PAGE_TABLE_OFFSET(Offset);
|
||||
Table->Entry[TableOffset] = Entry;
|
||||
Table->Entry[TableOffset] = (ULONG)Entry;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
MmGetPageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
|
||||
ULONG Offset)
|
||||
ULONG_PTR Offset)
|
||||
{
|
||||
PSECTION_PAGE_TABLE Table;
|
||||
ULONG Entry;
|
||||
ULONG DirectoryOffset;
|
||||
ULONG TableOffset;
|
||||
ULONG_PTR DirectoryOffset;
|
||||
ULONG_PTR TableOffset;
|
||||
|
||||
DPRINT("MmGetPageEntrySection(Segment %x, Offset %x)\n", Segment, Offset);
|
||||
|
||||
|
@ -898,7 +899,7 @@ MmGetPageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
|
|||
VOID
|
||||
NTAPI
|
||||
MmSharePageEntrySectionSegment(PMM_SECTION_SEGMENT Segment,
|
||||
ULONG Offset)
|
||||
ULONG_PTR Offset)
|
||||
{
|
||||
ULONG Entry;
|
||||
|
||||
|
@ -1083,7 +1084,7 @@ MiCopyFromUserPage(PFN_NUMBER DestPage, PVOID SourceAddress)
|
|||
PEPROCESS Process;
|
||||
KIRQL Irql;
|
||||
PVOID TempAddress;
|
||||
|
||||
|
||||
Process = PsGetCurrentProcess();
|
||||
TempAddress = MiMapPageInHyperSpace(Process, DestPage, &Irql);
|
||||
if (TempAddress == NULL)
|
||||
|
@ -1099,7 +1100,7 @@ MiCopyFromUserPage(PFN_NUMBER DestPage, PVOID SourceAddress)
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
MiReadPage(PMEMORY_AREA MemoryArea,
|
||||
ULONG SegOffset,
|
||||
ULONG_PTR SegOffset,
|
||||
PPFN_NUMBER Page)
|
||||
/*
|
||||
* FUNCTION: Read a page for a section backed memory area.
|
||||
|
@ -1110,16 +1111,16 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
*/
|
||||
{
|
||||
ULONG BaseOffset;
|
||||
ULONG FileOffset;
|
||||
ULONG_PTR FileOffset;
|
||||
PVOID BaseAddress;
|
||||
BOOLEAN UptoDate;
|
||||
PCACHE_SEGMENT CacheSeg;
|
||||
PFILE_OBJECT FileObject;
|
||||
NTSTATUS Status;
|
||||
ULONG RawLength;
|
||||
ULONG_PTR RawLength;
|
||||
PBCB Bcb;
|
||||
BOOLEAN IsImageSection;
|
||||
ULONG Length;
|
||||
ULONG_PTR Length;
|
||||
|
||||
FileObject = MemoryArea->Data.SectionData.Section->FileObject;
|
||||
Bcb = FileObject->SectionObjectPointer->SharedCacheMap;
|
||||
|
@ -1147,7 +1148,7 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
* alignment less than the file system block size.
|
||||
*/
|
||||
Status = CcRosGetCacheSegment(Bcb,
|
||||
FileOffset,
|
||||
(ULONG)FileOffset,
|
||||
&BaseOffset,
|
||||
&BaseAddress,
|
||||
&UptoDate,
|
||||
|
@ -1182,7 +1183,7 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
PEPROCESS Process;
|
||||
KIRQL Irql;
|
||||
PVOID PageAddr;
|
||||
ULONG CacheSegOffset;
|
||||
ULONG_PTR CacheSegOffset;
|
||||
|
||||
/*
|
||||
* Allocate a page, this is rather complicated by the possibility
|
||||
|
@ -1196,7 +1197,7 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
return(Status);
|
||||
}
|
||||
Status = CcRosGetCacheSegment(Bcb,
|
||||
FileOffset,
|
||||
(ULONG)FileOffset,
|
||||
&BaseOffset,
|
||||
&BaseAddress,
|
||||
&UptoDate,
|
||||
|
@ -1237,7 +1238,7 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
MiUnmapPageInHyperSpace(Process, PageAddr, Irql);
|
||||
CcRosReleaseCacheSegment(Bcb, CacheSeg, TRUE, FALSE, FALSE);
|
||||
Status = CcRosGetCacheSegment(Bcb,
|
||||
FileOffset + CacheSegOffset,
|
||||
(ULONG)(FileOffset + CacheSegOffset),
|
||||
&BaseOffset,
|
||||
&BaseAddress,
|
||||
&UptoDate,
|
||||
|
@ -1289,9 +1290,9 @@ MiReadPage(PMEMORY_AREA MemoryArea,
|
|||
*/
|
||||
{
|
||||
MM_REQUIRED_RESOURCES Resources = { };
|
||||
|
||||
|
||||
Resources.Context = MemoryArea->Data.SectionData.Section->FileObject;
|
||||
Resources.FileOffset.QuadPart = SegOffset +
|
||||
Resources.FileOffset.QuadPart = SegOffset +
|
||||
MemoryArea->Data.SectionData.Segment->FileOffset;
|
||||
Resources.Consumer = MC_USER;
|
||||
Resources.Amount = PAGE_SIZE;
|
||||
|
@ -1317,14 +1318,14 @@ MmNotPresentFaultSectionView(PMMSUPPORT AddressSpace,
|
|||
PVOID PAddress;
|
||||
PROS_SECTION_OBJECT Section;
|
||||
PMM_SECTION_SEGMENT Segment;
|
||||
ULONG Entry;
|
||||
ULONG Entry1;
|
||||
ULONG_PTR Entry;
|
||||
ULONG_PTR Entry1;
|
||||
ULONG Attributes;
|
||||
PMM_PAGEOP PageOp;
|
||||
PMM_REGION Region;
|
||||
BOOLEAN HasSwapEntry;
|
||||
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
|
||||
|
||||
|
||||
/*
|
||||
* There is a window between taking the page fault and locking the
|
||||
* address space when another thread could load the page so we check
|
||||
|
@ -1336,8 +1337,8 @@ MmNotPresentFaultSectionView(PMMSUPPORT AddressSpace,
|
|||
}
|
||||
|
||||
PAddress = MM_ROUND_DOWN(Address, PAGE_SIZE);
|
||||
Offset = (ULONG_PTR)PAddress - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset;
|
||||
Offset = (ULONG)((ULONG_PTR)PAddress - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset);
|
||||
|
||||
Segment = MemoryArea->Data.SectionData.Segment;
|
||||
Section = MemoryArea->Data.SectionData.Section;
|
||||
|
@ -1835,8 +1836,8 @@ MmAccessFaultSectionView(PMMSUPPORT AddressSpace,
|
|||
* Find the offset of the page
|
||||
*/
|
||||
PAddress = MM_ROUND_DOWN(Address, PAGE_SIZE);
|
||||
Offset = (ULONG_PTR)PAddress - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset;
|
||||
Offset = (ULONG)((ULONG_PTR)PAddress - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset);
|
||||
|
||||
Segment = MemoryArea->Data.SectionData.Segment;
|
||||
Section = MemoryArea->Data.SectionData.Section;
|
||||
|
@ -2041,7 +2042,7 @@ MmPageOutSectionView(PMMSUPPORT AddressSpace,
|
|||
BOOLEAN IsImageSection;
|
||||
PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
|
||||
KIRQL OldIrql;
|
||||
|
||||
|
||||
Address = (PVOID)PAGE_ROUND_DOWN(Address);
|
||||
|
||||
/*
|
||||
|
@ -2050,8 +2051,8 @@ MmPageOutSectionView(PMMSUPPORT AddressSpace,
|
|||
Context.Segment = MemoryArea->Data.SectionData.Segment;
|
||||
Context.Section = MemoryArea->Data.SectionData.Section;
|
||||
|
||||
Context.Offset = (ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset;
|
||||
Context.Offset = (ULONG)((ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress
|
||||
+ MemoryArea->Data.SectionData.ViewOffset);
|
||||
FileOffset = Context.Offset + Context.Segment->FileOffset;
|
||||
|
||||
IsImageSection = Context.Section->AllocationAttributes & SEC_IMAGE ? TRUE : FALSE;
|
||||
|
@ -2392,7 +2393,7 @@ MmWritePageSectionView(PMMSUPPORT AddressSpace,
|
|||
PVOID Address,
|
||||
PMM_PAGEOP PageOp)
|
||||
{
|
||||
ULONG Offset;
|
||||
ULONG_PTR Offset;
|
||||
PROS_SECTION_OBJECT Section;
|
||||
PMM_SECTION_SEGMENT Segment;
|
||||
PFN_NUMBER Page;
|
||||
|
@ -2489,7 +2490,7 @@ MmWritePageSectionView(PMMSUPPORT AddressSpace,
|
|||
{
|
||||
ASSERT(SwapEntry == 0);
|
||||
#ifndef NEWCC
|
||||
CcRosMarkDirtyCacheSegment(Bcb, Offset + Segment->FileOffset);
|
||||
CcRosMarkDirtyCacheSegment(Bcb, (ULONG)Offset + Segment->FileOffset);
|
||||
#endif
|
||||
PageOp->Status = STATUS_SUCCESS;
|
||||
MmspCompleteAndReleasePageOp(PageOp);
|
||||
|
@ -2538,7 +2539,7 @@ MmWritePageSectionView(PMMSUPPORT AddressSpace,
|
|||
static VOID
|
||||
MmAlterViewAttributes(PMMSUPPORT AddressSpace,
|
||||
PVOID BaseAddress,
|
||||
ULONG RegionSize,
|
||||
SIZE_T RegionSize,
|
||||
ULONG OldType,
|
||||
ULONG OldProtect,
|
||||
ULONG NewType,
|
||||
|
@ -2572,7 +2573,7 @@ MmAlterViewAttributes(PMMSUPPORT AddressSpace,
|
|||
*/
|
||||
if (DoCOW && MmIsPagePresent(Process, Address))
|
||||
{
|
||||
ULONG Offset;
|
||||
ULONG_PTR Offset;
|
||||
ULONG Entry;
|
||||
PFN_NUMBER Page;
|
||||
|
||||
|
@ -2604,7 +2605,7 @@ NTAPI
|
|||
MmProtectSectionView(PMMSUPPORT AddressSpace,
|
||||
PMEMORY_AREA MemoryArea,
|
||||
PVOID BaseAddress,
|
||||
ULONG Length,
|
||||
SIZE_T Length,
|
||||
ULONG Protect,
|
||||
PULONG OldProtect)
|
||||
{
|
||||
|
@ -2614,7 +2615,7 @@ MmProtectSectionView(PMMSUPPORT AddressSpace,
|
|||
|
||||
MaxLength = (ULONG_PTR)MemoryArea->EndingAddress - (ULONG_PTR)BaseAddress;
|
||||
if (Length > MaxLength)
|
||||
Length = MaxLength;
|
||||
Length = (ULONG)MaxLength;
|
||||
|
||||
Region = MmFindRegion(MemoryArea->StartingAddress,
|
||||
&MemoryArea->Data.SectionData.RegionListHead,
|
||||
|
@ -2682,7 +2683,7 @@ MmpFreePageFileSegment(PMM_SECTION_SEGMENT Segment)
|
|||
ULONG Length;
|
||||
ULONG Offset;
|
||||
ULONG Entry;
|
||||
ULONG SavedSwapEntry;
|
||||
SWAPENTRY SavedSwapEntry;
|
||||
PFN_NUMBER Page;
|
||||
|
||||
Page = 0;
|
||||
|
@ -2870,7 +2871,7 @@ MmInitSectionImplementation(VOID)
|
|||
ObjectTypeInitializer.CloseProcedure = MmpCloseSection;
|
||||
ObjectTypeInitializer.ValidAccessMask = SECTION_ALL_ACCESS;
|
||||
ObCreateObjectType(&Name, &ObjectTypeInitializer, NULL, &MmSectionObjectType);
|
||||
|
||||
|
||||
MmCreatePhysicalMemorySection();
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
|
@ -3337,7 +3338,7 @@ ExeFmtpReadFile(IN PVOID File,
|
|||
|
||||
if(NT_SUCCESS(Status))
|
||||
{
|
||||
UsedSize = Iosb.Information;
|
||||
UsedSize = (ULONG)Iosb.Information;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -3549,13 +3550,13 @@ MmspPageAlignSegments
|
|||
EffectiveSegment->VirtualAddress = PAGE_ROUND_DOWN(VirtualAddress);
|
||||
|
||||
/* Round up the virtual size to the nearest page */
|
||||
EffectiveSegment->Length = PAGE_ROUND_UP(VirtualAddress + EffectiveSegment->Length) -
|
||||
EffectiveSegment->VirtualAddress;
|
||||
EffectiveSegment->Length = (ULONG)(PAGE_ROUND_UP(VirtualAddress + EffectiveSegment->Length) -
|
||||
EffectiveSegment->VirtualAddress);
|
||||
|
||||
/* Adjust the raw address and size */
|
||||
VirtualOffset = VirtualAddress - EffectiveSegment->VirtualAddress;
|
||||
|
||||
if (EffectiveSegment->FileOffset < VirtualOffset)
|
||||
if (EffectiveSegment->FileOffset < (LONG_PTR)VirtualOffset)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -3565,8 +3566,8 @@ MmspPageAlignSegments
|
|||
* offset point in curious and odd places, but that's what we were
|
||||
* asked for
|
||||
*/
|
||||
EffectiveSegment->FileOffset -= VirtualOffset;
|
||||
EffectiveSegment->RawLength += VirtualOffset;
|
||||
EffectiveSegment->FileOffset -= (ULONG)VirtualOffset;
|
||||
EffectiveSegment->RawLength += (ULONG)VirtualOffset;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3650,8 +3651,8 @@ MmspPageAlignSegments
|
|||
*/
|
||||
ASSERT(PAGE_ROUND_UP(Segment->VirtualAddress + Segment->Length) >= EndOfEffectiveSegment);
|
||||
|
||||
EffectiveSegment->Length = PAGE_ROUND_UP(Segment->VirtualAddress + Segment->Length) -
|
||||
EffectiveSegment->VirtualAddress;
|
||||
EffectiveSegment->Length = (ULONG)(PAGE_ROUND_UP(Segment->VirtualAddress + Segment->Length) -
|
||||
EffectiveSegment->VirtualAddress);
|
||||
|
||||
/*
|
||||
* Merge the protection
|
||||
|
@ -4095,8 +4096,8 @@ MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
|
|||
|
||||
Address = (PVOID)PAGE_ROUND_DOWN(Address);
|
||||
|
||||
Offset = ((ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress) +
|
||||
MemoryArea->Data.SectionData.ViewOffset;
|
||||
Offset = (ULONG)(((ULONG_PTR)Address - (ULONG_PTR)MemoryArea->StartingAddress) +
|
||||
MemoryArea->Data.SectionData.ViewOffset);
|
||||
|
||||
Section = MemoryArea->Data.SectionData.Section;
|
||||
Segment = MemoryArea->Data.SectionData.Segment;
|
||||
|
@ -4281,7 +4282,7 @@ MmUnmapViewOfSection(PEPROCESS Process,
|
|||
Offset -= PAGE_SIZE;
|
||||
PageOp = MmCheckForPageOp(MemoryArea, NULL, NULL,
|
||||
MemoryArea->Data.SectionData.Segment,
|
||||
Offset + MemoryArea->Data.SectionData.ViewOffset);
|
||||
(ULONG)Offset + MemoryArea->Data.SectionData.ViewOffset);
|
||||
if (PageOp)
|
||||
{
|
||||
MmUnlockAddressSpace(AddressSpace);
|
||||
|
@ -4399,7 +4400,7 @@ NtQuerySection(IN HANDLE SectionHandle,
|
|||
ExSectionInfoClass,
|
||||
sizeof(ExSectionInfoClass) / sizeof(ExSectionInfoClass[0]),
|
||||
SectionInformation,
|
||||
SectionInformationLength,
|
||||
(ULONG)SectionInformationLength,
|
||||
NULL,
|
||||
ResultLength,
|
||||
PreviousMode);
|
||||
|
@ -4497,7 +4498,7 @@ NtQuerySection(IN HANDLE SectionHandle,
|
|||
|
||||
return(Status);
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME EXPORTED
|
||||
* MmMapViewOfSection
|
||||
|
@ -4578,7 +4579,7 @@ MmMapViewOfSection(IN PVOID SectionObject,
|
|||
AllocationType,
|
||||
Protect);
|
||||
}
|
||||
|
||||
|
||||
ASSERT(Process);
|
||||
|
||||
if (!Protect || Protect & ~PAGE_FLAGS_VALID_FOR_SECTION)
|
||||
|
@ -4599,7 +4600,7 @@ MmMapViewOfSection(IN PVOID SectionObject,
|
|||
ULONG i;
|
||||
ULONG NrSegments;
|
||||
ULONG_PTR ImageBase;
|
||||
ULONG ImageSize;
|
||||
SIZE_T ImageSize;
|
||||
PMM_IMAGE_SECTION_OBJECT ImageSectionObject;
|
||||
PMM_SECTION_SEGMENT SectionSegments;
|
||||
|
||||
|
@ -4623,7 +4624,7 @@ MmMapViewOfSection(IN PVOID SectionObject,
|
|||
ImageSize = max(ImageSize, MaxExtent);
|
||||
}
|
||||
|
||||
ImageSectionObject->ImageSize = ImageSize;
|
||||
ImageSectionObject->ImageSize = (ULONG)ImageSize;
|
||||
|
||||
/* Check there is enough space to map the section at that point. */
|
||||
if (MmLocateMemoryAreaByRegion(AddressSpace, (PVOID)ImageBase,
|
||||
|
@ -4790,7 +4791,7 @@ MmCanFileBeTruncated (IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
|||
else
|
||||
{
|
||||
/* Something must gone wrong
|
||||
* how can we have a Section but no
|
||||
* how can we have a Section but no
|
||||
* reference? */
|
||||
DPRINT("ERROR: DataSectionObject without reference!\n");
|
||||
}
|
||||
|
@ -4841,7 +4842,7 @@ MmMapViewInSystemSpace (IN PVOID SectionObject,
|
|||
PMMSUPPORT AddressSpace;
|
||||
NTSTATUS Status;
|
||||
PAGED_CODE();
|
||||
|
||||
|
||||
if ((ULONG_PTR)SectionObject & 1)
|
||||
{
|
||||
extern PVOID MmSession;
|
||||
|
@ -4972,7 +4973,7 @@ MmCreateSection (OUT PVOID * Section,
|
|||
{
|
||||
ULONG Protection;
|
||||
PROS_SECTION_OBJECT *SectionObject = (PROS_SECTION_OBJECT *)Section;
|
||||
|
||||
|
||||
/* Check if an ARM3 section is being created instead */
|
||||
if (AllocationAttributes & 1)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue