- Use the actual previous mode (spotted by Thomas) Modified: trunk/reactos/ntoskrnl/lpc/connect.c _____
Modified: trunk/reactos/ntoskrnl/lpc/connect.c --- trunk/reactos/ntoskrnl/lpc/connect.c 2005-08-09 03:31:22 UTC (rev 17224) +++ trunk/reactos/ntoskrnl/lpc/connect.c 2005-08-09 03:38:34 UTC (rev 17225) @@ -410,7 +410,7 @@
NULL, PORT_ALL_ACCESS, /* DesiredAccess */ LpcPortObjectType, - UserMode, + PreviousMode, NULL, (PVOID*)&NamedPort); if (!NT_SUCCESS(Status)) @@ -430,7 +430,7 @@ Status = ObReferenceObjectByHandle(WriteMap.SectionHandle, SECTION_MAP_READ | SECTION_MAP_WRITE, MmSectionObjectType, - UserMode, + PreviousMode, (PVOID*)&SectionObject, NULL); if (!NT_SUCCESS(Status)) @@ -669,6 +669,7 @@ PEPORT_CONNECT_REQUEST_MESSAGE CRequest; PEPORT_CONNECT_REPLY_MESSAGE CReply; ULONG Size; + KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
Size = sizeof(EPORT_CONNECT_REPLY_MESSAGE); if (LpcMessage) @@ -685,7 +686,7 @@ Status = ObReferenceObjectByHandle(NamedPortHandle, PORT_ALL_ACCESS, LpcPortObjectType, - UserMode, + PreviousMode, (PVOID*)&NamedPort, NULL); if (!NT_SUCCESS(Status)) @@ -699,10 +700,10 @@ */ if (AcceptIt) { - Status = ObCreateObject(ExGetPreviousMode(), + Status = ObCreateObject(PreviousMode, LpcPortObjectType, NULL, - ExGetPreviousMode(), + PreviousMode, NULL, sizeof(EPORT), 0, @@ -789,7 +790,7 @@ Status = ObReferenceObjectByHandle(WriteMap->SectionHandle, SECTION_MAP_READ | SECTION_MAP_WRITE, MmSectionObjectType, - UserMode, + PreviousMode, (PVOID*)&SectionObject, NULL); if (!NT_SUCCESS(Status))