diff --git a/README.md b/README.md index 4c78be5d..91a8c992 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/debian/changelog b/debian/changelog index 668245ff..7f88c021 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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). diff --git a/patches/Makefile b/patches/Makefile index 102d0a9a..227dad10 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -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: diff --git a/patches/ntdll-NtSetLdtEntries/0001-ntdll-add-NtSetLdtEntries-ZwSetLdtEntries-stub-try-2.patch b/patches/ntdll-NtSetLdtEntries/0001-ntdll-add-NtSetLdtEntries-ZwSetLdtEntries-stub-try-2.patch new file mode 100644 index 00000000..10d95bd4 --- /dev/null +++ b/patches/ntdll-NtSetLdtEntries/0001-ntdll-add-NtSetLdtEntries-ZwSetLdtEntries-stub-try-2.patch @@ -0,0 +1,82 @@ +From 15201062dd669c30343f7d1a1157c254943267ea Mon Sep 17 00:00:00 2001 +From: Austin English +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 + diff --git a/patches/ntdll-NtSetLdtEntries/definition b/patches/ntdll-NtSetLdtEntries/definition new file mode 100644 index 00000000..f76ad61c --- /dev/null +++ b/patches/ntdll-NtSetLdtEntries/definition @@ -0,0 +1,4 @@ +Author: Austin English +Subject: Add stub for NtSetLdtEntries/ZwSetLdtEntries. +Revision: 2 +Fixes: [26268] Add stub for NtSetLdtEntries/ZwSetLdtEntries