You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
ntdll-NtSetLdtEntries: Fix a random test failure and minor style improvements.
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
From 211c1988706a03296da84d5b2607de3ec9e5ca68 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 29 Apr 2016 17:11:26 +0200
|
||||
Subject: ntdll: Initialize Reserved_0 bit in NtQueryInformationThread.
|
||||
|
||||
---
|
||||
dlls/ntdll/thread.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 40747d7..f6a5fbe 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -1045,6 +1045,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||
tdi->Entry.HighWord.Bits.Granularity = 1;
|
||||
tdi->Entry.HighWord.Bits.Default_Big = 1;
|
||||
tdi->Entry.HighWord.Bits.Type = 0x12;
|
||||
+ tdi->Entry.HighWord.Bits.Reserved_0 = 0;
|
||||
/* it has to be one of the system GDT selectors */
|
||||
if (sel != (wine_get_ds() & ~3) && sel != (wine_get_ss() & ~3))
|
||||
{
|
||||
--
|
||||
2.8.0
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From aadd7b2c0ca9bf60d64c3ed4e0722de3899b8c13 Mon Sep 17 00:00:00 2001
|
||||
From 41b856b5d47d0d935daf5fdaf3f0fa22c4d1eaba Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 28 Apr 2016 18:14:36 +0800
|
||||
Subject: ntdll: Implement NtSetLdtEntries.
|
||||
@@ -9,7 +9,7 @@ Subject: ntdll: Implement NtSetLdtEntries.
|
||||
2 files changed, 106 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
|
||||
index e0de3f9..981e3c4 100644
|
||||
index e0de3f9..10a7979 100644
|
||||
--- a/dlls/kernel32/tests/thread.c
|
||||
+++ b/dlls/kernel32/tests/thread.c
|
||||
@@ -102,6 +102,7 @@ static NTSTATUS (WINAPI *pNtQueryInformationThread)(HANDLE,THREADINFOCLASS,PVOID
|
||||
@@ -56,16 +56,16 @@ index e0de3f9..981e3c4 100644
|
||||
+ ok(ret, "GetThreadContext failed\n");
|
||||
+
|
||||
+ tdi.Selector = ctx.SegDs;
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), 6 /*ThreadDescriptorTableEntry*/, &tdi, sizeof(tdi), &ret);
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), ThreadDescriptorTableEntry, &tdi, sizeof(tdi), &ret);
|
||||
+ ok(!ret, "NtQueryInformationThread failed: %08x\n", ret);
|
||||
+ ds_entry = tdi.Entry;
|
||||
+
|
||||
+ tdi.Selector = 0x000f;
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), 6 /*ThreadDescriptorTableEntry*/, &tdi, sizeof(tdi), &ret);
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), ThreadDescriptorTableEntry, &tdi, sizeof(tdi), &ret);
|
||||
+ ok(ret == STATUS_ACCESS_VIOLATION, "got %08x\n", ret);
|
||||
+
|
||||
+ tdi.Selector = 0x001f;
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), 6 /*ThreadDescriptorTableEntry*/, &tdi, sizeof(tdi), &ret);
|
||||
+ ret = pNtQueryInformationThread(GetCurrentThread(), ThreadDescriptorTableEntry, &tdi, sizeof(tdi), &ret);
|
||||
+ ok(ret == STATUS_ACCESS_VIOLATION, "NtQueryInformationThread returned %08x\n", ret);
|
||||
+
|
||||
+ ret = GetThreadSelectorEntry(GetCurrentThread(), 0x000f, &sel.entry);
|
Reference in New Issue
Block a user