[NTOS:SE]

Add a missing ACE(SeAliasAdminsSid / GENERIC_ALL) to the SePublicDefaultDacl ACL. This fixes a kmtest:ObSecurity failure. 

svn path=/trunk/; revision=74050
This commit is contained in:
Eric Kohl 2017-03-04 14:38:13 +00:00
parent 4c03c1a55a
commit 81b072cc64

View file

@ -38,7 +38,8 @@ SepInitDACLs(VOID)
/* create PublicDefaultDacl */ /* create PublicDefaultDacl */
AclLength = sizeof(ACL) + AclLength = sizeof(ACL) +
(sizeof(ACE) + RtlLengthSid(SeWorldSid)) + (sizeof(ACE) + RtlLengthSid(SeWorldSid)) +
(sizeof(ACE) + RtlLengthSid(SeLocalSystemSid)); (sizeof(ACE) + RtlLengthSid(SeLocalSystemSid)) +
(sizeof(ACE) + RtlLengthSid(SeAliasAdminsSid));
SePublicDefaultDacl = ExAllocatePoolWithTag(PagedPool, SePublicDefaultDacl = ExAllocatePoolWithTag(PagedPool,
AclLength, AclLength,
@ -60,6 +61,11 @@ SepInitDACLs(VOID)
GENERIC_ALL, GENERIC_ALL,
SeLocalSystemSid); SeLocalSystemSid);
RtlAddAccessAllowedAce(SePublicDefaultDacl,
ACL_REVISION,
GENERIC_ALL,
SeAliasAdminsSid);
/* create PublicDefaultUnrestrictedDacl */ /* create PublicDefaultUnrestrictedDacl */
AclLength = sizeof(ACL) + AclLength = sizeof(ACL) +
(sizeof(ACE) + RtlLengthSid(SeWorldSid)) + (sizeof(ACE) + RtlLengthSid(SeWorldSid)) +