Fabian Maurer : kernel32: Add stub for SetProcessMitigationPolicy.

Alexandre Julliard julliard at winehq.org
Wed Aug 15 14:39:56 CDT 2018


Module: wine
Branch: master
Commit: 41c0219e05a98843af0fae1d5197637566a7e7f6
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=41c0219e05a98843af0fae1d5197637566a7e7f6

Author: Fabian Maurer <dark.shadow4 at web.de>
Date:   Wed Aug 15 20:30:59 2018 +0200

kernel32: Add stub for SetProcessMitigationPolicy.

This is needed by x64 chromium sandbox for >= win8.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45643
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 .../api-ms-win-core-processthreads-l1-1-1.spec       |  2 +-
 .../api-ms-win-core-processthreads-l1-1-2.spec       |  2 +-
 dlls/kernel32/kernel32.spec                          |  1 +
 dlls/kernel32/process.c                              | 10 ++++++++++
 dlls/kernelbase/kernelbase.spec                      |  2 +-
 include/winnt.h                                      | 20 ++++++++++++++++++++
 6 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec
index ebbe55f..616fa63 100644
--- a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec
+++ b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec
@@ -44,7 +44,7 @@
 @ stdcall ResumeThread(long) kernel32.ResumeThread
 @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass
 @ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode
-@ stub SetProcessMitigationPolicy
+@ stdcall SetProcessMitigationPolicy(long ptr long) kernel32.SetProcessMitigationPolicy
 @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters
 @ stdcall SetThreadContext(long ptr) kernel32.SetThreadContext
 @ stdcall SetThreadIdealProcessorEx(long ptr ptr) kernel32.SetThreadIdealProcessorEx
diff --git a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec
index db94c2e5..8de6c5b 100644
--- a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec
+++ b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec
@@ -49,7 +49,7 @@
 @ stdcall ResumeThread(long) kernel32.ResumeThread
 @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass
 @ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode
-@ stub SetProcessMitigationPolicy
+@ stdcall SetProcessMitigationPolicy(long ptr long) kernel32.SetProcessMitigationPolicy
 @ stdcall SetProcessPriorityBoost(long long) kernel32.SetProcessPriorityBoost
 @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters
 @ stdcall SetThreadContext(long ptr) kernel32.SetThreadContext
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 3060896..c53276c 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1428,6 +1428,7 @@
 @ stdcall SetProcessAffinityMask(long long)
 @ stdcall SetProcessAffinityUpdateMode(long long)
 @ stdcall SetProcessDEPPolicy(long)
+@ stdcall SetProcessMitigationPolicy(long ptr long)
 # @ stub SetProcessPreferredUILanguages
 @ stdcall SetProcessPriorityBoost(long long)
 @ stdcall SetProcessShutdownParameters(long long)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 5aa245c..1a303c5 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -4389,3 +4389,13 @@ BOOL WINAPI BaseFlushAppcompatCache(void)
     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     return FALSE;
 }
+
+/**********************************************************************
+ *           SetProcessMitigationPolicy     (KERNEL32.@)
+ */
+BOOL WINAPI SetProcessMitigationPolicy(PROCESS_MITIGATION_POLICY policy, void *buffer, SIZE_T length)
+{
+    FIXME("(%d, %p, %lu): stub\n", policy, buffer, length);
+
+    return TRUE;
+}
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index cae825d..5865ee7 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1456,7 +1456,7 @@
 # @ stub SetProcessDefaultCpuSets
 # @ stub SetProcessGroupAffinity
 # @ stub SetProcessInformation
-# @ stub SetProcessMitigationPolicy
+@ stdcall SetProcessMitigationPolicy(long ptr long) kernel32.SetProcessMitigationPolicy
 # @ stub SetProcessPreferredUILanguages
 @ stdcall SetProcessPriorityBoost(long long) kernel32.SetProcessPriorityBoost
 @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters
diff --git a/include/winnt.h b/include/winnt.h
index 7f822c4..c9248a4 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -6273,6 +6273,26 @@ typedef enum _RTL_UMS_SCHEDULER_REASON
 
 typedef void (CALLBACK *PRTL_UMS_SCHEDULER_ENTRY_POINT)(RTL_UMS_SCHEDULER_REASON,ULONG_PTR,PVOID);
 
+typedef enum _PROCESS_MITIGATION_POLICY
+{
+    ProcessDEPPolicy,
+    ProcessASLRPolicy,
+    ProcessDynamicCodePolicy,
+    ProcessStrictHandleCheckPolicy,
+    ProcessSystemCallDisablePolicy,
+    ProcessMitigationOptionsMask,
+    ProcessExtensionPointDisablePolicy,
+    ProcessControlFlowGuardPolicy,
+    ProcessSignaturePolicy,
+    ProcessFontDisablePolicy,
+    ProcessImageLoadPolicy,
+    ProcessSystemCallFilterPolicy,
+    ProcessPayloadRestrictionPolicy,
+    ProcessChildProcessPolicy,
+    ProcessSideChannelIsolationPolicy,
+    MaxProcessMitigationPolicy
+} PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY;
+
 #ifdef __cplusplus
 }
 #endif




More information about the wine-cvs mailing list