mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against f909d18baf1d97831c55a1d47610427ac2084ca3.
This commit is contained in:
parent
14a3242b92
commit
c26be86c42
@ -1,92 +0,0 @@
|
||||
From 05273f6d078422ad096153761cc386d9b536ac21 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Sat, 18 Aug 2018 15:48:10 -0500
|
||||
Subject: [PATCH] ntdll: Stub for MemoryWorkingSetExInformation.
|
||||
|
||||
---
|
||||
dlls/ntdll/virtual.c | 22 ++++++++++++++++++++++
|
||||
include/winternl.h | 21 ++++++++++++++++++++-
|
||||
2 files changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index de1981767..a15e6211a 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -3144,6 +3144,25 @@ found:
|
||||
}
|
||||
|
||||
|
||||
+static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
|
||||
+ MEMORY_WORKING_SET_EX_INFORMATION *info,
|
||||
+ SIZE_T len, SIZE_T *res_len )
|
||||
+{
|
||||
+ MEMORY_WORKING_SET_EX_INFORMATION *p;
|
||||
+
|
||||
+ for (p = info; (UINT_PTR)(p + 1) <= (UINT_PTR)info + len; p++)
|
||||
+ {
|
||||
+ FIXME("(VirtualAddress=%p) Unimplemented.\n", p->VirtualAddress);
|
||||
+ /* FIXME Mark all addresses as invalid. */
|
||||
+ p->VirtualAttributes.Valid = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (res_len)
|
||||
+ *res_len = (UINT_PTR)p - (UINT_PTR)info;
|
||||
+ return STATUS_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
case c: \
|
||||
FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
|
||||
@@ -3168,6 +3187,9 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
case MemorySectionName:
|
||||
return get_section_name( process, addr, buffer, len, res_len );
|
||||
|
||||
+ case MemoryWorkingSetExInformation:
|
||||
+ return get_working_set_ex( process, addr, buffer, len, res_len );
|
||||
+
|
||||
UNIMPLEMENTED_INFO_CLASS(MemoryWorkingSetList);
|
||||
UNIMPLEMENTED_INFO_CLASS(MemoryBasicVlmInformation);
|
||||
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 9b8bef0fe..79285065a 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -1042,7 +1042,8 @@ typedef enum _MEMORY_INFORMATION_CLASS {
|
||||
MemoryBasicInformation,
|
||||
MemoryWorkingSetList,
|
||||
MemorySectionName,
|
||||
- MemoryBasicVlmInformation
|
||||
+ MemoryBasicVlmInformation,
|
||||
+ MemoryWorkingSetExInformation,
|
||||
} MEMORY_INFORMATION_CLASS;
|
||||
|
||||
typedef struct _MEMORY_SECTION_NAME
|
||||
@@ -1050,6 +1051,24 @@ typedef struct _MEMORY_SECTION_NAME
|
||||
UNICODE_STRING SectionFileName;
|
||||
} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
|
||||
|
||||
+typedef union _MEMORY_WORKING_SET_EX_BLOCK {
|
||||
+ ULONG_PTR Flags;
|
||||
+ struct {
|
||||
+ ULONG_PTR Valid : 1;
|
||||
+ ULONG_PTR ShareCount : 3;
|
||||
+ ULONG_PTR Win32Protection : 11;
|
||||
+ ULONG_PTR Shared : 1;
|
||||
+ ULONG_PTR Node : 6;
|
||||
+ ULONG_PTR Locked : 1;
|
||||
+ ULONG_PTR LargePage : 1;
|
||||
+ } DUMMYSTRUCTNAME;
|
||||
+} MEMORY_WORKING_SET_EX_BLOCK, *PMEMORY_WORKING_SET_EX_BLOCK;
|
||||
+
|
||||
+typedef struct _MEMORY_WORKING_SET_EX_INFORMATION {
|
||||
+ PVOID VirtualAddress;
|
||||
+ MEMORY_WORKING_SET_EX_BLOCK VirtualAttributes;
|
||||
+} MEMORY_WORKING_SET_EX_INFORMATION, *PMEMORY_WORKING_SET_EX_INFORMATION;
|
||||
+
|
||||
typedef enum _MUTANT_INFORMATION_CLASS
|
||||
{
|
||||
MutantBasicInformation
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: [45667] League of Legends 8.15+ fails due to missing implementation of NtQueryVirtualMemory(MemoryWorkingSetExInformation)
|
||||
Depends: ntdll-NtQueryVirtualMemory
|
@ -1,102 +0,0 @@
|
||||
From c3a85e487e8e1ee017a2d03e9f7eccbfdd99306a Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sun, 28 May 2017 04:19:06 +0200
|
||||
Subject: [PATCH] ntdll: Split logic for MemoryBasicInformation into a separate
|
||||
function.
|
||||
|
||||
---
|
||||
dlls/ntdll/virtual.c | 65 ++++++++++++++++++++++++++++++----------------------
|
||||
1 file changed, 37 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index c86ca88..26fe4a8 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -2786,40 +2786,16 @@ static int get_free_mem_state_callback( void *start, size_t size, void *arg )
|
||||
return 1;
|
||||
}
|
||||
|
||||
-#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
- case c: \
|
||||
- FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
|
||||
- return STATUS_INVALID_INFO_CLASS
|
||||
-
|
||||
-/***********************************************************************
|
||||
- * NtQueryVirtualMemory (NTDLL.@)
|
||||
- * ZwQueryVirtualMemory (NTDLL.@)
|
||||
- */
|
||||
-NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
- MEMORY_INFORMATION_CLASS info_class, PVOID buffer,
|
||||
- SIZE_T len, SIZE_T *res_len )
|
||||
+/* get basic information about a memory block */
|
||||
+static NTSTATUS get_basic_memory_info( HANDLE process, LPCVOID addr,
|
||||
+ MEMORY_BASIC_INFORMATION *info,
|
||||
+ SIZE_T len, SIZE_T *res_len )
|
||||
{
|
||||
struct file_view *view;
|
||||
char *base, *alloc_base = 0, *alloc_end = working_set_limit;
|
||||
struct wine_rb_entry *ptr;
|
||||
- MEMORY_BASIC_INFORMATION *info = buffer;
|
||||
sigset_t sigset;
|
||||
|
||||
- if (info_class != MemoryBasicInformation)
|
||||
- {
|
||||
- switch(info_class)
|
||||
- {
|
||||
- UNIMPLEMENTED_INFO_CLASS(MemoryWorkingSetList);
|
||||
- UNIMPLEMENTED_INFO_CLASS(MemorySectionName);
|
||||
- UNIMPLEMENTED_INFO_CLASS(MemoryBasicVlmInformation);
|
||||
-
|
||||
- default:
|
||||
- FIXME("(%p,%p,info_class=%d,%p,%ld,%p) Unknown information class\n",
|
||||
- process, addr, info_class, buffer, len, res_len);
|
||||
- return STATUS_INVALID_INFO_CLASS;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (len < sizeof(MEMORY_BASIC_INFORMATION))
|
||||
return STATUS_INFO_LENGTH_MISMATCH;
|
||||
|
||||
@@ -2934,6 +2910,39 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
}
|
||||
|
||||
|
||||
+#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
+ case c: \
|
||||
+ FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
|
||||
+ return STATUS_INVALID_INFO_CLASS
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * NtQueryVirtualMemory (NTDLL.@)
|
||||
+ * ZwQueryVirtualMemory (NTDLL.@)
|
||||
+ */
|
||||
+NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
+ MEMORY_INFORMATION_CLASS info_class,
|
||||
+ PVOID buffer, SIZE_T len, SIZE_T *res_len )
|
||||
+{
|
||||
+ TRACE("(%p, %p, info_class=%d, %p, %ld, %p)\n",
|
||||
+ process, addr, info_class, buffer, len, res_len);
|
||||
+
|
||||
+ switch(info_class)
|
||||
+ {
|
||||
+ case MemoryBasicInformation:
|
||||
+ return get_basic_memory_info( process, addr, buffer, len, res_len );
|
||||
+
|
||||
+ UNIMPLEMENTED_INFO_CLASS(MemoryWorkingSetList);
|
||||
+ UNIMPLEMENTED_INFO_CLASS(MemorySectionName);
|
||||
+ UNIMPLEMENTED_INFO_CLASS(MemoryBasicVlmInformation);
|
||||
+
|
||||
+ default:
|
||||
+ FIXME("(%p,%p,info_class=%d,%p,%ld,%p) Unknown information class\n",
|
||||
+ process, addr, info_class, buffer, len, res_len);
|
||||
+ return STATUS_INVALID_INFO_CLASS;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
/***********************************************************************
|
||||
* NtLockVirtualMemory (NTDLL.@)
|
||||
* ZwLockVirtualMemory (NTDLL.@)
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,32 +1,24 @@
|
||||
From 0dd49a3b6d7951374e0bd120535f02377112064c Mon Sep 17 00:00:00 2001
|
||||
From e718ef3521d76d455dbfd1088cc83e47121d987c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sun, 28 May 2017 05:19:30 +0200
|
||||
Subject: ntdll: Implement NtQueryVirtualMemory(MemorySectionName). (v3)
|
||||
|
||||
Contains several improvements by Sebastian Lackner <sebastian@fds-team.de>.
|
||||
---
|
||||
dlls/ntdll/virtual.c | 92 ++++++++++++++++++++++++++++++++++++++++++-
|
||||
dlls/psapi/tests/psapi_main.c | 8 +---
|
||||
server/mapping.c | 29 ++++++++++++++
|
||||
server/protocol.def | 9 +++++
|
||||
4 files changed, 130 insertions(+), 8 deletions(-)
|
||||
dlls/ntdll/virtual.c | 91 ++++++++++++++++++++++++++++++++++-
|
||||
dlls/psapi/tests/psapi_main.c | 8 +--
|
||||
server/mapping.c | 29 +++++++++++
|
||||
server/protocol.def | 9 ++++
|
||||
4 files changed, 129 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 4c927597a9f..164186f274b 100644
|
||||
index 6ad2d21e0..f49127c3e 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -2653,6 +2653,7 @@ static int get_free_mem_state_callback( void *start, size_t size, void *arg )
|
||||
return 1;
|
||||
@@ -3192,6 +3192,93 @@ static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
+
|
||||
/* get basic information about a memory block */
|
||||
static NTSTATUS get_basic_memory_info( HANDLE process, LPCVOID addr,
|
||||
MEMORY_BASIC_INFORMATION *info,
|
||||
@@ -2774,6 +2775,93 @@ static NTSTATUS get_basic_memory_info( HANDLE process, LPCVOID addr,
|
||||
}
|
||||
|
||||
|
||||
+/* get file name for mapped section */
|
||||
+static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
+ MEMORY_SECTION_NAME *info,
|
||||
@ -117,9 +109,9 @@ index 4c927597a9f..164186f274b 100644
|
||||
#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
case c: \
|
||||
FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
|
||||
@@ -2795,8 +2883,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
case MemoryBasicInformation:
|
||||
return get_basic_memory_info( process, addr, buffer, len, res_len );
|
||||
@@ -3216,8 +3303,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
case MemoryWorkingSetExInformation:
|
||||
return get_working_set_ex( process, addr, buffer, len, res_len );
|
||||
|
||||
+ case MemorySectionName:
|
||||
+ return get_section_name( process, addr, buffer, len, res_len );
|
||||
@ -130,10 +122,10 @@ index 4c927597a9f..164186f274b 100644
|
||||
|
||||
default:
|
||||
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c
|
||||
index e7af5bc61cc..ef5ae19aeaf 100644
|
||||
index 0df247e9b..1cc0455aa 100644
|
||||
--- a/dlls/psapi/tests/psapi_main.c
|
||||
+++ b/dlls/psapi/tests/psapi_main.c
|
||||
@@ -342,14 +342,7 @@ static BOOL nt_get_mapped_file_name(HANDLE process, LPVOID addr, LPWSTR name, DW
|
||||
@@ -375,14 +375,7 @@ static BOOL nt_get_mapped_file_name(HANDLE process, LPVOID addr, LPWSTR name, DW
|
||||
|
||||
ret_len = 0xdeadbeef;
|
||||
status = pNtQueryVirtualMemory(process, addr, MemorySectionName, buf, buf_len, &ret_len);
|
||||
@ -148,7 +140,7 @@ index e7af5bc61cc..ef5ae19aeaf 100644
|
||||
|
||||
section_name = (MEMORY_SECTION_NAME *)buf;
|
||||
ok(ret_len == section_name->SectionFileName.MaximumLength + sizeof(*section_name), "got %lu, %u\n",
|
||||
@@ -471,6 +464,7 @@ todo_wine {
|
||||
@@ -504,6 +497,7 @@ todo_wine {
|
||||
{
|
||||
ok(memcmp(map_nameW, nt_map_name, lstrlenW(map_nameW)) == 0, "map name does not start with a device name: %s\n", map_name);
|
||||
WideCharToMultiByte(CP_ACP, 0, map_nameW, -1, map_name, MAX_PATH, NULL, NULL);
|
||||
@ -157,10 +149,10 @@ index e7af5bc61cc..ef5ae19aeaf 100644
|
||||
}
|
||||
|
||||
diff --git a/server/mapping.c b/server/mapping.c
|
||||
index a6d34f91aff..8459c316559 100644
|
||||
index 6990a1913..ca28e8909 100644
|
||||
--- a/server/mapping.c
|
||||
+++ b/server/mapping.c
|
||||
@@ -1011,6 +1011,35 @@ DECL_HANDLER(unmap_view)
|
||||
@@ -1064,6 +1064,35 @@ DECL_HANDLER(unmap_view)
|
||||
if (view) free_memory_view( view );
|
||||
}
|
||||
|
||||
@ -197,10 +189,10 @@ index a6d34f91aff..8459c316559 100644
|
||||
DECL_HANDLER(get_mapping_committed_range)
|
||||
{
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 0bcff7b2b25..f248b3bdec7 100644
|
||||
index 6c44b2b43..e7753f8b7 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1782,6 +1782,15 @@ enum char_info_mode
|
||||
@@ -1838,6 +1838,15 @@ enum char_info_mode
|
||||
@END
|
||||
|
||||
|
||||
@ -217,5 +209,5 @@ index 0bcff7b2b25..f248b3bdec7 100644
|
||||
@REQ(get_mapping_committed_range)
|
||||
client_ptr_t base; /* view base address */
|
||||
--
|
||||
2.14.1
|
||||
2.25.0
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "9642f35922b79cebacdc774eb54619e389ccd531"
|
||||
echo "f909d18baf1d97831c55a1d47610427ac2084ca3"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -193,7 +193,6 @@ patch_enable_all ()
|
||||
enable_ntdll_Junction_Points="$1"
|
||||
enable_ntdll_LDR_MODULE="$1"
|
||||
enable_ntdll_Manifest_Range="$1"
|
||||
enable_ntdll_MemoryWorkingSetExInformation="$1"
|
||||
enable_ntdll_NtAccessCheck="$1"
|
||||
enable_ntdll_NtContinue="$1"
|
||||
enable_ntdll_NtDevicePath="$1"
|
||||
@ -698,9 +697,6 @@ patch_enable ()
|
||||
ntdll-Manifest_Range)
|
||||
enable_ntdll_Manifest_Range="$2"
|
||||
;;
|
||||
ntdll-MemoryWorkingSetExInformation)
|
||||
enable_ntdll_MemoryWorkingSetExInformation="$2"
|
||||
;;
|
||||
ntdll-NtAccessCheck)
|
||||
enable_ntdll_NtAccessCheck="$2"
|
||||
;;
|
||||
@ -1762,27 +1758,6 @@ if test "$enable_ntdll_Syscall_Emulation" -eq 1; then
|
||||
enable_winebuild_Fake_Dlls=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
|
||||
if test "$enable_ntdll_Junction_Points" -gt 1; then
|
||||
abort "Patchset ntdll-Junction_Points disabled, but ntdll-NtQueryEaFile depends on that."
|
||||
fi
|
||||
enable_ntdll_Junction_Points=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtContinue" -eq 1; then
|
||||
if test "$enable_winebuild_Fake_Dlls" -gt 1; then
|
||||
abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-NtContinue depends on that."
|
||||
fi
|
||||
enable_winebuild_Fake_Dlls=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_MemoryWorkingSetExInformation" -eq 1; then
|
||||
if test "$enable_ntdll_NtQueryVirtualMemory" -gt 1; then
|
||||
abort "Patchset ntdll-NtQueryVirtualMemory disabled, but ntdll-MemoryWorkingSetExInformation depends on that."
|
||||
fi
|
||||
enable_ntdll_NtQueryVirtualMemory=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
||||
if test "$enable_ntdll_NtDevicePath" -gt 1; then
|
||||
abort "Patchset ntdll-NtDevicePath disabled, but ntdll-NtQueryVirtualMemory depends on that."
|
||||
@ -1790,6 +1765,13 @@ if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
||||
enable_ntdll_NtDevicePath=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtQueryEaFile" -eq 1; then
|
||||
if test "$enable_ntdll_Junction_Points" -gt 1; then
|
||||
abort "Patchset ntdll-Junction_Points disabled, but ntdll-NtQueryEaFile depends on that."
|
||||
fi
|
||||
enable_ntdll_Junction_Points=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
||||
if test "$enable_ntdll_Pipe_SpecialCharacters" -gt 1; then
|
||||
abort "Patchset ntdll-Pipe_SpecialCharacters disabled, but ntdll-NtDevicePath depends on that."
|
||||
@ -1797,6 +1779,13 @@ if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
||||
enable_ntdll_Pipe_SpecialCharacters=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_NtContinue" -eq 1; then
|
||||
if test "$enable_winebuild_Fake_Dlls" -gt 1; then
|
||||
abort "Patchset winebuild-Fake_Dlls disabled, but ntdll-NtContinue depends on that."
|
||||
fi
|
||||
enable_winebuild_Fake_Dlls=1
|
||||
fi
|
||||
|
||||
if test "$enable_ntdll_HashLinks" -eq 1; then
|
||||
if test "$enable_ntdll_LDR_MODULE" -gt 1; then
|
||||
abort "Patchset ntdll-LDR_MODULE disabled, but ntdll-HashLinks depends on that."
|
||||
@ -4738,90 +4727,6 @@ if test "$enable_ntdll_Manifest_Range" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-Pipe_SpecialCharacters
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#28995] Allow special characters in pipe names
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/pipe.c, dlls/ntdll/directory.c
|
||||
# |
|
||||
if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then
|
||||
patch_apply ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Allow special characters in pipe names.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtDevicePath
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-Pipe_SpecialCharacters
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37487] Resolve \\SystemRoot\\ prefix when opening files
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/directory.c, dlls/ntdll/tests/file.c
|
||||
# |
|
||||
if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
||||
patch_apply ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement opening files through nt device paths.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtQueryVirtualMemory
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#23999] Implement MemorySectionName class in NtQueryVirtualMemory
|
||||
# | * [#27248] Implement K32GetMappedFileName
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/virtual.c, dlls/ntdll/directory.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/info.c, dlls/ntdll/virtual.c,
|
||||
# | dlls/psapi/tests/psapi_main.c, server/mapping.c, server/protocol.def
|
||||
# |
|
||||
if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0002-ntdll-Split-logic-for-MemoryBasicInformation-into-a-.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0003-ntdll-Implement-NtQueryVirtualMemory-MemorySectionNa.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0004-ntdll-tests-Add-tests-for-NtQueryVirtualMemory-Memor.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0005-ntdll-tests-Add-test-to-ensure-section-name-is-full-.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0006-ntdll-Allow-to-query-section-names-from-other-proces.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0008-ntdll-Resolve-drive-symlinks-before-returning-sectio.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Split logic for MemoryBasicInformation into a separate function.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtQueryVirtualMemory(MemorySectionName).", 3 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll/tests: Add tests for NtQueryVirtualMemory(MemorySectionName).", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll/tests: Add test to ensure section name is full path.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Allow to query section names from other processes.", 2 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: Implement K32GetMappedFileName.", 2 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Resolve drive symlinks before returning section name.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-MemoryWorkingSetExInformation
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath, ntdll-NtQueryVirtualMemory
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#45667] League of Legends 8.15+ fails due to missing implementation of
|
||||
# | NtQueryVirtualMemory(MemoryWorkingSetExInformation)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/virtual.c, include/winternl.h
|
||||
# |
|
||||
if test "$enable_ntdll_MemoryWorkingSetExInformation" -eq 1; then
|
||||
patch_apply ntdll-MemoryWorkingSetExInformation/0002-ntdll-Stub-for-MemoryWorkingSetExInformation.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Stub for MemoryWorkingSetExInformation.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtAccessCheck
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -4856,6 +4761,39 @@ if test "$enable_ntdll_NtContinue" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-Pipe_SpecialCharacters
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#28995] Allow special characters in pipe names
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/pipe.c, dlls/ntdll/directory.c
|
||||
# |
|
||||
if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then
|
||||
patch_apply ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Allow special characters in pipe names.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtDevicePath
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-Pipe_SpecialCharacters
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37487] Resolve \\SystemRoot\\ prefix when opening files
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/directory.c, dlls/ntdll/tests/file.c
|
||||
# |
|
||||
if test "$enable_ntdll_NtDevicePath" -eq 1; then
|
||||
patch_apply ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement opening files through nt device paths.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtQueryEaFile
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
@ -4883,6 +4821,36 @@ if test "$enable_ntdll_NtQuerySection" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtQueryVirtualMemory
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-Pipe_SpecialCharacters, ntdll-NtDevicePath
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#23999] Implement MemorySectionName class in NtQueryVirtualMemory
|
||||
# | * [#27248] Implement K32GetMappedFileName
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/virtual.c, dlls/ntdll/directory.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/tests/info.c, dlls/ntdll/virtual.c,
|
||||
# | dlls/psapi/tests/psapi_main.c, server/mapping.c, server/protocol.def
|
||||
# |
|
||||
if test "$enable_ntdll_NtQueryVirtualMemory" -eq 1; then
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0003-ntdll-Implement-NtQueryVirtualMemory-MemorySectionNa.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0004-ntdll-tests-Add-tests-for-NtQueryVirtualMemory-Memor.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0005-ntdll-tests-Add-test-to-ensure-section-name-is-full-.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0006-ntdll-Allow-to-query-section-names-from-other-proces.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch
|
||||
patch_apply ntdll-NtQueryVirtualMemory/0008-ntdll-Resolve-drive-symlinks-before-returning-sectio.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll: Implement NtQueryVirtualMemory(MemorySectionName).", 3 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "ntdll/tests: Add tests for NtQueryVirtualMemory(MemorySectionName).", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll/tests: Add test to ensure section name is full path.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Allow to query section names from other processes.", 2 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "kernel32: Implement K32GetMappedFileName.", 2 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Resolve drive symlinks before returning section name.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset ntdll-NtSetLdtEntries
|
||||
# |
|
||||
# | Modified files:
|
||||
|
Loading…
Reference in New Issue
Block a user