mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
smack: introduce a special case for tmpfs in smack_d_instantiate()
Files created with __shmem_file_stup() appear to have somewhat fake dentries which make them look like root directories and not get the label the current process or ("*") star meant for tmpfs files. Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
This commit is contained in:
parent
68390ccf8b
commit
1d8c2326a4
@ -3036,7 +3036,8 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
|
|||||||
* of the superblock.
|
* of the superblock.
|
||||||
*/
|
*/
|
||||||
if (opt_dentry->d_parent == opt_dentry) {
|
if (opt_dentry->d_parent == opt_dentry) {
|
||||||
if (sbp->s_magic == CGROUP_SUPER_MAGIC) {
|
switch (sbp->s_magic) {
|
||||||
|
case CGROUP_SUPER_MAGIC:
|
||||||
/*
|
/*
|
||||||
* The cgroup filesystem is never mounted,
|
* The cgroup filesystem is never mounted,
|
||||||
* so there's no opportunity to set the mount
|
* so there's no opportunity to set the mount
|
||||||
@ -3044,8 +3045,19 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
|
|||||||
*/
|
*/
|
||||||
sbsp->smk_root = &smack_known_star;
|
sbsp->smk_root = &smack_known_star;
|
||||||
sbsp->smk_default = &smack_known_star;
|
sbsp->smk_default = &smack_known_star;
|
||||||
|
isp->smk_inode = sbsp->smk_root;
|
||||||
|
break;
|
||||||
|
case TMPFS_MAGIC:
|
||||||
|
/*
|
||||||
|
* What about shmem/tmpfs anonymous files with dentry
|
||||||
|
* obtained from d_alloc_pseudo()?
|
||||||
|
*/
|
||||||
|
isp->smk_inode = smk_of_current();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
isp->smk_inode = sbsp->smk_root;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
isp->smk_inode = sbsp->smk_root;
|
|
||||||
isp->smk_flags |= SMK_INODE_INSTANT;
|
isp->smk_flags |= SMK_INODE_INSTANT;
|
||||||
goto unlockandout;
|
goto unlockandout;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user