Updated ntoskrnl-Stubs patchset

- Added more stub patches
This commit is contained in:
Alistair Leslie-Hughes 2018-03-29 08:58:07 +11:00
parent 046821d509
commit c6b3d2a128
6 changed files with 214 additions and 0 deletions

View File

@ -0,0 +1,61 @@
From 67b4323b39e2ec316ea698d9ecd9176b472983eb Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 28 Mar 2018 16:16:27 +1100
Subject: [PATCH] ntoskrnl: Add
PsAcquireProcessExitSynchronization/PsReleaseProcessExitSynchronization stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 18 ++++++++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 ++
2 files changed, 20 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 58383e5..0ebe365 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3511,3 +3511,21 @@ __ASM_STDCALL_FUNC( _chkstk, 0,
__ASM_GLOBAL_FUNC( __chkstk, "lsl r4, r4, #2\n\t"
"bx lr" )
#endif
+
+/*********************************************************************
+ * PsAcquireProcessExitSynchronization (NTOSKRNL.@)
+*/
+NTSTATUS WINAPI PsAcquireProcessExitSynchronization(PEPROCESS process)
+{
+ FIXME("stub: %p\n", process);
+
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+/*********************************************************************
+ * PsReleaseProcessExitSynchronization (NTOSKRNL.@)
+ */
+void WINAPI PsReleaseProcessExitSynchronization(PEPROCESS process)
+{
+ FIXME("stub: %p\n", process);
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index de3307d..7b7b4d4 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -844,6 +844,7 @@
@ stub PoUnregisterSystemState
@ stdcall ProbeForRead(ptr long long)
@ stdcall ProbeForWrite(ptr long long)
+@ stdcall PsAcquireProcessExitSynchronization(ptr)
@ stub PsAssignImpersonationToken
@ stub PsChargePoolQuota
@ stub PsChargeProcessNonPagedPoolQuota
@@ -905,6 +906,7 @@
@ stub PsProcessType
@ stub PsReferenceImpersonationToken
@ stub PsReferencePrimaryToken
+@ stdcall PsReleaseProcessExitSynchronization(ptr)
@ stdcall PsRemoveCreateThreadNotifyRoutine(ptr)
@ stdcall PsRemoveLoadImageNotifyRoutine(ptr)
@ stub PsRestoreImpersonation
--
1.9.1

View File

@ -0,0 +1,49 @@
From 4a6df954553de0f5a82e3e24eaf73bd48b22389e Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 28 Mar 2018 17:09:46 +1100
Subject: [PATCH] ntoskrnl: Add ExfUnblockPushLock stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 15 +++++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
2 files changed, 16 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 0ebe365..f9a3a63 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3529,3 +3529,18 @@ void WINAPI PsReleaseProcessExitSynchronization(PEPROCESS process)
{
FIXME("stub: %p\n", process);
}
+
+typedef struct _EX_PUSH_LOCK_WAIT_BLOCK *PEX_PUSH_LOCK_WAIT_BLOCK;
+/*********************************************************************
+ * ExfUnblockPushLock (NTOSKRNL.@)
+ */
+#ifdef DEFINE_FASTCALL2_ENTRYPOINT
+DEFINE_FASTCALL2_ENTRYPOINT( ExfUnblockPushLock )
+void WINAPI DECLSPEC_HIDDEN __regs_ExfUnblockPushLock( EX_PUSH_LOCK *lock,
+ PEX_PUSH_LOCK_WAIT_BLOCK block)
+#else
+void WINAPI ExfUnblockPushLock( EX_PUSH_LOCK *lock, PEX_PUSH_LOCK_WAIT_BLOCK block )
+#endif
+{
+ FIXME( "stub: %p, %p\n", lock, block );
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 7b7b4d4..87e5685 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -133,6 +133,7 @@
@ stub ExEnumHandleTable
@ stub ExEventObjectType
@ stub ExExtendZone
+@ stdcall -norelay ExfUnblockPushLock(ptr ptr)
@ stdcall ExFreePool(ptr)
@ stdcall ExFreePoolWithTag(ptr long)
@ stub ExFreeToPagedLookasideList
--
1.9.1

View File

@ -0,0 +1,45 @@
From 8796964cd51e0edc14963425bd7ab5ef11f9c5f1 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 28 Mar 2018 18:00:30 +1100
Subject: [PATCH] ntoskrnl: Add PsGetProcessId stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 10 ++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index f9a3a63..a06479c 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3544,3 +3544,13 @@ void WINAPI ExfUnblockPushLock( EX_PUSH_LOCK *lock, PEX_PUSH_LOCK_WAIT_BLOCK blo
{
FIXME( "stub: %p, %p\n", lock, block );
}
+
+/*********************************************************************
+ * PsGetProcessId (NTOSKRNL.@)
+ */
+HANDLE WINAPI PsGetProcessId(PEPROCESS process)
+{
+ FIXME("stub: %p\n", process);
+
+ return 0;
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 87e5685..7801b1a 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -874,7 +874,7 @@
@ stub PsGetProcessExitProcessCalled
@ stub PsGetProcessExitStatus
@ stub PsGetProcessExitTime
-@ stub PsGetProcessId
+@ stdcall PsGetProcessId(ptr)
@ stub PsGetProcessImageFileName
@ stub PsGetProcessInheritedFromUniqueProcessId
@ stub PsGetProcessJob
--
1.9.1

View File

@ -0,0 +1,47 @@
From f3217f682f823e40dc09cd5cb07792666472aa32 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 28 Mar 2018 18:54:25 +1100
Subject: [PATCH] ntoskrnl: Add ObGetObjectType stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 10 ++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
2 files changed, 11 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index a06479c..3f3c798 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2440,6 +2440,16 @@ USHORT WINAPI ObGetFilterVersion(void)
}
/***********************************************************************
+ * ObGetObjectType (NTOSKRNL.EXE.@)
+ */
+POBJECT_TYPE WINAPI ObGetObjectType(void *object)
+{
+ FIXME("stub: %p\n", object);
+
+ return NULL;
+}
+
+/***********************************************************************
* IoGetAttachedDeviceReference (NTOSKRNL.EXE.@)
*/
DEVICE_OBJECT* WINAPI IoGetAttachedDeviceReference( DEVICE_OBJECT *device )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 7801b1a..8714ccd 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -808,6 +808,7 @@
@ stub ObFindHandleForObject
@ stdcall ObGetFilterVersion()
@ stub ObGetObjectSecurity
+@ stdcall ObGetObjectType(ptr)
@ stub ObInsertObject
@ stub ObLogSecurityDescriptor
@ stub ObMakeTemporaryObject
--
1.9.1

View File

@ -7,4 +7,5 @@ Fixes: Add stub for ntoskrnl.IoGetDeviceAttachmentBaseRef
Fixes: Implement ntoskrnl.ExInterlockedPopEntrySList
Fixes: Implement ntoskrnl.NtBuildNumber
Fixes: Implement ntoskrnl.ExInitializeNPagedLookasideList
Fixes: [44837] Add stub for ntoskrnl.exe.Ps{Acquire,Release}ProcessExitSynchronization
Depends: Compiler_Warnings

View File

@ -5721,6 +5721,9 @@ fi
# | This patchset has the following (direct or indirect) dependencies:
# | * Compiler_Warnings
# |
# | This patchset fixes the following Wine bugs:
# | * [#44837] Add stub for ntoskrnl.exe.Ps{Acquire,Release}ProcessExitSynchronization
# |
# | Modified files:
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/wdm.h, include/winnt.h
# |
@ -5735,6 +5738,10 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then
patch_apply ntoskrnl-Stubs/0012-ntoskrnl-Implement-ExInterlockedPopEntrySList.patch
patch_apply ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch
patch_apply ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch
patch_apply ntoskrnl-Stubs/0015-ntoskrnl-Add-PsAcquireProcessExitSynchronization-PsR.patch
patch_apply ntoskrnl-Stubs/0016-ntoskrnl-Add-ExfUnblockPushLock-stub.patch
patch_apply ntoskrnl-Stubs/0017-ntoskrnl-Add-PsGetProcessId-stub.patch
patch_apply ntoskrnl-Stubs/0018-ntoskrnl-Add-ObGetObjectType-stub.patch
(
printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Add stubs for ExAcquireFastMutexUnsafe and ExReleaseFastMutexUnsafe.", 1 },';
printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeReleaseMutex stub.", 1 },';
@ -5746,6 +5753,10 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then
printf '%s\n' '+ { "Michael Müller", "ntoskrnl: Implement ExInterlockedPopEntrySList.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ntoskrnl.exe: Implement NtBuildNumber.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl: Add PsAcquireProcessExitSynchronization/PsReleaseProcessExitSynchronization stub.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl: Add ExfUnblockPushLock stub.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl: Add PsGetProcessId stub.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl: Add ObGetObjectType stub.", 1 },';
) >> "$patchlist"
fi