diff options
author | Yan, Zheng <zyan@redhat.com> | 2019-05-26 16:27:56 +0800 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2019-07-08 14:01:42 +0200 |
commit | ac6713ccb5a6d13b59a2e3fda4fb049a2c4e0af2 (patch) | |
tree | b97e61e509a3771db80edf64c3b211079faf4cc7 /fs/ceph/file.c | |
parent | 5c31e92dffb94c955fff2867a56aac68e63c286d (diff) | |
download | blackbird-op-linux-ac6713ccb5a6d13b59a2e3fda4fb049a2c4e0af2.tar.gz blackbird-op-linux-ac6713ccb5a6d13b59a2e3fda4fb049a2c4e0af2.zip |
ceph: add selinux support
When creating new file/directory, use security_dentry_init_security() to
prepare selinux context for the new inode, then send openc/mkdir request
to MDS, together with selinux xattr.
security_dentry_init_security() only supports single security module and
only selinux has dentry_init_security hook. So only selinux is supported
for now. We can add support for other security modules once kernel has a
generic version of dentry_init_security()
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/file.c')
-rw-r--r-- | fs/ceph/file.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 455b2a50d9c3..d616e4b50b57 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -454,6 +454,9 @@ int ceph_atomic_open(struct inode *dir, struct dentry *dentry, err = ceph_pre_init_acls(dir, &mode, &as_ctx); if (err < 0) return err; + err = ceph_security_init_secctx(dentry, mode, &as_ctx); + if (err < 0) + goto out_ctx; } /* do the open */ |