Author: jgardou
Date: Sun Oct 5 20:37:30 2014
New Revision: 64551
URL: http://svn.reactos.org/svn/reactos?rev=64551&view=rev
Log:
[NTOS/MM]
- Silence some DPRINTs
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/pagfault.…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/pagfault.c [iso-8859-1] Sun Oct 5 20:37:30 2014
@@ -906,7 +906,7 @@
PMMPFN Pfn1;
MMPTE TempPte;
PMMPTE PointerToPteForProtoPage;
- DPRINT1("Transition fault on 0x%p with PTE 0x%p in process %s\n",
+ DPRINT("Transition fault on 0x%p with PTE 0x%p in process %s\n",
FaultingAddress, PointerPte, CurrentProcess->ImageFileName);
/* Windowss does this check */
@@ -923,7 +923,7 @@
/* Get the PFN and the PFN entry */
PageFrameIndex = TempPte.u.Trans.PageFrameNumber;
- DPRINT1("Transition PFN: %lx\n", PageFrameIndex);
+ DPRINT("Transition PFN: %lx\n", PageFrameIndex);
Pfn1 = MiGetPfnEntry(PageFrameIndex);
/* One more transition fault! */
@@ -957,7 +957,7 @@
if (Pfn1->u3.e1.PageLocation == ActiveAndValid)
{
/* All Windows does here is a bunch of sanity checks */
- DPRINT1("Transition in active list\n");
+ DPRINT("Transition in active list\n");
ASSERT((Pfn1->PteAddress >= MiAddressToPte(MmPagedPoolStart)) &&
(Pfn1->PteAddress <= MiAddressToPte(MmPagedPoolEnd)));
ASSERT(Pfn1->u2.ShareCount != 0);
@@ -966,7 +966,7 @@
else
{
/* Otherwise, the page is removed from its list */
- DPRINT1("Transition page in free/zero list\n");
+ DPRINT("Transition page in free/zero list\n");
MiUnlinkPageFromList(Pfn1);
MiReferenceUnusedPageAndBumpLockCount(Pfn1);
}
Author: jgardou
Date: Sun Oct 5 20:19:49 2014
New Revision: 64550
URL: http://svn.reactos.org/svn/reactos?rev=64550&view=rev
Log:
[ADVAPI32]
- Kill also the debug print in the W version.
Modified:
trunk/reactos/dll/win32/advapi32/misc/logon.c
Modified: trunk/reactos/dll/win32/advapi32/misc/logon.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/misc/lo…
==============================================================================
--- trunk/reactos/dll/win32/advapi32/misc/logon.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/advapi32/misc/logon.c [iso-8859-1] Sun Oct 5 20:19:49 2014
@@ -207,7 +207,6 @@
/* Resume the main thread */
if (!(dwCreationFlags & CREATE_SUSPENDED))
{
- ERR("Resuming thread!\n");
ResumeThread(lpProcessInformation->hThread);
}
Author: jgardou
Date: Sun Oct 5 14:20:08 2014
New Revision: 64545
URL: http://svn.reactos.org/svn/reactos?rev=64545&view=rev
Log:
[NTOS/SE]
- Do not fail when setting the same primary token for a process.
- Fake equality of tokens when both of them are (not) restricted.
CORE-8554 #resolve #comment JRE-7u65 now installs fine
Modified:
trunk/reactos/ntoskrnl/se/token.c
Modified: trunk/reactos/ntoskrnl/se/token.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/se/token.c?rev=64…
==============================================================================
--- trunk/reactos/ntoskrnl/se/token.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/se/token.c [iso-8859-1] Sun Oct 5 14:20:08 2014
@@ -108,6 +108,8 @@
}
/* FIXME: Check if every privilege that is present in either token is also present in the other one */
+ DPRINT1("FIXME: Pretending tokens are equal!\n");
+ IsEqual = TRUE;
}
*Equal = IsEqual;
@@ -231,7 +233,30 @@
PAGED_CODE();
if (NewToken->TokenType != TokenPrimary) return(STATUS_BAD_TOKEN_TYPE);
- if (NewToken->TokenInUse) return(STATUS_TOKEN_ALREADY_IN_USE);
+ if (NewToken->TokenInUse)
+ {
+ BOOLEAN IsEqual;
+ NTSTATUS Status;
+
+ /* Maybe we're trying to set the same token */
+ OldToken = PsReferencePrimaryToken(Process);
+ if (OldToken == NewToken)
+ {
+ /* So it's a nop. */
+ PsDereferencePrimaryToken(OldToken);
+ return STATUS_SUCCESS;
+ }
+
+ Status = SepCompareTokens(OldToken, NewToken, &IsEqual);
+ if (!NT_SUCCESS(Status))
+ {
+ PsDereferencePrimaryToken(OldToken);
+ return Status;
+ }
+
+ PsDereferencePrimaryToken(OldToken);
+ return IsEqual ? STATUS_SUCCESS : STATUS_TOKEN_ALREADY_IN_USE;
+ }
/* Mark new token in use */
NewToken->TokenInUse = 1;