diff --git a/[refs] b/[refs] index 358a862bd9da..b98ff7f720c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1d9bc6dc5b6b9cc9299739f0245ce4841f066b92 +refs/heads/master: 415103f9932d45f7927f4b17e3a9a13834cdb9a1 diff --git a/trunk/security/selinux/hooks.c b/trunk/security/selinux/hooks.c index 65fa8bf596f5..cda18fd8ca0f 100644 --- a/trunk/security/selinux/hooks.c +++ b/trunk/security/selinux/hooks.c @@ -2525,7 +2525,10 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir, sid = tsec->sid; newsid = tsec->create_sid; - if (!newsid || !(sbsec->flags & SE_SBLABELSUPP)) { + if ((sbsec->flags & SE_SBINITIALIZED) && + (sbsec->behavior == SECURITY_FS_USE_MNTPOINT)) + newsid = sbsec->mntpoint_sid; + else if (!newsid || !(sbsec->flags & SE_SBLABELSUPP)) { rc = security_transition_sid(sid, dsec->sid, inode_mode_to_security_class(inode->i_mode), &newsid);