mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 01:25:56 +00:00
[NTOS]: Handle faults on user-mode addresses, from user-mode processes, if they are owned by ARM3, so they can be forwarded to the VAD fault handler.
svn path=/trunk/; revision=48164
This commit is contained in:
parent
e6cdd4d0fd
commit
f9444f0c52
1 changed files with 6 additions and 1 deletions
|
@ -284,6 +284,11 @@ MmAccessFault(IN BOOLEAN StoreInstruction,
|
||||||
* can go away.
|
* can go away.
|
||||||
*/
|
*/
|
||||||
MemoryArea = MmLocateMemoryAreaByAddress(MmGetKernelAddressSpace(), Address);
|
MemoryArea = MmLocateMemoryAreaByAddress(MmGetKernelAddressSpace(), Address);
|
||||||
|
if (!(MemoryArea) && (Address <= MM_HIGHEST_VAD_ADDRESS))
|
||||||
|
{
|
||||||
|
/* Could this be a VAD fault from user-mode? */
|
||||||
|
MemoryArea = MmLocateMemoryAreaByAddress(MmGetCurrentAddressSpace(), Address);
|
||||||
|
}
|
||||||
if ((!(MemoryArea) && ((ULONG_PTR)Address >= (ULONG_PTR)MmPagedPoolStart)) ||
|
if ((!(MemoryArea) && ((ULONG_PTR)Address >= (ULONG_PTR)MmPagedPoolStart)) ||
|
||||||
((MemoryArea) && (MemoryArea->Type == MEMORY_AREA_OWNED_BY_ARM3)))
|
((MemoryArea) && (MemoryArea->Type == MEMORY_AREA_OWNED_BY_ARM3)))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue