[ros-dev] [ros-diffs] [tfaber] 69296: [KMTESTS] - Add missing OBJ_KERNEL_HANDLE - OBJ_KERNEL_HANDLE in user mode has no effect... no reason to make a define around it CORE-10207
Alex Ionescu
ionucu at videotron.ca
Sun Sep 20 18:51:07 UTC 2015
Actually, in XP, OBJ_KERNEL_HANDLE Did work, and gave you a kernel handle
that you could never use. In Windows Vista, it returns a failure code. Not
sure about 2003.
Best regards,
Alex Ionescu
On Sat, Sep 19, 2015 at 2:46 PM, <tfaber at svn.reactos.org> wrote:
> Author: tfaber
> Date: Sat Sep 19 21:46:40 2015
> New Revision: 69296
>
> URL: http://svn.reactos.org/svn/reactos?rev=69296&view=rev
> Log:
> [KMTESTS]
> - Add missing OBJ_KERNEL_HANDLE
> - OBJ_KERNEL_HANDLE in user mode has no effect... no reason to make a
> define around it
> CORE-10207
>
> Modified:
> trunk/rostests/kmtests/ntos_io/IoCreateFile.c
> trunk/rostests/kmtests/ntos_ke/KeEvent.c
> trunk/rostests/kmtests/rtl/RtlRegistry.c
>
> Modified: trunk/rostests/kmtests/ntos_io/IoCreateFile.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_io/IoCreateFile.c?rev=69296&r1=69295&r2=69296&view=diff
>
> ==============================================================================
> --- trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1]
> (original)
> +++ trunk/rostests/kmtests/ntos_io/IoCreateFile.c [iso-8859-1] Sat
> Sep 19 21:46:40 2015
> @@ -454,7 +454,7 @@
> ok_eq_hex(IoStatusBlock.Status, 0xFFFFFFFF);
> if (Status == STATUS_SUCCESS)
> {
> - ObCloseHandle(ParentHandle, KernelMode);
> + ObCloseHandle(ParentHandle, UserMode);
> }
>
> /* Attempt relative target open */
> @@ -462,7 +462,7 @@
> IoStatusBlock.Information = 0xFFFFFFFF;
> InitializeObjectAttributes(&ObjectAttributes,
> &SystemRoot,
> - OBJ_CASE_INSENSITIVE,
> + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
> NULL, NULL);
> Status = ZwOpenFile(&SystemRootHandle,
> GENERIC_WRITE | GENERIC_READ | SYNCHRONIZE,
> @@ -478,7 +478,7 @@
> IoStatusBlock.Information = 0xFFFFFFFF;
> InitializeObjectAttributes(&ObjectAttributes,
> &Regedit,
> - OBJ_CASE_INSENSITIVE,
> + OBJ_CASE_INSENSITIVE |
> OBJ_KERNEL_HANDLE,
> SystemRootHandle,
> NULL);
> Status = IoCreateFile(&ParentHandle,
>
> Modified: trunk/rostests/kmtests/ntos_ke/KeEvent.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ke/KeEvent.c?rev=69296&r1=69295&r2=69296&view=diff
>
> ==============================================================================
> --- trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] (original)
> +++ trunk/rostests/kmtests/ntos_ke/KeEvent.c [iso-8859-1] Sat Sep 19
> 21:46:40 2015
> @@ -155,6 +155,7 @@
> PVOID ThreadObjects[RTL_NUMBER_OF(Threads)];
> LONG State;
> PKTHREAD Thread = KeGetCurrentThread();
> + OBJECT_ATTRIBUTES ObjectAttributes;
>
> LongTimeout.QuadPart = -100 * MILLISECOND;
> ShortTimeout.QuadPart = -1 * MILLISECOND;
> @@ -165,7 +166,12 @@
> {
> Threads[i].Event = Event;
> Threads[i].Signal = FALSE;
> - Status = PsCreateSystemThread(&Threads[i].Handle, GENERIC_ALL,
> NULL, NULL, NULL, WaitForEventThread, &Threads[i]);
> + InitializeObjectAttributes(&ObjectAttributes,
> + NULL,
> + OBJ_KERNEL_HANDLE,
> + NULL,
> + NULL);
> + Status = PsCreateSystemThread(&Threads[i].Handle, GENERIC_ALL,
> &ObjectAttributes, NULL, NULL, WaitForEventThread, &Threads[i]);
> ok_eq_hex(Status, STATUS_SUCCESS);
> Status = ObReferenceObjectByHandle(Threads[i].Handle,
> SYNCHRONIZE, *PsThreadType, KernelMode, (PVOID *)&Threads[i].Thread, NULL);
> ok_eq_hex(Status, STATUS_SUCCESS);
>
> Modified: trunk/rostests/kmtests/rtl/RtlRegistry.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/rtl/RtlRegistry.c?rev=69296&r1=69295&r2=69296&view=diff
>
> ==============================================================================
> --- trunk/rostests/kmtests/rtl/RtlRegistry.c [iso-8859-1] (original)
> +++ trunk/rostests/kmtests/rtl/RtlRegistry.c [iso-8859-1] Sat Sep 19
> 21:46:40 2015
> @@ -7,12 +7,6 @@
>
> #define KMT_EMULATE_KERNEL
> #include <kmt_test.h>
> -
> -#ifdef KMT_KERNEL_MODE
> -#define KMT_KERNEL_HANDLE OBJ_KERNEL_HANDLE
> -#else
> -#define KMT_KERNEL_HANDLE 0
> -#endif
>
> #ifndef RTL_NUMBER_OF
> #define RTL_NUMBER_OF(x) (sizeof(x) / sizeof(x[0]))
> @@ -212,7 +206,7 @@
> RtlInitUnicodeString(&KeyName, L"\\Registry\\MACHINE\\Software");
> InitializeObjectAttributes(&ObjectAttributes,
> &KeyName,
> - OBJ_CASE_INSENSITIVE | KMT_KERNEL_HANDLE,
> + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
> NULL,
> NULL);
> Status = ZwOpenKey(&SoftwareHandle,
> @@ -225,7 +219,7 @@
> RtlInitUnicodeString(&KeyName, L"RtlRegistryKmtestKey");
> InitializeObjectAttributes(&ObjectAttributes,
> &KeyName,
> - OBJ_CASE_INSENSITIVE | KMT_KERNEL_HANDLE,
> + OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
> SoftwareHandle,
> NULL);
> Status = ZwCreateKey(&KeyHandle,
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.reactos.org/pipermail/ros-dev/attachments/20150920/4231b852/attachment.html>
More information about the Ros-dev
mailing list