From 4a57b7984a489ac17513e7c8aae244cbc7689b16 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sun, 6 Aug 2006 21:15:55 +0000 Subject: [PATCH] Goodbye REGISTRY_ERROR bsod! - Change UserMode -> KernelMode in ObReferenceObject*() calls, because that calls failed - Remove Cm-specific hack from Ob "advapi32_winetest.exe registry" shows 0 failures on the first run and 2 failures on further runs. I suppose there might be a leakage in the CM. To be investigated further (or wait till complete Cm rewrite in October). svn path=/trunk/; revision=23508 --- reactos/ntoskrnl/cm/regobj.c | 4 ++-- reactos/ntoskrnl/ob/obhandle.c | 13 ++----------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/reactos/ntoskrnl/cm/regobj.c b/reactos/ntoskrnl/cm/regobj.c index c14a07ad256..9c5f9e3e7c6 100644 --- a/reactos/ntoskrnl/cm/regobj.c +++ b/reactos/ntoskrnl/cm/regobj.c @@ -148,7 +148,7 @@ CmFindObject(POBJECT_CREATE_INFORMATION ObjectCreateInfo, ObReferenceObjectByPointer(FoundObject, STANDARD_RIGHTS_REQUIRED, CmiKeyType, - UserMode); + KernelMode); if (End != NULL) { *End = L'\\'; @@ -790,7 +790,7 @@ CmiAddKeyToList(PKEY_OBJECT ParentKey, ObReferenceObjectByPointer(ParentKey, STANDARD_RIGHTS_REQUIRED, CmiKeyType, - UserMode); + KernelMode); NewKey->ParentKey = ParentKey; } diff --git a/reactos/ntoskrnl/ob/obhandle.c b/reactos/ntoskrnl/ob/obhandle.c index 5070024ea30..bf2a0817634 100644 --- a/reactos/ntoskrnl/ob/obhandle.c +++ b/reactos/ntoskrnl/ob/obhandle.c @@ -239,17 +239,8 @@ ObpCloseHandleTableEntry(IN PHANDLE_TABLE HandleTable, /* Dereference the object as well */ ASSERT(ObjectHeader->Type); ASSERT(ObjectHeader->PointerCount != 0xCCCCCCCC); - if (!wcscmp(ObjectHeader->Type->Name.Buffer, L"Key")) - { - // - // WE DONT CLOSE REGISTRY HANDLES BECAUSE CM IS BRAINDEAD - // - DPRINT("NOT CLOSING THE KEY\n"); - } - else - { - ObDereferenceObject(Body); - } + + ObDereferenceObject(Body); /* Return to caller */ OBTRACE(OB_HANDLE_DEBUG,