diff options
Diffstat (limited to 'security/capability.c')
-rw-r--r-- | security/capability.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/security/capability.c b/security/capability.c index 1728d4e375db..d32e16e3c6ae 100644 --- a/security/capability.c +++ b/security/capability.c | |||
@@ -91,7 +91,10 @@ static int cap_sb_pivotroot(struct path *old_path, struct path *new_path) | |||
91 | } | 91 | } |
92 | 92 | ||
93 | static int cap_sb_set_mnt_opts(struct super_block *sb, | 93 | static int cap_sb_set_mnt_opts(struct super_block *sb, |
94 | struct security_mnt_opts *opts) | 94 | struct security_mnt_opts *opts, |
95 | unsigned long kern_flags, | ||
96 | unsigned long *set_kern_flags) | ||
97 | |||
95 | { | 98 | { |
96 | if (unlikely(opts->num_mnt_opts)) | 99 | if (unlikely(opts->num_mnt_opts)) |
97 | return -EOPNOTSUPP; | 100 | return -EOPNOTSUPP; |
@@ -109,6 +112,13 @@ static int cap_sb_parse_opts_str(char *options, struct security_mnt_opts *opts) | |||
109 | return 0; | 112 | return 0; |
110 | } | 113 | } |
111 | 114 | ||
115 | static int cap_dentry_init_security(struct dentry *dentry, int mode, | ||
116 | struct qstr *name, void **ctx, | ||
117 | u32 *ctxlen) | ||
118 | { | ||
119 | return 0; | ||
120 | } | ||
121 | |||
112 | static int cap_inode_alloc_security(struct inode *inode) | 122 | static int cap_inode_alloc_security(struct inode *inode) |
113 | { | 123 | { |
114 | return 0; | 124 | return 0; |
@@ -816,6 +826,11 @@ static int cap_setprocattr(struct task_struct *p, char *name, void *value, | |||
816 | return -EINVAL; | 826 | return -EINVAL; |
817 | } | 827 | } |
818 | 828 | ||
829 | static int cap_ismaclabel(const char *name) | ||
830 | { | ||
831 | return 0; | ||
832 | } | ||
833 | |||
819 | static int cap_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) | 834 | static int cap_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) |
820 | { | 835 | { |
821 | return -EOPNOTSUPP; | 836 | return -EOPNOTSUPP; |
@@ -931,6 +946,7 @@ void __init security_fixup_ops(struct security_operations *ops) | |||
931 | set_to_cap_if_null(ops, sb_set_mnt_opts); | 946 | set_to_cap_if_null(ops, sb_set_mnt_opts); |
932 | set_to_cap_if_null(ops, sb_clone_mnt_opts); | 947 | set_to_cap_if_null(ops, sb_clone_mnt_opts); |
933 | set_to_cap_if_null(ops, sb_parse_opts_str); | 948 | set_to_cap_if_null(ops, sb_parse_opts_str); |
949 | set_to_cap_if_null(ops, dentry_init_security); | ||
934 | set_to_cap_if_null(ops, inode_alloc_security); | 950 | set_to_cap_if_null(ops, inode_alloc_security); |
935 | set_to_cap_if_null(ops, inode_free_security); | 951 | set_to_cap_if_null(ops, inode_free_security); |
936 | set_to_cap_if_null(ops, inode_init_security); | 952 | set_to_cap_if_null(ops, inode_init_security); |
@@ -1034,6 +1050,7 @@ void __init security_fixup_ops(struct security_operations *ops) | |||
1034 | set_to_cap_if_null(ops, d_instantiate); | 1050 | set_to_cap_if_null(ops, d_instantiate); |
1035 | set_to_cap_if_null(ops, getprocattr); | 1051 | set_to_cap_if_null(ops, getprocattr); |
1036 | set_to_cap_if_null(ops, setprocattr); | 1052 | set_to_cap_if_null(ops, setprocattr); |
1053 | set_to_cap_if_null(ops, ismaclabel); | ||
1037 | set_to_cap_if_null(ops, secid_to_secctx); | 1054 | set_to_cap_if_null(ops, secid_to_secctx); |
1038 | set_to_cap_if_null(ops, secctx_to_secid); | 1055 | set_to_cap_if_null(ops, secctx_to_secid); |
1039 | set_to_cap_if_null(ops, release_secctx); | 1056 | set_to_cap_if_null(ops, release_secctx); |