From e784f0a3115e4b03d0197266d99ea5acc082c1e7 Mon Sep 17 00:00:00 2001 From: Eric Paris Date: Thu, 2 Dec 2010 16:13:40 -0500 Subject: [PATCH] --- yaml --- r: 227811 b: refs/heads/master c: 415103f9932d45f7927f4b17e3a9a13834cdb9a1 h: refs/heads/master i: 227809: 9c1c77e84fa3c77c1c6c95d9f03d6f5f6a8af926 227807: ecab4693e214ecf8c908739fc353f311cc587a72 v: v3 --- [refs] | 2 +- trunk/security/selinux/hooks.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) 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);