From 2852387a0c56d2165016cdf9e35ad6d75ff08ee2 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 6 Jan 2016 15:32:11 +0100 Subject: [PATCH] Added patch to return STATUS_SUCCESS from NtQuerySystemInformationEx. --- README.md | 2 +- ...TUS_SUCCESS-from-NtQuerySystemInform.patch | 26 +++++++++++++++++++ .../definition | 1 + patches/patchinstall.sh | 16 ++++++++++++ staging/changelog | 1 + 5 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 patches/ntdll-NtQuerySystemInformationEx/0001-ntdll-Return-STATUS_SUCCESS-from-NtQuerySystemInform.patch create mode 100644 patches/ntdll-NtQuerySystemInformationEx/definition diff --git a/README.md b/README.md index 2c9c45d5..3a8dcb98 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ for more details.* * Basic handling of write watches triggered while we're on the signal stack. * Basic support for CUDA * Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939)) -* ~~CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE~~ +* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE * Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149)) * Catch invalid memory accesses in imagehlp.CheckSumMappedFile * Check IsWoW64Process before calling Wow64 functions in UNIXFS_get_unix_path diff --git a/patches/ntdll-NtQuerySystemInformationEx/0001-ntdll-Return-STATUS_SUCCESS-from-NtQuerySystemInform.patch b/patches/ntdll-NtQuerySystemInformationEx/0001-ntdll-Return-STATUS_SUCCESS-from-NtQuerySystemInform.patch new file mode 100644 index 00000000..4725bbd2 --- /dev/null +++ b/patches/ntdll-NtQuerySystemInformationEx/0001-ntdll-Return-STATUS_SUCCESS-from-NtQuerySystemInform.patch @@ -0,0 +1,26 @@ +From 1b56ed8fa19d38ff6d17884da2b23ff38a3bd79c Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Wed, 6 Jan 2016 15:29:57 +0100 +Subject: ntdll: Return STATUS_SUCCESS from NtQuerySystemInformationEx. + +--- + dlls/ntdll/nt.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c +index 9ee1923..1214978 100644 +--- a/dlls/ntdll/nt.c ++++ b/dlls/ntdll/nt.c +@@ -2180,7 +2180,8 @@ NTSTATUS WINAPI NtQuerySystemInformationEx(SYSTEM_INFORMATION_CLASS SystemInform + { + FIXME("(0x%08x,%p,%u,%p,%u,%p) stub\n", SystemInformationClass, Query, QueryLength, SystemInformation, + Length, ResultLength); +- return STATUS_NOT_IMPLEMENTED; ++ if (ResultLength) *ResultLength = 0; ++ return STATUS_SUCCESS; + } + + /****************************************************************************** +-- +2.6.4 + diff --git a/patches/ntdll-NtQuerySystemInformationEx/definition b/patches/ntdll-NtQuerySystemInformationEx/definition new file mode 100644 index 00000000..2392d95c --- /dev/null +++ b/patches/ntdll-NtQuerySystemInformationEx/definition @@ -0,0 +1 @@ +Fixes: CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index d5a4b66e..4794566c 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -201,6 +201,7 @@ patch_enable_all () enable_ntdll_Loader_Machine_Type="$1" enable_ntdll_NtQueryEaFile="$1" enable_ntdll_NtQuerySection="$1" + enable_ntdll_NtQuerySystemInformationEx="$1" enable_ntdll_NtSetLdtEntries="$1" enable_ntdll_Pipe_SpecialCharacters="$1" enable_ntdll_ProcessQuotaLimits="$1" @@ -717,6 +718,9 @@ patch_enable () ntdll-NtQuerySection) enable_ntdll_NtQuerySection="$2" ;; + ntdll-NtQuerySystemInformationEx) + enable_ntdll_NtQuerySystemInformationEx="$2" + ;; ntdll-NtSetLdtEntries) enable_ntdll_NtSetLdtEntries="$2" ;; @@ -4336,6 +4340,18 @@ if test "$enable_ntdll_NtQuerySection" -eq 1; then ) >> "$patchlist" fi +# Patchset ntdll-NtQuerySystemInformationEx +# | +# | Modified files: +# | * dlls/ntdll/nt.c +# | +if test "$enable_ntdll_NtQuerySystemInformationEx" -eq 1; then + patch_apply ntdll-NtQuerySystemInformationEx/0001-ntdll-Return-STATUS_SUCCESS-from-NtQuerySystemInform.patch + ( + echo '+ { "Sebastian Lackner", "ntdll: Return STATUS_SUCCESS from NtQuerySystemInformationEx.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-NtSetLdtEntries # | # | This patchset fixes the following Wine bugs: diff --git a/staging/changelog b/staging/changelog index bdd8105b..5f4a1a57 100644 --- a/staging/changelog +++ b/staging/changelog @@ -9,6 +9,7 @@ wine-staging (1.9.1) UNRELEASED; urgency=low * Added patch to remove dead code from SCROLL_TrackScrollBar. * Added patch to do a device check before returning a default serial port name. + * Added patch to return STATUS_SUCCESS from NtQuerySystemInformationEx. -- Sebastian Lackner Wed, 30 Dec 2015 01:03:12 +0100 wine-staging (1.9.0) unstable; urgency=low