Rebase against c293cd781fb4b330b7d93171501134f86a5138b8.

This commit is contained in:
Alistair Leslie-Hughes
2023-05-26 09:22:33 +10:00
parent a580edefe1
commit 0cd181d0ce
15 changed files with 72 additions and 1197 deletions

View File

@@ -1,4 +1,4 @@
From 76467d83722de864a4fa856a3c294c999468954e Mon Sep 17 00:00:00 2001
From 5be3a73fdd9728f6280a2c0b790166c94309bf73 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Mon, 25 Nov 2019 12:19:20 +0300
Subject: [PATCH] ntdll: Force virtual memory allocation order.
@@ -16,7 +16,7 @@ Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46568
1 file changed, 227 insertions(+), 223 deletions(-)
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index 82a0a91cf14..b189ded181b 100644
index 13aa67c2d82..fd5bb86e6de 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -1275,44 +1275,15 @@ static struct file_view *find_view_range( const void *addr, size_t size )
@@ -475,8 +475,8 @@ index 82a0a91cf14..b189ded181b 100644
+
if (alloc_type & MEM_REPLACE_PLACEHOLDER)
{
if (!(*view_ret = find_view( base, 0 )))
@@ -2059,6 +2100,8 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
struct file_view *view;
@@ -2046,6 +2087,8 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
return STATUS_SUCCESS;
}
@@ -485,7 +485,7 @@ index 82a0a91cf14..b189ded181b 100644
if (base)
{
if (is_beyond_limit( base, size, address_space_limit ))
@@ -2069,52 +2112,10 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
@@ -2056,52 +2099,10 @@ static NTSTATUS map_view( struct file_view **view_ret, void *base, size_t size,
if (status != STATUS_SUCCESS) return status;
ptr = base;
}
@@ -540,7 +540,7 @@ index 82a0a91cf14..b189ded181b 100644
status = create_view( view_ret, ptr, size, vprot );
if (status != STATUS_SUCCESS) unmap_area( ptr, size );
return status;
@@ -3044,6 +3045,7 @@ static unsigned int virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG_P
@@ -3050,6 +3051,7 @@ static unsigned int virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG_P
done:
server_leave_uninterrupted_section( &virtual_mutex, &sigset );
if (needs_close) close( unix_handle );
@@ -548,7 +548,7 @@ index 82a0a91cf14..b189ded181b 100644
return res;
}
@@ -3112,6 +3114,7 @@ void virtual_init(void)
@@ -3118,6 +3120,7 @@ void virtual_init(void)
if (preload_reserve_start)
address_space_start = min( address_space_start, preload_reserve_start );
}
@@ -556,7 +556,7 @@ index 82a0a91cf14..b189ded181b 100644
}
/* try to find space in a reserved area for the views and pages protection table */
@@ -5796,6 +5799,7 @@ NTSTATUS WINAPI NtWow64AllocateVirtualMemory64( HANDLE process, ULONG64 *ret, UL
@@ -5842,6 +5845,7 @@ NTSTATUS WINAPI NtWow64AllocateVirtualMemory64( HANDLE process, ULONG64 *ret, UL
*ret = (ULONG_PTR)base;
*size_ptr = size;
}