mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 12:24:21 +00:00
- Use the actual previous mode (spotted by Thomas)
svn path=/trunk/; revision=17225
This commit is contained in:
parent
e22539a07b
commit
8cfb5e1c6b
1 changed files with 7 additions and 6 deletions
|
@ -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))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue