diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /security/capability.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'security/capability.c')
-rw-r--r-- | security/capability.c | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/security/capability.c b/security/capability.c index 95a6599a37bb..bbb51156261b 100644 --- a/security/capability.c +++ b/security/capability.c | |||
@@ -12,7 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/security.h> | 13 | #include <linux/security.h> |
14 | 14 | ||
15 | static int cap_sysctl(ctl_table *table, int op) | 15 | static int cap_syslog(int type) |
16 | { | 16 | { |
17 | return 0; | 17 | return 0; |
18 | } | 18 | } |
@@ -54,6 +54,11 @@ static int cap_sb_copy_data(char *orig, char *copy) | |||
54 | return 0; | 54 | return 0; |
55 | } | 55 | } |
56 | 56 | ||
57 | static int cap_sb_remount(struct super_block *sb, void *data) | ||
58 | { | ||
59 | return 0; | ||
60 | } | ||
61 | |||
57 | static int cap_sb_kern_mount(struct super_block *sb, int flags, void *data) | 62 | static int cap_sb_kern_mount(struct super_block *sb, int flags, void *data) |
58 | { | 63 | { |
59 | return 0; | 64 | return 0; |
@@ -113,7 +118,8 @@ static void cap_inode_free_security(struct inode *inode) | |||
113 | } | 118 | } |
114 | 119 | ||
115 | static int cap_inode_init_security(struct inode *inode, struct inode *dir, | 120 | static int cap_inode_init_security(struct inode *inode, struct inode *dir, |
116 | char **name, void **value, size_t *len) | 121 | const struct qstr *qstr, char **name, |
122 | void **value, size_t *len) | ||
117 | { | 123 | { |
118 | return -EOPNOTSUPP; | 124 | return -EOPNOTSUPP; |
119 | } | 125 | } |
@@ -175,7 +181,7 @@ static int cap_inode_follow_link(struct dentry *dentry, | |||
175 | return 0; | 181 | return 0; |
176 | } | 182 | } |
177 | 183 | ||
178 | static int cap_inode_permission(struct inode *inode, int mask) | 184 | static int cap_inode_permission(struct inode *inode, int mask, unsigned flags) |
179 | { | 185 | { |
180 | return 0; | 186 | return 0; |
181 | } | 187 | } |
@@ -543,7 +549,7 @@ static int cap_sem_semop(struct sem_array *sma, struct sembuf *sops, | |||
543 | } | 549 | } |
544 | 550 | ||
545 | #ifdef CONFIG_SECURITY_NETWORK | 551 | #ifdef CONFIG_SECURITY_NETWORK |
546 | static int cap_unix_stream_connect(struct socket *sock, struct socket *other, | 552 | static int cap_unix_stream_connect(struct sock *sock, struct sock *other, |
547 | struct sock *newsk) | 553 | struct sock *newsk) |
548 | { | 554 | { |
549 | return 0; | 555 | return 0; |
@@ -677,7 +683,18 @@ static void cap_inet_conn_established(struct sock *sk, struct sk_buff *skb) | |||
677 | { | 683 | { |
678 | } | 684 | } |
679 | 685 | ||
686 | static int cap_secmark_relabel_packet(u32 secid) | ||
687 | { | ||
688 | return 0; | ||
689 | } | ||
680 | 690 | ||
691 | static void cap_secmark_refcount_inc(void) | ||
692 | { | ||
693 | } | ||
694 | |||
695 | static void cap_secmark_refcount_dec(void) | ||
696 | { | ||
697 | } | ||
681 | 698 | ||
682 | static void cap_req_classify_flow(const struct request_sock *req, | 699 | static void cap_req_classify_flow(const struct request_sock *req, |
683 | struct flowi *fl) | 700 | struct flowi *fl) |
@@ -744,7 +761,7 @@ static int cap_xfrm_policy_lookup(struct xfrm_sec_ctx *ctx, u32 sk_sid, u8 dir) | |||
744 | 761 | ||
745 | static int cap_xfrm_state_pol_flow_match(struct xfrm_state *x, | 762 | static int cap_xfrm_state_pol_flow_match(struct xfrm_state *x, |
746 | struct xfrm_policy *xp, | 763 | struct xfrm_policy *xp, |
747 | struct flowi *fl) | 764 | const struct flowi *fl) |
748 | { | 765 | { |
749 | return 1; | 766 | return 1; |
750 | } | 767 | } |
@@ -777,7 +794,8 @@ static int cap_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) | |||
777 | 794 | ||
778 | static int cap_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid) | 795 | static int cap_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid) |
779 | { | 796 | { |
780 | return -EOPNOTSUPP; | 797 | *secid = 0; |
798 | return 0; | ||
781 | } | 799 | } |
782 | 800 | ||
783 | static void cap_release_secctx(char *secdata, u32 seclen) | 801 | static void cap_release_secctx(char *secdata, u32 seclen) |
@@ -863,7 +881,6 @@ void __init security_fixup_ops(struct security_operations *ops) | |||
863 | set_to_cap_if_null(ops, capable); | 881 | set_to_cap_if_null(ops, capable); |
864 | set_to_cap_if_null(ops, quotactl); | 882 | set_to_cap_if_null(ops, quotactl); |
865 | set_to_cap_if_null(ops, quota_on); | 883 | set_to_cap_if_null(ops, quota_on); |
866 | set_to_cap_if_null(ops, sysctl); | ||
867 | set_to_cap_if_null(ops, syslog); | 884 | set_to_cap_if_null(ops, syslog); |
868 | set_to_cap_if_null(ops, settime); | 885 | set_to_cap_if_null(ops, settime); |
869 | set_to_cap_if_null(ops, vm_enough_memory); | 886 | set_to_cap_if_null(ops, vm_enough_memory); |
@@ -875,6 +892,7 @@ void __init security_fixup_ops(struct security_operations *ops) | |||
875 | set_to_cap_if_null(ops, sb_alloc_security); | 892 | set_to_cap_if_null(ops, sb_alloc_security); |
876 | set_to_cap_if_null(ops, sb_free_security); | 893 | set_to_cap_if_null(ops, sb_free_security); |
877 | set_to_cap_if_null(ops, sb_copy_data); | 894 | set_to_cap_if_null(ops, sb_copy_data); |
895 | set_to_cap_if_null(ops, sb_remount); | ||
878 | set_to_cap_if_null(ops, sb_kern_mount); | 896 | set_to_cap_if_null(ops, sb_kern_mount); |
879 | set_to_cap_if_null(ops, sb_show_options); | 897 | set_to_cap_if_null(ops, sb_show_options); |
880 | set_to_cap_if_null(ops, sb_statfs); | 898 | set_to_cap_if_null(ops, sb_statfs); |
@@ -1018,6 +1036,9 @@ void __init security_fixup_ops(struct security_operations *ops) | |||
1018 | set_to_cap_if_null(ops, inet_conn_request); | 1036 | set_to_cap_if_null(ops, inet_conn_request); |
1019 | set_to_cap_if_null(ops, inet_csk_clone); | 1037 | set_to_cap_if_null(ops, inet_csk_clone); |
1020 | set_to_cap_if_null(ops, inet_conn_established); | 1038 | set_to_cap_if_null(ops, inet_conn_established); |
1039 | set_to_cap_if_null(ops, secmark_relabel_packet); | ||
1040 | set_to_cap_if_null(ops, secmark_refcount_inc); | ||
1041 | set_to_cap_if_null(ops, secmark_refcount_dec); | ||
1021 | set_to_cap_if_null(ops, req_classify_flow); | 1042 | set_to_cap_if_null(ops, req_classify_flow); |
1022 | set_to_cap_if_null(ops, tun_dev_create); | 1043 | set_to_cap_if_null(ops, tun_dev_create); |
1023 | set_to_cap_if_null(ops, tun_dev_post_create); | 1044 | set_to_cap_if_null(ops, tun_dev_post_create); |