- Use the actual previous mode (spotted by Thomas)

svn path=/trunk/; revision=17225
This commit is contained in:
Alex Ionescu 2005-08-09 03:38:34 +00:00
parent e22539a07b
commit 8cfb5e1c6b

View file

@ -410,7 +410,7 @@ NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
NULL, NULL,
PORT_ALL_ACCESS, /* DesiredAccess */ PORT_ALL_ACCESS, /* DesiredAccess */
LpcPortObjectType, LpcPortObjectType,
UserMode, PreviousMode,
NULL, NULL,
(PVOID*)&NamedPort); (PVOID*)&NamedPort);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
@ -430,7 +430,7 @@ NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
Status = ObReferenceObjectByHandle(WriteMap.SectionHandle, Status = ObReferenceObjectByHandle(WriteMap.SectionHandle,
SECTION_MAP_READ | SECTION_MAP_WRITE, SECTION_MAP_READ | SECTION_MAP_WRITE,
MmSectionObjectType, MmSectionObjectType,
UserMode, PreviousMode,
(PVOID*)&SectionObject, (PVOID*)&SectionObject,
NULL); NULL);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
@ -669,6 +669,7 @@ NtAcceptConnectPort (PHANDLE ServerPortHandle,
PEPORT_CONNECT_REQUEST_MESSAGE CRequest; PEPORT_CONNECT_REQUEST_MESSAGE CRequest;
PEPORT_CONNECT_REPLY_MESSAGE CReply; PEPORT_CONNECT_REPLY_MESSAGE CReply;
ULONG Size; ULONG Size;
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
Size = sizeof(EPORT_CONNECT_REPLY_MESSAGE); Size = sizeof(EPORT_CONNECT_REPLY_MESSAGE);
if (LpcMessage) if (LpcMessage)
@ -685,7 +686,7 @@ NtAcceptConnectPort (PHANDLE ServerPortHandle,
Status = ObReferenceObjectByHandle(NamedPortHandle, Status = ObReferenceObjectByHandle(NamedPortHandle,
PORT_ALL_ACCESS, PORT_ALL_ACCESS,
LpcPortObjectType, LpcPortObjectType,
UserMode, PreviousMode,
(PVOID*)&NamedPort, (PVOID*)&NamedPort,
NULL); NULL);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
@ -699,10 +700,10 @@ NtAcceptConnectPort (PHANDLE ServerPortHandle,
*/ */
if (AcceptIt) if (AcceptIt)
{ {
Status = ObCreateObject(ExGetPreviousMode(), Status = ObCreateObject(PreviousMode,
LpcPortObjectType, LpcPortObjectType,
NULL, NULL,
ExGetPreviousMode(), PreviousMode,
NULL, NULL,
sizeof(EPORT), sizeof(EPORT),
0, 0,
@ -789,7 +790,7 @@ NtAcceptConnectPort (PHANDLE ServerPortHandle,
Status = ObReferenceObjectByHandle(WriteMap->SectionHandle, Status = ObReferenceObjectByHandle(WriteMap->SectionHandle,
SECTION_MAP_READ | SECTION_MAP_WRITE, SECTION_MAP_READ | SECTION_MAP_WRITE,
MmSectionObjectType, MmSectionObjectType,
UserMode, PreviousMode,
(PVOID*)&SectionObject, (PVOID*)&SectionObject,
NULL); NULL);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))