Added patch with stub for NtSetLdtEntries/ZwSetLdtEntries.

This commit is contained in:
Sebastian Lackner 2014-11-04 21:09:40 +01:00
parent a691cec6e7
commit 2c0583d002
5 changed files with 108 additions and 1 deletions

View File

@ -39,8 +39,9 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [1]:**
**Bugfixes and features included in the next upcoming release [2]:**
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Allow selection of audio device for PulseAudio backend

1
debian/changelog vendored
View File

@ -1,6 +1,7 @@
wine-compholio (1.7.31) UNRELEASED; urgency=low
* Added possibility to temporarily disable patches to patch system.
* Added patch to allow selecting specific audio device for PulseAudio backend.
* Added patch with stub for NtSetLdtEntries/ZwSetLdtEntries.
* Removed patch for iphlpapi stub functions (accepted upstream).
* Removed patches for FindFirstFileExW (accepted upstream).
* Removed patches for TLB dependencies lookup in resources (accepted upstream).

View File

@ -58,6 +58,7 @@ PATCHLIST := \
ntdll-Junction_Points.ok \
ntdll-LZNT1_Compression.ok \
ntdll-NtQuerySection.ok \
ntdll-NtSetLdtEntries.ok \
ntdll-Pipe_SpecialCharacters.ok \
ntdll-WRITECOPY.ok \
ntoskrnl-Irp_Status.ok \
@ -922,6 +923,24 @@ ntdll-NtQuerySection.ok:
echo '+ { "ntdll-NtQuerySection", "Dmitry Timoshkov", "Implement NtQuerySection class SectionBasicInformation. [rev 2]" },'; \
) > ntdll-NtQuerySection.ok
# Patchset ntdll-NtSetLdtEntries
# |
# | Included patches:
# | * Add stub for NtSetLdtEntries/ZwSetLdtEntries. [rev 2, by Austin English]
# |
# | This patchset fixes the following Wine bugs:
# | * [#26268] Add stub for NtSetLdtEntries/ZwSetLdtEntries
# |
# | Modified files:
# | * dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, include/ddk/wdm.h, include/winternl.h
# |
.INTERMEDIATE: ntdll-NtSetLdtEntries.ok
ntdll-NtSetLdtEntries.ok:
$(call APPLY_FILE,ntdll-NtSetLdtEntries/0001-ntdll-add-NtSetLdtEntries-ZwSetLdtEntries-stub-try-2.patch)
@( \
echo '+ { "ntdll-NtSetLdtEntries", "Austin English", "Add stub for NtSetLdtEntries/ZwSetLdtEntries. [rev 2]" },'; \
) > ntdll-NtSetLdtEntries.ok
# Patchset ntdll-Pipe_SpecialCharacters
# |
# | Included patches:

View File

@ -0,0 +1,82 @@
From 15201062dd669c30343f7d1a1157c254943267ea Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Wed, 19 Feb 2014 12:54:00 -0800
Subject: ntdll: add NtSetLdtEntries/ZwSetLdtEntries stub (try 2)
---
dlls/ntdll/nt.c | 12 ++++++++++++
dlls/ntdll/ntdll.spec | 4 ++--
include/ddk/wdm.h | 1 +
include/winternl.h | 2 +-
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 73d9383..0d11037 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -2446,3 +2446,15 @@ NTSTATUS WINAPI NtSystemDebugControl(SYSDBG_COMMAND command, PVOID inbuffer, ULO
return STATUS_NOT_IMPLEMENTED;
}
+
+/******************************************************************************
+ * NtSetLdtEntries (NTDLL.@)
+ * ZwSetLdtEntries (NTDLL.@)
+ */
+NTSTATUS WINAPI NtSetLdtEntries(ULONG selector1, ULONG entry1_low, ULONG entry1_high,
+ ULONG selector2, ULONG entry2_low, ULONG entry2_high)
+{
+ FIXME("(%u, %u, %u, %u, %u, %u): stub\n", selector1, entry1_low, entry1_high, selector2, entry2_low, entry2_high);
+
+ return STATUS_NOT_IMPLEMENTED;
+}
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 5bac269..f1dafc8 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -332,7 +332,7 @@
@ stdcall NtSetInformationToken(long long ptr long)
@ stdcall NtSetIntervalProfile(long long)
@ stdcall NtSetIoCompletion(ptr long ptr long long)
-@ stub NtSetLdtEntries
+@ stdcall NtSetLdtEntries(long long long long long long)
@ stub NtSetLowEventPair
@ stub NtSetLowWaitHighEventPair
@ stub NtSetLowWaitHighThread
@@ -1209,7 +1209,7 @@
@ stdcall ZwSetInformationToken(long long ptr long) NtSetInformationToken
@ stdcall ZwSetIntervalProfile(long long) NtSetIntervalProfile
@ stdcall ZwSetIoCompletion(ptr long ptr long long) NtSetIoCompletion
-@ stub ZwSetLdtEntries
+@ stdcall ZwSetLdtEntries(long long long long long long) NtSetLdtEntries
@ stub ZwSetLowEventPair
@ stub ZwSetLowWaitHighEventPair
@ stub ZwSetLowWaitHighThread
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 29b24e7..ef4fa80 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1333,6 +1333,7 @@ NTSTATUS WINAPI ZwSetInformationObject(HANDLE, OBJECT_INFORMATION_CLASS, PVOID,
NTSTATUS WINAPI ZwSetInformationProcess(HANDLE,PROCESS_INFORMATION_CLASS,PVOID,ULONG);
NTSTATUS WINAPI ZwSetInformationThread(HANDLE,THREADINFOCLASS,LPCVOID,ULONG);
NTSTATUS WINAPI ZwSetIoCompletion(HANDLE,ULONG,ULONG,NTSTATUS,ULONG);
+NTSTATUS WINAPI ZwSetLdtEntries(ULONG,ULONG,ULONG,ULONG,ULONG,ULONG);
NTSTATUS WINAPI ZwSetSecurityObject(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
NTSTATUS WINAPI ZwSetSystemInformation(SYSTEM_INFORMATION_CLASS,PVOID,ULONG);
NTSTATUS WINAPI ZwSetSystemTime(const LARGE_INTEGER*,LARGE_INTEGER*);
diff --git a/include/winternl.h b/include/winternl.h
index 5a27f94..ddc7c18 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2228,7 +2228,7 @@ NTSYSAPI NTSTATUS WINAPI NtSetInformationThread(HANDLE,THREADINFOCLASS,LPCVOID,
NTSYSAPI NTSTATUS WINAPI NtSetInformationToken(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,ULONG);
NTSYSAPI NTSTATUS WINAPI NtSetIntervalProfile(ULONG,KPROFILE_SOURCE);
NTSYSAPI NTSTATUS WINAPI NtSetIoCompletion(HANDLE,ULONG_PTR,ULONG_PTR,NTSTATUS,SIZE_T);
-NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries(ULONG,LDT_ENTRY,ULONG,LDT_ENTRY);
+NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries(ULONG,ULONG,ULONG,ULONG,ULONG,ULONG);
NTSYSAPI NTSTATUS WINAPI NtSetLowEventPair(HANDLE);
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighEventPair(HANDLE);
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighThread(VOID);
--
2.1.3

View File

@ -0,0 +1,4 @@
Author: Austin English
Subject: Add stub for NtSetLdtEntries/ZwSetLdtEntries.
Revision: 2
Fixes: [26268] Add stub for NtSetLdtEntries/ZwSetLdtEntries