Author: pschweitzer Date: Sun Jan 27 09:50:20 2013 New Revision: 58239
URL: http://svn.reactos.org/svn/reactos?rev=58239&view=rev Log: [NTOSKRNL] In ObpCheckTraverseAccess() first try to perform a fast traverse check before doing the entire access check.
Modified: trunk/reactos/ntoskrnl/ob/obsecure.c
Modified: trunk/reactos/ntoskrnl/ob/obsecure.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/obsecure.c?rev=... ============================================================================== --- trunk/reactos/ntoskrnl/ob/obsecure.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ob/obsecure.c [iso-8859-1] Sun Jan 27 09:50:20 2013 @@ -301,6 +301,20 @@ return FALSE; }
+ /* First try to perform a fast traverse check + * If it fails, then the entire access check will + * have to be done. + */ + Result = SeFastTraverseCheck(SecurityDescriptor, + AccessState, + FILE_WRITE_DATA, + AccessMode); + if (Result) + { + ObReleaseObjectSecurity(SecurityDescriptor, SdAllocated); + return TRUE; + } + /* Lock the security context */ SeLockSubjectContext(&AccessState->SubjectSecurityContext);