diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2016-11-10 22:18:28 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2016-11-14 15:39:48 -0500 |
commit | db978da8fa1d0819b210c137d31a339149b88875 (patch) | |
tree | 877976508c0ebadc5372fecdb82f0e91121c1c1a /fs/proc/namespaces.c | |
parent | 420591128cb206201dc444c2d42fb6f299b2ecd0 (diff) | |
download | linux-db978da8fa1d0819b210c137d31a339149b88875.tar.gz linux-db978da8fa1d0819b210c137d31a339149b88875.tar.bz2 linux-db978da8fa1d0819b210c137d31a339149b88875.zip |
proc: Pass file mode to proc_pid_make_inode
Pass the file mode of the proc inode to be created to
proc_pid_make_inode. In proc_pid_make_inode, initialize inode->i_mode
before calling security_task_to_inode. This allows selinux to set
isec->sclass right away without introducing "half-initialized" inode
security structs.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'fs/proc/namespaces.c')
-rw-r--r-- | fs/proc/namespaces.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/proc/namespaces.c b/fs/proc/namespaces.c index 51b8b0a8ad91..766f0c637ad1 100644 --- a/fs/proc/namespaces.c +++ b/fs/proc/namespaces.c @@ -92,12 +92,11 @@ static int proc_ns_instantiate(struct inode *dir, struct inode *inode; struct proc_inode *ei; - inode = proc_pid_make_inode(dir->i_sb, task); + inode = proc_pid_make_inode(dir->i_sb, task, S_IFLNK | S_IRWXUGO); if (!inode) goto out; ei = PROC_I(inode); - inode->i_mode = S_IFLNK|S_IRWXUGO; inode->i_op = &proc_ns_link_inode_operations; ei->ns_ops = ns_ops; |