diff options
Diffstat (limited to 'security/capability.c')
| -rw-r--r-- | security/capability.c | 63 | 
1 files changed, 62 insertions, 1 deletions
diff --git a/security/capability.c b/security/capability.c index 88f752e8152..fce07a7bc82 100644 --- a/security/capability.c +++ b/security/capability.c @@ -373,6 +373,11 @@ static int cap_task_create(unsigned long clone_flags)  	return 0;  } +static int cap_cred_alloc_blank(struct cred *cred, gfp_t gfp) +{ +	return 0; +} +  static void cap_cred_free(struct cred *cred)  {  } @@ -386,6 +391,10 @@ static void cap_cred_commit(struct cred *new, const struct cred *old)  {  } +static void cap_cred_transfer(struct cred *new, const struct cred *old) +{ +} +  static int cap_kernel_act_as(struct cred *new, u32 secid)  {  	return 0; @@ -396,6 +405,11 @@ static int cap_kernel_create_files_as(struct cred *new, struct inode *inode)  	return 0;  } +static int cap_kernel_module_request(void) +{ +	return 0; +} +  static int cap_task_setuid(uid_t id0, uid_t id1, uid_t id2, int flags)  {  	return 0; @@ -701,10 +715,26 @@ static void cap_inet_conn_established(struct sock *sk, struct sk_buff *skb)  {  } + +  static void cap_req_classify_flow(const struct request_sock *req,  				  struct flowi *fl)  {  } + +static int cap_tun_dev_create(void) +{ +	return 0; +} + +static void cap_tun_dev_post_create(struct sock *sk) +{ +} + +static int cap_tun_dev_attach(struct sock *sk) +{ +	return 0; +}  #endif	/* CONFIG_SECURITY_NETWORK */  #ifdef CONFIG_SECURITY_NETWORK_XFRM @@ -792,6 +822,20 @@ static void cap_release_secctx(char *secdata, u32 seclen)  {  } +static int cap_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen) +{ +	return 0; +} + +static int cap_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen) +{ +	return 0; +} + +static int cap_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen) +{ +	return 0; +}  #ifdef CONFIG_KEYS  static int cap_key_alloc(struct key *key, const struct cred *cred,  			 unsigned long flags) @@ -815,6 +859,13 @@ static int cap_key_getsecurity(struct key *key, char **_buffer)  	return 0;  } +static int cap_key_session_to_parent(const struct cred *cred, +				     const struct cred *parent_cred, +				     struct key *key) +{ +	return 0; +} +  #endif /* CONFIG_KEYS */  #ifdef CONFIG_AUDIT @@ -854,7 +905,7 @@ struct security_operations default_security_ops = {  void security_fixup_ops(struct security_operations *ops)  { -	set_to_cap_if_null(ops, ptrace_may_access); +	set_to_cap_if_null(ops, ptrace_access_check);  	set_to_cap_if_null(ops, ptrace_traceme);  	set_to_cap_if_null(ops, capget);  	set_to_cap_if_null(ops, capset); @@ -940,11 +991,14 @@ void security_fixup_ops(struct security_operations *ops)  	set_to_cap_if_null(ops, file_receive);  	set_to_cap_if_null(ops, dentry_open);  	set_to_cap_if_null(ops, task_create); +	set_to_cap_if_null(ops, cred_alloc_blank);  	set_to_cap_if_null(ops, cred_free);  	set_to_cap_if_null(ops, cred_prepare);  	set_to_cap_if_null(ops, cred_commit); +	set_to_cap_if_null(ops, cred_transfer);  	set_to_cap_if_null(ops, kernel_act_as);  	set_to_cap_if_null(ops, kernel_create_files_as); +	set_to_cap_if_null(ops, kernel_module_request);  	set_to_cap_if_null(ops, task_setuid);  	set_to_cap_if_null(ops, task_fix_setuid);  	set_to_cap_if_null(ops, task_setgid); @@ -992,6 +1046,9 @@ void security_fixup_ops(struct security_operations *ops)  	set_to_cap_if_null(ops, secid_to_secctx);  	set_to_cap_if_null(ops, secctx_to_secid);  	set_to_cap_if_null(ops, release_secctx); +	set_to_cap_if_null(ops, inode_notifysecctx); +	set_to_cap_if_null(ops, inode_setsecctx); +	set_to_cap_if_null(ops, inode_getsecctx);  #ifdef CONFIG_SECURITY_NETWORK  	set_to_cap_if_null(ops, unix_stream_connect);  	set_to_cap_if_null(ops, unix_may_send); @@ -1020,6 +1077,9 @@ void security_fixup_ops(struct security_operations *ops)  	set_to_cap_if_null(ops, inet_csk_clone);  	set_to_cap_if_null(ops, inet_conn_established);  	set_to_cap_if_null(ops, req_classify_flow); +	set_to_cap_if_null(ops, tun_dev_create); +	set_to_cap_if_null(ops, tun_dev_post_create); +	set_to_cap_if_null(ops, tun_dev_attach);  #endif	/* CONFIG_SECURITY_NETWORK */  #ifdef CONFIG_SECURITY_NETWORK_XFRM  	set_to_cap_if_null(ops, xfrm_policy_alloc_security); @@ -1038,6 +1098,7 @@ void security_fixup_ops(struct security_operations *ops)  	set_to_cap_if_null(ops, key_free);  	set_to_cap_if_null(ops, key_permission);  	set_to_cap_if_null(ops, key_getsecurity); +	set_to_cap_if_null(ops, key_session_to_parent);  #endif	/* CONFIG_KEYS */  #ifdef CONFIG_AUDIT  	set_to_cap_if_null(ops, audit_rule_init);  |