mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against f56e409c2feb62056eb133e53fe398eadd0a503e.
This commit is contained in:
parent
32fcc0d75b
commit
984d402240
@ -1,4 +1,4 @@
|
||||
From 90474eb9f6583f2e8fe0314cfa0b0dc04797833b Mon Sep 17 00:00:00 2001
|
||||
From 2366247c3c27b1b815420c54ce4f94458b580686 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 5 Aug 2017 01:45:29 +0200
|
||||
Subject: [PATCH] ntdll: Add function to create new tokens for elevation
|
||||
@ -7,17 +7,17 @@ Subject: [PATCH] ntdll: Add function to create new tokens for elevation
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 3 ++
|
||||
dlls/ntdll/ntdll_misc.h | 3 ++
|
||||
dlls/ntdll/process.c | 18 +++++++++
|
||||
dlls/ntdll/process.c | 26 +++++++++++++
|
||||
server/protocol.def | 8 ++++
|
||||
server/security.h | 1 +
|
||||
server/token.c | 84 +++++++++++++++++++++++++++++++++++++++++
|
||||
6 files changed, 117 insertions(+)
|
||||
6 files changed, 125 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 1ebe07fc08c..7a19674b2f3 100644
|
||||
index 0d19e12768f..e313d5807b3 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1586,6 +1586,9 @@
|
||||
@@ -1594,6 +1594,9 @@
|
||||
# Virtual memory
|
||||
@ cdecl __wine_locked_recvmsg(long ptr long)
|
||||
|
||||
@ -28,10 +28,10 @@ index 1ebe07fc08c..7a19674b2f3 100644
|
||||
@ cdecl wine_get_version() NTDLL_wine_get_version
|
||||
@ cdecl wine_get_build_id() NTDLL_wine_get_build_id
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 27e7141bc65..4baf8a3967b 100644
|
||||
index 2de9553f5c4..84801ab2f25 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -107,6 +107,9 @@ extern int __wine_main_argc;
|
||||
@@ -89,6 +89,9 @@ extern int __wine_main_argc;
|
||||
extern char **__wine_main_argv;
|
||||
extern WCHAR **__wine_main_wargv;
|
||||
|
||||
@ -42,10 +42,10 @@ index 27e7141bc65..4baf8a3967b 100644
|
||||
extern const char *build_dir DECLSPEC_HIDDEN;
|
||||
extern const char *data_dir DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
|
||||
index 6c5f722b2a6..df81e061e7b 100644
|
||||
index a14b24219fc..3d4887d89fc 100644
|
||||
--- a/dlls/ntdll/process.c
|
||||
+++ b/dlls/ntdll/process.c
|
||||
@@ -119,6 +119,24 @@ HANDLE CDECL __wine_make_process_system(void)
|
||||
@@ -108,6 +108,32 @@ HANDLE CDECL __wine_make_process_system(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -67,11 +67,19 @@ index 6c5f722b2a6..df81e061e7b 100644
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static UINT process_error_mode;
|
||||
|
||||
#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
+static UINT process_error_mode;
|
||||
+
|
||||
+#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
+ case c: \
|
||||
+ FIXME("(process=%p) Unimplemented information class: " #c "\n", ProcessHandle); \
|
||||
+ ret = STATUS_INVALID_INFO_CLASS; \
|
||||
+ break
|
||||
+
|
||||
ULONG_PTR get_system_affinity_mask(void)
|
||||
{
|
||||
ULONG num_cpus = NtCurrentTeb()->Peb->NumberOfProcessors;
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index c53ceb50d50..947a3c971f5 100644
|
||||
index 6e0f309450a..7315f8ac4ea 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -3755,6 +3755,14 @@ struct handle_info
|
||||
@ -215,5 +223,5 @@ index c4f1cd943c2..970ed1838da 100644
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.26.2
|
||||
2.27.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 35487aacbfe53d2584e83d4f59e119577901d4ea Mon Sep 17 00:00:00 2001
|
||||
From 9c61f6acfa2c43e43f07fae1a5cd447573b9529b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 6 Aug 2017 02:08:05 +0200
|
||||
Subject: [PATCH] server: Implement support for creating processes using a
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] server: Implement support for creating processes using a
|
||||
|
||||
---
|
||||
dlls/kernelbase/process.c | 24 +++++++++++++-----------
|
||||
dlls/ntdll/process.c | 1 +
|
||||
dlls/ntdll/unix/process.c | 1 +
|
||||
server/process.c | 39 +++++++++++++++++++++++++++++++++++----
|
||||
server/process.h | 2 +-
|
||||
server/protocol.def | 1 +
|
||||
@ -117,11 +117,11 @@ index a3b168543fc..b5c8b47239d 100644
|
||||
}
|
||||
break;
|
||||
}
|
||||
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
|
||||
index f7f1b7c68fd..66961530de1 100644
|
||||
--- a/dlls/ntdll/process.c
|
||||
+++ b/dlls/ntdll/process.c
|
||||
@@ -1712,6 +1712,7 @@ NTSTATUS WINAPI NtCreateUserProcess( HANDLE *process_handle_ptr, HANDLE *thread_
|
||||
diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c
|
||||
index cca6c2747bf..379a0036b63 100644
|
||||
--- a/dlls/ntdll/unix/process.c
|
||||
+++ b/dlls/ntdll/unix/process.c
|
||||
@@ -827,6 +827,7 @@ NTSTATUS WINAPI NtCreateUserProcess( HANDLE *process_handle_ptr, HANDLE *thread_
|
||||
req->access = process_access;
|
||||
req->cpu = pe_info.cpu;
|
||||
req->info_size = startup_info_size;
|
||||
@ -306,5 +306,5 @@ index 1c1d49989b3..2f466aa1b25 100644
|
||||
{
|
||||
GENERIC_MAPPING mapping;
|
||||
--
|
||||
2.26.2
|
||||
2.27.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c8bd4fe87f7a49a3da2c53ead6df94a9172e7bbb Mon Sep 17 00:00:00 2001
|
||||
From 351c405a950985a6d5a2262ce88b46ecf83b03ff Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 26 May 2017 05:17:17 +0200
|
||||
Subject: [PATCH] ntdll: Implement opening files through nt device paths.
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] ntdll: Implement opening files through nt device paths.
|
||||
2 files changed, 147 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 184b7cdad59..87b5945a4e2 100644
|
||||
index e7918140323..7247f792941 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -135,18 +135,22 @@ static void WINAPI apc( void *arg, IO_STATUS_BLOCK *iosb, ULONG reserved )
|
||||
@ -63,10 +63,10 @@ index 184b7cdad59..87b5945a4e2 100644
|
||||
|
||||
static void open_file_test(void)
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 31a6c761c7c..83e4810f00b 100644
|
||||
index 22f34a1f008..72fea5b8aab 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -2818,16 +2818,10 @@ NTSTATUS CDECL nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_ST
|
||||
@@ -3360,16 +3360,10 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@ -86,7 +86,7 @@ index 31a6c761c7c..83e4810f00b 100644
|
||||
{
|
||||
static const WCHAR unixW[] = {'u','n','i','x'};
|
||||
static const WCHAR pipeW[] = {'p','i','p','e'};
|
||||
@@ -2940,6 +2934,126 @@ NTSTATUS CDECL nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *u
|
||||
@@ -3482,6 +3476,126 @@ NTSTATUS CDECL nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *u
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -211,8 +211,8 @@ index 31a6c761c7c..83e4810f00b 100644
|
||||
+ return status;
|
||||
+}
|
||||
|
||||
/***********************************************************************
|
||||
* unmount_device
|
||||
/******************************************************************
|
||||
* unix_to_nt_file_name
|
||||
--
|
||||
2.27.0
|
||||
|
||||
|
@ -1,49 +1,50 @@
|
||||
From c7ed817b9c0b4edf7969ec05f1f3e081a04155d9 Mon Sep 17 00:00:00 2001
|
||||
From 8c7d326435794a72c70e05acdff945edf506ec3c Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Wed, 21 Oct 2015 06:23:22 +0800
|
||||
Subject: ntdll: Add fake data implementation for ProcessQuotaLimits class.
|
||||
Subject: [PATCH] ntdll: Add fake data implementation for ProcessQuotaLimits
|
||||
class.
|
||||
|
||||
---
|
||||
dlls/ntdll/process.c | 31 ++++++++++++++++++++++++++++++-
|
||||
1 file changed, 30 insertions(+), 1 deletion(-)
|
||||
dlls/ntdll/unix/process.c | 32 +++++++++++++++++++++++++++++++-
|
||||
1 file changed, 31 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
|
||||
index 37c08f1..088834e 100644
|
||||
--- a/dlls/ntdll/process.c
|
||||
+++ b/dlls/ntdll/process.c
|
||||
@@ -134,7 +134,6 @@ NTSTATUS WINAPI SYSCALL(NtQueryInformationProcess)(
|
||||
diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c
|
||||
index 93d7e7b0140..ae3ab9a8058 100644
|
||||
--- a/dlls/ntdll/unix/process.c
|
||||
+++ b/dlls/ntdll/unix/process.c
|
||||
@@ -1050,7 +1050,6 @@ NTSTATUS WINAPI NtQueryInformationProcess( HANDLE handle, PROCESSINFOCLASS class
|
||||
|
||||
switch (ProcessInformationClass)
|
||||
switch (class)
|
||||
{
|
||||
- UNIMPLEMENTED_INFO_CLASS(ProcessQuotaLimits);
|
||||
UNIMPLEMENTED_INFO_CLASS(ProcessBasePriority);
|
||||
UNIMPLEMENTED_INFO_CLASS(ProcessRaisePriority);
|
||||
UNIMPLEMENTED_INFO_CLASS(ProcessExceptionPort);
|
||||
@@ -199,6 +198,36 @@ NTSTATUS WINAPI SYSCALL(NtQueryInformationProcess)(
|
||||
}
|
||||
@@ -1109,6 +1108,37 @@ NTSTATUS WINAPI NtQueryInformationProcess( HANDLE handle, PROCESSINFOCLASS class
|
||||
}
|
||||
break;
|
||||
|
||||
+ case ProcessQuotaLimits:
|
||||
+ {
|
||||
+ QUOTA_LIMITS pqli;
|
||||
+
|
||||
+ if (ProcessInformationLength >= sizeof(QUOTA_LIMITS))
|
||||
+ if (size >= sizeof(QUOTA_LIMITS))
|
||||
+ {
|
||||
+ if (!ProcessInformation)
|
||||
+ if (!info)
|
||||
+ ret = STATUS_ACCESS_VIOLATION;
|
||||
+ else if (!ProcessHandle)
|
||||
+ else if (!handle)
|
||||
+ ret = STATUS_INVALID_HANDLE;
|
||||
+ else
|
||||
+ {
|
||||
+ /* FIXME : real data */
|
||||
+ memset(&pqli, 0, sizeof(QUOTA_LIMITS));
|
||||
+
|
||||
+ memcpy(ProcessInformation, &pqli, sizeof(QUOTA_LIMITS));
|
||||
+ memcpy(info, &pqli, sizeof(QUOTA_LIMITS));
|
||||
+
|
||||
+ len = sizeof(QUOTA_LIMITS);
|
||||
+ }
|
||||
+
|
||||
+ if (ProcessInformationLength > sizeof(QUOTA_LIMITS))
|
||||
+ if (size > sizeof(QUOTA_LIMITS))
|
||||
+ ret = STATUS_INFO_LENGTH_MISMATCH;
|
||||
+ }
|
||||
+ else
|
||||
@ -53,9 +54,10 @@ index 37c08f1..088834e 100644
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
case ProcessIoCounters:
|
||||
{
|
||||
IO_COUNTERS pii;
|
||||
--
|
||||
2.6.1
|
||||
2.27.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d389571ffefb1cabd3b23d1c966dbc237d042e87 Mon Sep 17 00:00:00 2001
|
||||
From a88ac4ac286c6c345efc3722d6fd4cc5b6ad29ca Mon Sep 17 00:00:00 2001
|
||||
From: Paul Gofman <pgofman@codeweavers.com>
|
||||
Date: Mon, 30 Dec 2019 13:27:53 +0300
|
||||
Subject: [PATCH] ntdll: Support x86_64 syscall emulation.
|
||||
@ -19,10 +19,10 @@ is used for trapping syscalls.
|
||||
7 files changed, 135 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8a76b74e83d..d67c0be3617 100644
|
||||
index d57b0713856..7bd3da1e175 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -464,6 +464,7 @@ AC_CHECK_HEADERS(\
|
||||
@@ -474,6 +474,7 @@ AC_CHECK_HEADERS(\
|
||||
linux/joystick.h \
|
||||
linux/major.h \
|
||||
linux/param.h \
|
||||
@ -31,10 +31,10 @@ index 8a76b74e83d..d67c0be3617 100644
|
||||
linux/types.h \
|
||||
linux/ucdrom.h \
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 8295b7559e7..052035750cf 100644
|
||||
index 18db4fd4780..e4f0293ab5a 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -179,6 +179,12 @@ void __wine_syscall_dispatcher( void )
|
||||
@@ -229,6 +229,12 @@ void __wine_syscall_dispatcher( void )
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -47,7 +47,7 @@ index 8295b7559e7..052035750cf 100644
|
||||
void *WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
|
||||
{
|
||||
UNICODE_STRING name;
|
||||
@@ -222,7 +228,7 @@ void *WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
|
||||
@@ -272,7 +278,7 @@ void *WINAPI __wine_fakedll_dispatcher( const char *module, ULONG ord )
|
||||
TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
|
||||
{
|
||||
TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
|
||||
@ -194,7 +194,7 @@ index 1d1b879310e..c8a8d1d1d33 100644
|
||||
|
||||
error:
|
||||
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
|
||||
index 0bffa4029c1..03dc27b083c 100644
|
||||
index 0279690806c..6969a528eeb 100644
|
||||
--- a/dlls/ntdll/unix/thread.c
|
||||
+++ b/dlls/ntdll/unix/thread.c
|
||||
@@ -58,6 +58,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(seh);
|
||||
@ -227,10 +227,10 @@ index 0bffa4029c1..03dc27b083c 100644
|
||||
teb = virtual_alloc_first_teb();
|
||||
teb->WOW32Reserved = syscall_handler;
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index b7b66b6b440..23c434dd7aa 100644
|
||||
index 19196dbb296..e99e89864c2 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -111,7 +111,8 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
|
||||
@@ -108,7 +108,8 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
|
||||
extern void CDECL server_init_process_done( void *relay ) DECLSPEC_HIDDEN;
|
||||
extern TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
|
||||
BOOL *suspend, unsigned int *cpus, BOOL *wow64,
|
||||
@ -240,7 +240,7 @@ index b7b66b6b440..23c434dd7aa 100644
|
||||
extern void CDECL DECLSPEC_NORETURN exit_thread( int status ) DECLSPEC_HIDDEN;
|
||||
extern void CDECL DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
|
||||
@@ -147,6 +148,9 @@ extern char **build_envp( const WCHAR *envW ) DECLSPEC_HIDDEN;
|
||||
@@ -140,6 +141,9 @@ extern char **build_envp( const WCHAR *envW ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS exec_wineloader( char **argv, int socketfd, int is_child_64bit,
|
||||
ULONGLONG res_start, ULONGLONG res_end ) DECLSPEC_HIDDEN;
|
||||
|
||||
@ -251,19 +251,19 @@ index b7b66b6b440..23c434dd7aa 100644
|
||||
extern void server_enter_uninterrupted_section( RTL_CRITICAL_SECTION *cs, sigset_t *sigset ) DECLSPEC_HIDDEN;
|
||||
extern void server_leave_uninterrupted_section( RTL_CRITICAL_SECTION *cs, sigset_t *sigset ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index dae93ab1632..5103e50d7ff 100644
|
||||
index b09f4942f05..b952af4596a 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -28,7 +28,7 @@ struct ldt_copy;
|
||||
struct msghdr;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 48
|
||||
+#define NTDLL_UNIXLIB_VERSION 49
|
||||
-#define NTDLL_UNIXLIB_VERSION 53
|
||||
+#define NTDLL_UNIXLIB_VERSION 54
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -253,7 +253,8 @@ struct unix_funcs
|
||||
@@ -281,7 +281,8 @@ struct unix_funcs
|
||||
|
||||
/* thread/process functions */
|
||||
TEB * (CDECL *init_threading)( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 223c2c82eba0aacee744f6d9fcf9189cff2fd1e7 Mon Sep 17 00:00:00 2001
|
||||
From 511be7951f851cda2b2119a88b7f1895598a7165 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Fri, 12 Apr 2019 20:04:03 -0500
|
||||
Subject: [PATCH] ntdll: Return ntdll.dll as the first entry for
|
||||
@ -9,11 +9,11 @@ Subject: [PATCH] ntdll: Return ntdll.dll as the first entry for
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index f44c232f4e9..ebb8c94bd11 100644
|
||||
index 44ffef6439b..c47219b1d33 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2546,6 +2546,33 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
|
||||
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
|
||||
@@ -2665,6 +2665,33 @@ static BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static void get_ntdll_system_module(SYSTEM_MODULE *sm)
|
||||
@ -46,7 +46,7 @@ index f44c232f4e9..ebb8c94bd11 100644
|
||||
/******************************************************************************
|
||||
* NtQuerySystemInformation [NTDLL.@]
|
||||
* ZwQuerySystemInformation [NTDLL.@]
|
||||
@@ -2882,7 +2909,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
@@ -3015,7 +3042,7 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
|
||||
FIXME("returning fake driver list\n");
|
||||
smi->ModulesCount = 1;
|
||||
@ -56,5 +56,5 @@ index f44c232f4e9..ebb8c94bd11 100644
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.26.0
|
||||
2.27.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ee29bbfa7e10de295db39ab6b89f2175d00692c5 Mon Sep 17 00:00:00 2001
|
||||
From 3d5a92cbec870c2b129668b455012bf5b2693ccd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 9 Mar 2017 22:56:45 +0100
|
||||
Subject: [PATCH] ntdll: Fill process virtual memory counters in
|
||||
@ -6,62 +6,21 @@ Subject: [PATCH] ntdll: Fill process virtual memory counters in
|
||||
|
||||
FIXME: fill_VM_COUNTERS now uses a different method ... which one is better?
|
||||
---
|
||||
dlls/ntdll/nt.c | 3 +++
|
||||
dlls/ntdll/ntdll_misc.h | 1 +
|
||||
dlls/ntdll/process.c | 2 +-
|
||||
dlls/ntdll/thread.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 41 insertions(+), 1 deletion(-)
|
||||
dlls/ntdll/nt.c | 41 +++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/thread.c | 1 -
|
||||
dlls/ntdll/unix/process.c | 39 ++++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 79 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index cbb7937631d..bb078c1aa21 100644
|
||||
index c1c7a126daf..8b450082ada 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2686,8 +2686,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
/* spi->ti will be set later on */
|
||||
|
||||
if (reply->unix_pid != -1)
|
||||
+ {
|
||||
read_process_time(reply->unix_pid, -1, clk_tck,
|
||||
&spi->KernelTime, &spi->UserTime);
|
||||
+ read_process_memory_stats(reply->unix_pid, &spi->vmCounters);
|
||||
+ }
|
||||
unix_pid = reply->unix_pid;
|
||||
}
|
||||
len += procstructlen;
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 6e77694d87b..d725a678246 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -248,6 +248,7 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
/* process / thread time */
|
||||
extern BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
|
||||
LARGE_INTEGER *kernel, LARGE_INTEGER *user) DECLSPEC_HIDDEN;
|
||||
+extern BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi) DECLSPEC_HIDDEN;
|
||||
|
||||
/* string functions */
|
||||
int __cdecl NTDLL_tolower( int c );
|
||||
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
|
||||
index 35937ce6026..b4f2dbc8160 100644
|
||||
--- a/dlls/ntdll/process.c
|
||||
+++ b/dlls/ntdll/process.c
|
||||
@@ -192,7 +192,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
|
||||
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
{
|
||||
- /* FIXME : real data */
|
||||
+ read_process_memory_stats(getpid(), pvmi);
|
||||
@@ -2627,6 +2627,44 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
|
||||
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
|
||||
}
|
||||
|
||||
#endif
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 14198d77b7b..8ae8251f975 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -381,6 +381,42 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
|
||||
flags, zero_bits, stack_commit, stack_reserve, attr_list );
|
||||
}
|
||||
|
||||
+BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
+/* Remove once NtQuerySystemInformation is moved to unix directory */
|
||||
+static BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
+{
|
||||
+ BOOL ret = FALSE;
|
||||
+#ifdef __linux__
|
||||
@ -97,9 +56,91 @@ index 14198d77b7b..8ae8251f975 100644
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/******************************************************************************
|
||||
* NtQuerySystemInformation [NTDLL.@]
|
||||
* ZwQuerySystemInformation [NTDLL.@]
|
||||
@@ -2784,8 +2822,11 @@ NTSTATUS WINAPI NtQuerySystemInformation(
|
||||
/* spi->ti will be set later on */
|
||||
|
||||
if (reply->unix_pid != -1)
|
||||
+ {
|
||||
read_process_time(reply->unix_pid, -1, clk_tck,
|
||||
&spi->KernelTime, &spi->UserTime);
|
||||
+ read_process_memory_stats(reply->unix_pid, &spi->vmCounters);
|
||||
+ }
|
||||
unix_pid = reply->unix_pid;
|
||||
}
|
||||
len += procstructlen;
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 29a9c19b923..320e63416cc 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -373,7 +373,6 @@ NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT
|
||||
flags, zero_bits, stack_commit, stack_reserve, attr_list );
|
||||
}
|
||||
|
||||
-
|
||||
/***********************************************************************
|
||||
* RtlCreateUserThread (NTDLL.@)
|
||||
*/
|
||||
diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c
|
||||
index 379a0036b63..210006f4c23 100644
|
||||
--- a/dlls/ntdll/unix/process.c
|
||||
+++ b/dlls/ntdll/unix/process.c
|
||||
@@ -989,6 +989,43 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
#endif
|
||||
}
|
||||
|
||||
+static BOOL read_process_memory_stats(int unix_pid, VM_COUNTERS *pvmi)
|
||||
+{
|
||||
+ BOOL ret = FALSE;
|
||||
+#ifdef __linux__
|
||||
+ unsigned long size, resident, shared, trs, drs, lrs, dt;
|
||||
+ char buf[512];
|
||||
+ FILE *fp;
|
||||
+
|
||||
+ sprintf( buf, "/proc/%u/statm", unix_pid );
|
||||
+ if ((fp = fopen( buf, "r" )))
|
||||
+ {
|
||||
+ if (fscanf( fp, "%lu %lu %lu %lu %lu %lu %lu",
|
||||
+ &size, &resident, &shared, &trs, &drs, &lrs, &dt ) == 7)
|
||||
+ {
|
||||
+ pvmi->VirtualSize = size * page_size;
|
||||
+ pvmi->WorkingSetSize = resident * page_size;
|
||||
+ pvmi->PrivatePageCount = size - shared;
|
||||
+
|
||||
+ /* these values are not available through /proc/pid/statm */
|
||||
+ pvmi->PeakVirtualSize = pvmi->VirtualSize;
|
||||
+ pvmi->PageFaultCount = 0;
|
||||
+ pvmi->PeakWorkingSetSize = pvmi->WorkingSetSize;
|
||||
+ pvmi->QuotaPagedPoolUsage = pvmi->VirtualSize;
|
||||
+ pvmi->QuotaPeakPagedPoolUsage = pvmi->QuotaPagedPoolUsage;
|
||||
+ pvmi->QuotaPeakNonPagedPoolUsage = 0;
|
||||
+ pvmi->QuotaNonPagedPoolUsage = 0;
|
||||
+ pvmi->PagefileUsage = 0;
|
||||
+ pvmi->PeakPagefileUsage = 0;
|
||||
+
|
||||
+ ret = TRUE;
|
||||
+ }
|
||||
+ fclose( fp );
|
||||
+ }
|
||||
+#endif
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
#elif defined(linux)
|
||||
|
||||
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
@@ -1024,7 +1061,7 @@ static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
|
||||
static void fill_VM_COUNTERS(VM_COUNTERS* pvmi)
|
||||
{
|
||||
- /* FIXME : real data */
|
||||
+ read_process_memory_stats(getpid(), pvmi);
|
||||
}
|
||||
|
||||
#endif
|
||||
--
|
||||
2.26.2
|
||||
2.27.0
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "634cb775c27b61ad6ce1fbe3e9972b0edfa31dcb"
|
||||
echo "f56e409c2feb62056eb133e53fe398eadd0a503e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -1881,9 +1881,9 @@ fi
|
||||
# | Modified files:
|
||||
# | * configure.ac, dlls/advapi32/tests/Makefile.in, dlls/advapi32/tests/security.c, dlls/kernelbase/process.c,
|
||||
# | dlls/ntdll/loader.c, dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c,
|
||||
# | dlls/shell32/shlexec.c, dlls/user32/win.c, programs/runas/Makefile.in, programs/runas/runas.c, programs/runas/runas.h,
|
||||
# | programs/runas/runas.rc, server/process.c, server/process.h, server/protocol.def, server/request.c, server/security.h,
|
||||
# | server/token.c
|
||||
# | dlls/ntdll/unix/process.c, dlls/shell32/shlexec.c, dlls/user32/win.c, programs/runas/Makefile.in,
|
||||
# | programs/runas/runas.c, programs/runas/runas.h, programs/runas/runas.rc, server/process.c, server/process.h,
|
||||
# | server/protocol.def, server/request.c, server/security.h, server/token.c
|
||||
# |
|
||||
if test "$enable_advapi32_Token_Integrity_Level" -eq 1; then
|
||||
patch_apply advapi32-Token_Integrity_Level/0001-advapi32-tests-Extend-security-label-token-integrity.patch
|
||||
@ -3455,7 +3455,7 @@ fi
|
||||
# | * [#20230] Return correct values for GetThreadTimes function
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/nt.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/process.c, dlls/ntdll/thread.c, server/protocol.def,
|
||||
# | * dlls/ntdll/nt.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/thread.c, dlls/ntdll/unix/process.c, server/protocol.def,
|
||||
# | server/snapshot.c, server/thread.c, server/thread.h
|
||||
# |
|
||||
if test "$enable_ntdll_ThreadTime" -eq 1; then
|
||||
@ -3870,7 +3870,7 @@ fi
|
||||
# | 2.x)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/process.c
|
||||
# | * dlls/ntdll/unix/process.c
|
||||
# |
|
||||
if test "$enable_ntdll_ProcessQuotaLimits" -eq 1; then
|
||||
patch_apply ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7e13aba360d1dd4d5a09f5b9a624dfa4e61d3ddf Mon Sep 17 00:00:00 2001
|
||||
From 51d9c664ba86df86b3fb02a281642b5940cef430 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 11 May 2017 05:32:55 +0200
|
||||
Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
|
||||
@ -22,10 +22,10 @@ Based on a patch by Erich E. Hoover.
|
||||
14 files changed, 221 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index a09c17e3b50..d22fd0141c0 100644
|
||||
index 99bcff94b3e..06cdf5cd350 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -3812,6 +3812,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
|
||||
@@ -4020,6 +4020,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ index a09c17e3b50..d22fd0141c0 100644
|
||||
|
||||
/******************************************************************
|
||||
* LdrInitializeThunk (NTDLL.@)
|
||||
@@ -3828,6 +3829,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
|
||||
@@ -4037,6 +4038,8 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, void **entry, ULONG_PTR unknow
|
||||
WINE_MODREF *wm;
|
||||
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
|
||||
|
||||
@ -65,7 +65,7 @@ index 21cc1b3ead4..18be5693a7d 100644
|
||||
}
|
||||
return unix_funcs->NtGetContextThread( handle, context );
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index a5e6faa461a..51938bf84cc 100644
|
||||
index 1389a542cde..54796476e25 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -1643,6 +1643,8 @@ static void test_thread_context(void)
|
||||
@ -78,10 +78,10 @@ index a5e6faa461a..51938bf84cc 100644
|
||||
ok( context.SegCs == LOWORD(expect.SegCs), "wrong SegCs %08x/%08x\n", context.SegCs, expect.SegCs );
|
||||
ok( context.SegDs == LOWORD(expect.SegDs), "wrong SegDs %08x/%08x\n", context.SegDs, expect.SegDs );
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 5a6809638ae..c6988ce08e3 100644
|
||||
index 64dee4d0c12..2a22f1ca137 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -170,6 +170,14 @@ int __cdecl __wine_dbg_output( const char *str )
|
||||
@@ -220,6 +220,14 @@ int __cdecl __wine_dbg_output( const char *str )
|
||||
return unix_funcs->dbg_output( str );
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ index 5a6809638ae..c6988ce08e3 100644
|
||||
|
||||
/***********************************************************************
|
||||
* thread_init
|
||||
@@ -181,7 +189,7 @@ int __cdecl __wine_dbg_output( const char *str )
|
||||
@@ -231,7 +239,7 @@ int __cdecl __wine_dbg_output( const char *str )
|
||||
TEB *thread_init( SIZE_T *info_size, BOOL *suspend )
|
||||
{
|
||||
TEB *teb = unix_funcs->init_threading( &nb_threads, &__wine_ldt_copy, info_size, suspend, &server_cpus,
|
||||
@ -106,7 +106,7 @@ index 5a6809638ae..c6988ce08e3 100644
|
||||
peb = teb->Peb;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
|
||||
index 0470f5eaa8a..55afc1748ef 100644
|
||||
index 34cf12885d9..212ebda0443 100644
|
||||
--- a/dlls/ntdll/unix/thread.c
|
||||
+++ b/dlls/ntdll/unix/thread.c
|
||||
@@ -85,7 +85,7 @@ static void pthread_exit_wrapper( int status )
|
||||
@ -127,10 +127,10 @@ index 0470f5eaa8a..55afc1748ef 100644
|
||||
thread_data->request_fd = -1;
|
||||
thread_data->reply_fd = -1;
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 0d1d0e5025f..ac792801283 100644
|
||||
index f19c8924008..e668c8e6fbb 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -111,7 +111,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
|
||||
@@ -108,7 +108,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
|
||||
extern void CDECL server_init_process_done( void *relay ) DECLSPEC_HIDDEN;
|
||||
extern TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
|
||||
BOOL *suspend, unsigned int *cpus, BOOL *wow64,
|
||||
@ -140,19 +140,19 @@ index 0d1d0e5025f..ac792801283 100644
|
||||
extern void CDECL DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index dd5c3e3784e..dae93ab1632 100644
|
||||
index dbe68a1b486..b09f4942f05 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -28,7 +28,7 @@ struct ldt_copy;
|
||||
struct msghdr;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 47
|
||||
+#define NTDLL_UNIXLIB_VERSION 48
|
||||
-#define NTDLL_UNIXLIB_VERSION 52
|
||||
+#define NTDLL_UNIXLIB_VERSION 53
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -253,7 +253,7 @@ struct unix_funcs
|
||||
@@ -281,7 +281,7 @@ struct unix_funcs
|
||||
|
||||
/* thread/process functions */
|
||||
TEB * (CDECL *init_threading)( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,
|
||||
@ -162,10 +162,10 @@ index dd5c3e3784e..dae93ab1632 100644
|
||||
void (CDECL *exit_process)( int status );
|
||||
NTSTATUS (CDECL *get_thread_ldt_entry)( HANDLE handle, void *data, ULONG len, ULONG *ret_len );
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 04e5dd1f62f..2b9a12cbb31 100644
|
||||
index 4f5ce4d0cfe..7d69a448e89 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -359,7 +359,7 @@ typedef struct _TEB
|
||||
@@ -360,7 +360,7 @@ typedef struct _TEB
|
||||
PVOID CsrClientThread; /* 03c/0070 */
|
||||
PVOID Win32ThreadInfo; /* 040/0078 */
|
||||
ULONG Win32ClientInfo[31]; /* 044/0080 used for user32 private data in Wine */
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b37d55d71b294fb96cb4816f2cb3f2448731e115 Mon Sep 17 00:00:00 2001
|
||||
From 88dc845f605a87a97247d4d2c795722afeba41dc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 7 Sep 2017 00:38:09 +0200
|
||||
Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
|
||||
@ -15,10 +15,10 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
|
||||
8 files changed, 305 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index 95939ba6bde..ae5462f6e55 100644
|
||||
index 1f525194ce7..21af7b4ce7a 100644
|
||||
--- a/dlls/kernel32/tests/loader.c
|
||||
+++ b/dlls/kernel32/tests/loader.c
|
||||
@@ -1573,7 +1573,7 @@ static void test_filenames(void)
|
||||
@@ -1574,7 +1574,7 @@ static void test_filenames(void)
|
||||
|
||||
static void test_FakeDLL(void)
|
||||
{
|
||||
@ -27,7 +27,7 @@ index 95939ba6bde..ae5462f6e55 100644
|
||||
NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
|
||||
IMAGE_EXPORT_DIRECTORY *dir;
|
||||
HMODULE module = GetModuleHandleA("ntdll.dll");
|
||||
@@ -1615,8 +1615,13 @@ static void test_FakeDLL(void)
|
||||
@@ -1616,8 +1616,13 @@ static void test_FakeDLL(void)
|
||||
|
||||
dll_func = (BYTE *)GetProcAddress(module, func_name);
|
||||
ok(dll_func != NULL, "%s: GetProcAddress returned NULL\n", func_name);
|
||||
@ -42,7 +42,7 @@ index 95939ba6bde..ae5462f6e55 100644
|
||||
todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
|
||||
continue;
|
||||
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
|
||||
index 55afc1748ef..0bffa4029c1 100644
|
||||
index 212ebda0443..0279690806c 100644
|
||||
--- a/dlls/ntdll/unix/thread.c
|
||||
+++ b/dlls/ntdll/unix/thread.c
|
||||
@@ -110,7 +110,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
|
||||
@ -55,23 +55,23 @@ index 55afc1748ef..0bffa4029c1 100644
|
||||
NtCreateKeyedEvent( &keyed_event, GENERIC_READ | GENERIC_WRITE, NULL, 0 );
|
||||
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index ac792801283..b7b66b6b440 100644
|
||||
index e668c8e6fbb..19196dbb296 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -176,7 +176,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
|
||||
@@ -171,7 +171,7 @@ extern ULONG_PTR get_system_affinity_mask(void) DECLSPEC_HIDDEN;
|
||||
extern TEB *virtual_alloc_first_teb(void) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_alloc_teb( TEB **ret_teb ) DECLSPEC_HIDDEN;
|
||||
extern void virtual_free_teb( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
-extern void virtual_map_user_shared_data(void) DECLSPEC_HIDDEN;
|
||||
+extern void virtual_map_user_shared_data(void *) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack ) DECLSPEC_HIDDEN;
|
||||
extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size ) DECLSPEC_HIDDEN;
|
||||
extern int virtual_handle_stack_fault( void *addr ) DECLSPEC_HIDDEN;
|
||||
extern unsigned int virtual_locked_server_call( void *req_ptr ) DECLSPEC_HIDDEN;
|
||||
extern ssize_t virtual_locked_read( int fd, void *addr, size_t size ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index b656a62c154..9b415fe5058 100644
|
||||
index a3b2cb2c477..5cf4eb626c0 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -2588,14 +2588,14 @@ TEB *virtual_alloc_first_teb(void)
|
||||
@@ -2771,14 +2771,14 @@ TEB *virtual_alloc_first_teb(void)
|
||||
TEB *teb;
|
||||
PEB *peb;
|
||||
NTSTATUS status;
|
||||
@ -88,7 +88,7 @@ index b656a62c154..9b415fe5058 100644
|
||||
if (status)
|
||||
{
|
||||
ERR( "wine: failed to map the shared user data: %08x\n", status );
|
||||
@@ -2791,7 +2791,7 @@ void virtual_clear_thread_stack( void *stack_end )
|
||||
@@ -2976,7 +2976,7 @@ void virtual_clear_thread_stack( void *stack_end )
|
||||
/***********************************************************************
|
||||
* virtual_map_user_shared_data
|
||||
*/
|
||||
@ -97,7 +97,7 @@ index b656a62c154..9b415fe5058 100644
|
||||
{
|
||||
static const WCHAR wine_usdW[] = {'\\','K','e','r','n','e','l','O','b','j','e','c','t','s',
|
||||
'\\','_','_','w','i','n','e','_','u','s','e','r','_','s','h','a','r','e','d','_','d','a','t','a',0};
|
||||
@@ -2814,6 +2814,11 @@ void virtual_map_user_shared_data(void)
|
||||
@@ -2999,6 +2999,11 @@ void virtual_map_user_shared_data(void)
|
||||
ERR( "failed to remap the process USD: %d\n", res );
|
||||
exit(1);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 02562df4bb8c6c805b140335b9076a2a895244bf Mon Sep 17 00:00:00 2001
|
||||
From 679dcbe5add05885cf675a43b529e569f8b5c8af Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 6 Sep 2015 12:41:17 +0200
|
||||
Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
|
||||
@ -17,10 +17,10 @@ Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
|
||||
9 files changed, 36 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 0b0d4587969..99d4c57cdfe 100644
|
||||
index a9422723b71..e4f2f0e9c2b 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1577,6 +1577,7 @@
|
||||
@@ -1578,6 +1578,7 @@
|
||||
|
||||
# Server interface
|
||||
@ cdecl -norelay wine_server_call(ptr)
|
||||
@ -48,11 +48,11 @@ index 9e1cc85a36e..3f4ba60b7bb 100644
|
||||
/***********************************************************************
|
||||
* wine_server_release_fd (NTDLL.@)
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 73be77e7afc..2393f73b306 100644
|
||||
index 0d4313089d6..1d288770573 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -952,6 +952,7 @@ static struct unix_funcs unix_funcs =
|
||||
fork_and_exec,
|
||||
@@ -955,6 +955,7 @@ static struct unix_funcs unix_funcs =
|
||||
exec_process,
|
||||
wine_server_call,
|
||||
server_send_fd,
|
||||
+ server_remove_fds_from_cache_by_type,
|
||||
@ -60,10 +60,10 @@ index 73be77e7afc..2393f73b306 100644
|
||||
server_fd_to_handle,
|
||||
server_handle_to_fd,
|
||||
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
|
||||
index cf6f6c3832c..586d0ffcf72 100644
|
||||
index 5faca657783..2e278480896 100644
|
||||
--- a/dlls/ntdll/unix/server.c
|
||||
+++ b/dlls/ntdll/unix/server.c
|
||||
@@ -995,6 +995,26 @@ static int remove_fd_from_cache( HANDLE handle )
|
||||
@@ -1003,6 +1003,26 @@ static int remove_fd_from_cache( HANDLE handle )
|
||||
return fd;
|
||||
}
|
||||
|
||||
@ -91,10 +91,10 @@ index cf6f6c3832c..586d0ffcf72 100644
|
||||
/***********************************************************************
|
||||
* server_get_unix_fd
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 223015a785a..9c385ec42d8 100644
|
||||
index 2d4996a12f2..f19c8924008 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -99,6 +99,7 @@ extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
|
||||
@@ -96,6 +96,7 @@ extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
|
||||
extern void CDECL virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern void CDECL server_send_fd( int fd ) DECLSPEC_HIDDEN;
|
||||
@ -103,19 +103,19 @@ index 223015a785a..9c385ec42d8 100644
|
||||
int *needs_close, enum server_fd_type *type,
|
||||
unsigned int *options ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 6c8e151b554..dd5c3e3784e 100644
|
||||
index 7fd483dcabe..dbe68a1b486 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -28,7 +28,7 @@ struct ldt_copy;
|
||||
struct msghdr;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 46
|
||||
+#define NTDLL_UNIXLIB_VERSION 47
|
||||
-#define NTDLL_UNIXLIB_VERSION 51
|
||||
+#define NTDLL_UNIXLIB_VERSION 52
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -267,6 +267,7 @@ struct unix_funcs
|
||||
@@ -290,6 +290,7 @@ struct unix_funcs
|
||||
/* server functions */
|
||||
unsigned int (CDECL *server_call)( void *req_ptr );
|
||||
void (CDECL *server_send_fd)( int fd );
|
||||
|
@ -1 +1 @@
|
||||
634cb775c27b61ad6ce1fbe3e9972b0edfa31dcb
|
||||
f56e409c2feb62056eb133e53fe398eadd0a503e
|
||||
|
Loading…
Reference in New Issue
Block a user