Rebase against 3c86adab766e3bc7c91da088c2dd6bc41a917055.

This commit is contained in:
Zebediah Figura
2020-06-01 22:31:00 -05:00
parent f132e60b9d
commit c81093882b
17 changed files with 224 additions and 257 deletions

View File

@@ -1,15 +1,15 @@
From 8abf5d134499aaf9dc87daa657cfe87586ad8ded Mon Sep 17 00:00:00 2001
From f444edc19e67ef0a903728804f50e13ccbfac16e Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Thu, 28 Apr 2016 18:14:36 +0800
Subject: [PATCH] ntdll: Implement NtSetLdtEntries.
---
dlls/kernel32/tests/thread.c | 79 ++++++++++++++++++++++++++++++++++++
dlls/ntdll/signal_i386.c | 2 +-
dlls/kernel32/tests/thread.c | 79 +++++++++++++++++++++++++++++++++++
dlls/ntdll/unix/signal_i386.c | 2 +-
2 files changed, 80 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index 2dd274e0c10..ae67a9aa0a0 100644
index a9869863b44..2c2a0fda843 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -99,6 +99,7 @@ static BOOL (WINAPI *pSetThreadGroupAffinity)(HANDLE,const GROUP_AFFINITY*,GROUP
@@ -20,7 +20,7 @@ index 2dd274e0c10..ae67a9aa0a0 100644
static HANDLE create_target_process(const char *arg)
{
@@ -1276,6 +1277,82 @@ static void test_GetThreadSelectorEntry(void)
@@ -1278,6 +1279,82 @@ static void test_GetThreadSelectorEntry(void)
ok(entry.HighWord.Bits.Granularity == 1, "expected 1, got %u\n", entry.HighWord.Bits.Granularity);
}
@@ -103,7 +103,7 @@ index 2dd274e0c10..ae67a9aa0a0 100644
#endif /* __i386__ */
static HANDLE finish_event;
@@ -2338,6 +2415,7 @@ static void init_funcs(void)
@@ -2340,6 +2417,7 @@ static void init_funcs(void)
X(NtQueryInformationThread);
X(RtlGetThreadErrorMode);
X(NtSetInformationThread);
@@ -111,7 +111,7 @@ index 2dd274e0c10..ae67a9aa0a0 100644
}
#undef X
}
@@ -2393,6 +2471,7 @@ START_TEST(thread)
@@ -2396,6 +2474,7 @@ START_TEST(thread)
test_SetThreadContext();
test_GetThreadSelectorEntry();
test_GetThreadContext();
@@ -119,11 +119,11 @@ index 2dd274e0c10..ae67a9aa0a0 100644
#endif
test_QueueUserWorkItem();
test_RegisterWaitForSingleObject();
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 441ef579609..eb28d668279 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -2533,7 +2533,7 @@ NTSTATUS get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
index 320ffa68407..a52490a096b 100644
--- a/dlls/ntdll/unix/signal_i386.c
+++ b/dlls/ntdll/unix/signal_i386.c
@@ -480,7 +480,7 @@ NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG
if (reply->flags)
info->Entry = ldt_make_entry( (void *)reply->base, reply->limit, reply->flags );
else

View File

@@ -1,4 +1,4 @@
From 09846b453dae490f5496a6ca2ac110b712542357 Mon Sep 17 00:00:00 2001
From f4d2bffd85329aed25b1add735fafd4efa69e7e3 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Thu, 28 Apr 2016 17:01:16 +0200
Subject: [PATCH] libs/wine: Allow to modify reserved LDT entries.
@@ -16,16 +16,16 @@ WINE_LDT_FLAGS_ALLOCATED, otherwise get_selector_entry() server call returns
entries without that flag set and NtQueryInformationThread(ThreadDescriptorTableEntry)
fails.
---
dlls/kernel32/tests/thread.c | 4 ----
dlls/ntdll/signal_i386.c | 2 --
libs/wine/ldt.c | 4 +---
dlls/kernel32/tests/thread.c | 4 ----
dlls/ntdll/unix/signal_i386.c | 2 --
libs/wine/ldt.c | 4 +---
3 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index ae67a9aa0a0..6149be8cf4a 100644
index 2c2a0fda843..dae3d8d97d7 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -1339,16 +1339,12 @@ static void test_NtSetLdtEntries(void)
@@ -1341,16 +1341,12 @@ static void test_NtSetLdtEntries(void)
{
memset(&sel.entry, 0x9a, sizeof(sel.entry));
ret = GetThreadSelectorEntry(GetCurrentThread(), 0x000f, &sel.entry);
@@ -42,11 +42,11 @@ index ae67a9aa0a0..6149be8cf4a 100644
ok(!memcmp(&ds_entry, &sel.entry, sizeof(ds_entry)), "entries do not match\n");
}
}
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 98ce76c8e27..e31c3d6b0b8 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -2534,8 +2534,6 @@ NTSTATUS WINAPI NtSetLdtEntries( ULONG sel1, LDT_ENTRY entry1, ULONG sel2, LDT_E
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
index a52490a096b..7b04be577ab 100644
--- a/dlls/ntdll/unix/signal_i386.c
+++ b/dlls/ntdll/unix/signal_i386.c
@@ -502,8 +502,6 @@ NTSTATUS WINAPI NtSetLdtEntries( ULONG sel1, LDT_ENTRY entry1, ULONG sel2, LDT_E
sigset_t sigset;
if (sel1 >> 16 || sel2 >> 16) return STATUS_INVALID_LDT_DESCRIPTOR;