mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 12:23:25 +00:00
- Make use of _SEH2_YIELD in Mm
svn path=/trunk/; revision=42929
This commit is contained in:
@@ -659,9 +659,8 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
/* Get the exception code */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
_SEH2_YIELD(return Status);
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
@@ -949,7 +948,7 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle,
|
||||
*/
|
||||
{
|
||||
MEMORY_AREA* MemoryArea;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
PEPROCESS Process;
|
||||
PMMSUPPORT AddressSpace;
|
||||
PVOID BaseAddress;
|
||||
@@ -967,7 +966,7 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle,
|
||||
return STATUS_INVALID_PARAMETER_4;
|
||||
}
|
||||
|
||||
if(ExGetPreviousMode() != KernelMode)
|
||||
if (ExGetPreviousMode() != KernelMode)
|
||||
{
|
||||
_SEH2_TRY
|
||||
{
|
||||
@@ -977,11 +976,10 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
/* Get exception code */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
if (!NT_SUCCESS(Status)) return Status;
|
||||
}
|
||||
|
||||
BaseAddress = (PVOID)PAGE_ROUND_DOWN((*PBaseAddress));
|
||||
|
||||
@@ -519,7 +519,7 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
|
||||
IN PLARGE_INTEGER MaximumSize,
|
||||
IN ULONG Reserved)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
HANDLE FileHandle;
|
||||
IO_STATUS_BLOCK IoStatus;
|
||||
@@ -560,14 +560,10 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -3496,7 +3496,7 @@ NtCreateSection (OUT PHANDLE SectionHandle,
|
||||
LARGE_INTEGER SafeMaximumSize;
|
||||
PVOID SectionObject;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
|
||||
PreviousMode = ExGetPreviousMode();
|
||||
|
||||
@@ -3514,14 +3514,10 @@ NtCreateSection (OUT PHANDLE SectionHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
Status = MmCreateSection(&SectionObject,
|
||||
@@ -3570,7 +3566,7 @@ NtOpenSection(PHANDLE SectionHandle,
|
||||
{
|
||||
HANDLE hSection;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
|
||||
PreviousMode = ExGetPreviousMode();
|
||||
|
||||
@@ -3582,14 +3578,10 @@ NtOpenSection(PHANDLE SectionHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
Status = ObOpenObjectByName(ObjectAttributes,
|
||||
@@ -3729,7 +3721,7 @@ NtMapViewOfSection(IN HANDLE SectionHandle,
|
||||
PEPROCESS Process;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
PMMSUPPORT AddressSpace;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
ULONG tmpProtect;
|
||||
ACCESS_MASK DesiredAccess;
|
||||
|
||||
@@ -3779,14 +3771,10 @@ NtMapViewOfSection(IN HANDLE SectionHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4263,7 +4251,7 @@ NtQuerySection(IN HANDLE SectionHandle,
|
||||
{
|
||||
PROS_SECTION_OBJECT Section;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
PAGED_CODE();
|
||||
|
||||
PreviousMode = ExGetPreviousMode();
|
||||
@@ -4392,7 +4380,7 @@ NtExtendSection(IN HANDLE SectionHandle,
|
||||
LARGE_INTEGER SafeNewMaximumSize;
|
||||
PROS_SECTION_OBJECT Section;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
|
||||
PreviousMode = ExGetPreviousMode();
|
||||
|
||||
@@ -4406,14 +4394,10 @@ NtExtendSection(IN HANDLE SectionHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
Status = ObReferenceObjectByHandle(SectionHandle,
|
||||
|
||||
@@ -70,7 +70,6 @@ MiDoMappedCopy(IN PEPROCESS SourceProcess,
|
||||
KAPC_STATE ApcState;
|
||||
BOOLEAN HaveBadAddress;
|
||||
ULONG_PTR BadAddress;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
PAGED_CODE();
|
||||
|
||||
/* Calculate the maximum amount of data to move */
|
||||
@@ -165,8 +164,7 @@ MiDoMappedCopy(IN PEPROCESS SourceProcess,
|
||||
if ((FailedInProbe) || (FailedInMapping))
|
||||
{
|
||||
/* Exit */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
_SEH2_YIELD(return Status);
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
|
||||
/* Otherwise, we failed probably during the move */
|
||||
@@ -182,13 +180,10 @@ MiDoMappedCopy(IN PEPROCESS SourceProcess,
|
||||
}
|
||||
|
||||
/* Return partial copy */
|
||||
Status = STATUS_PARTIAL_COPY;
|
||||
_SEH2_YIELD(return STATUS_PARTIAL_COPY);
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Check for SEH status */
|
||||
if (Status != STATUS_SUCCESS) return Status;
|
||||
|
||||
/* Detach from target */
|
||||
KeUnstackDetachProcess(&ApcState);
|
||||
|
||||
@@ -225,7 +220,6 @@ MiDoPoolCopy(IN PEPROCESS SourceProcess,
|
||||
KAPC_STATE ApcState;
|
||||
BOOLEAN HaveBadAddress;
|
||||
ULONG_PTR BadAddress;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
PAGED_CODE();
|
||||
|
||||
/* Calculate the maximum amount of data to move */
|
||||
@@ -313,8 +307,7 @@ MiDoPoolCopy(IN PEPROCESS SourceProcess,
|
||||
if (FailedInProbe)
|
||||
{
|
||||
/* Exit */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
_SEH2_YIELD(return Status);
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
|
||||
/* Otherwise, we failed probably during the move */
|
||||
@@ -330,13 +323,10 @@ MiDoPoolCopy(IN PEPROCESS SourceProcess,
|
||||
}
|
||||
|
||||
/* Return partial copy */
|
||||
Status = STATUS_PARTIAL_COPY;
|
||||
_SEH2_YIELD(return STATUS_PARTIAL_COPY);
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Check for SEH status */
|
||||
if (Status != STATUS_SUCCESS) return Status;
|
||||
|
||||
/* Detach from target */
|
||||
KeUnstackDetachProcess(&ApcState);
|
||||
|
||||
@@ -779,7 +769,7 @@ NtReadVirtualMemory(IN HANDLE ProcessHandle,
|
||||
{
|
||||
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
|
||||
PEPROCESS Process;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
SIZE_T BytesRead = 0;
|
||||
PAGED_CODE();
|
||||
|
||||
@@ -804,13 +794,10 @@ NtReadVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
/* Get exception code */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Return if we failed */
|
||||
if (!NT_SUCCESS(Status)) return Status;
|
||||
}
|
||||
|
||||
/* Reference the process */
|
||||
@@ -866,7 +853,7 @@ NtWriteVirtualMemory(IN HANDLE ProcessHandle,
|
||||
{
|
||||
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
|
||||
PEPROCESS Process;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
ULONG BytesWritten = 0;
|
||||
PAGED_CODE();
|
||||
|
||||
@@ -891,13 +878,10 @@ NtWriteVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
/* Get exception code */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Return if we failed */
|
||||
if (!NT_SUCCESS(Status)) return Status;
|
||||
}
|
||||
|
||||
/* Reference the process */
|
||||
@@ -957,7 +941,7 @@ NtProtectVirtualMemory(IN HANDLE ProcessHandle,
|
||||
PVOID BaseAddress = NULL;
|
||||
SIZE_T NumberOfBytesToProtect = 0;
|
||||
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
PAGED_CODE();
|
||||
|
||||
/* Check for valid protection flags */
|
||||
@@ -991,13 +975,10 @@ NtProtectVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
/* Get exception code */
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/* Return on exception */
|
||||
if (!NT_SUCCESS(Status)) return Status;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1065,7 +1046,7 @@ NtQueryVirtualMemory(IN HANDLE ProcessHandle,
|
||||
IN SIZE_T Length,
|
||||
OUT PSIZE_T UnsafeResultLength)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status;
|
||||
SIZE_T ResultLength = 0;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
WCHAR ModuleFileNameBuffer[MAX_PATH] = {0};
|
||||
@@ -1098,14 +1079,10 @@ NtQueryVirtualMemory(IN HANDLE ProcessHandle,
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
Status = _SEH2_GetExceptionCode();
|
||||
/* Return the exception code */
|
||||
_SEH2_YIELD(return _SEH2_GetExceptionCode());
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
|
||||
if (Address >= MmSystemRangeStart)
|
||||
|
||||
Reference in New Issue
Block a user