diff options
| author | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2009-10-06 17:36:55 +0200 | 
|---|---|---|
| committer | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2009-10-06 17:36:55 +0200 | 
| commit | d94e5fcbf1420366dcb4102bafe04dbcfc0d0d4b (patch) | |
| tree | a9b7de7df6da5c3132cc68169b9c47ba288ccd42 /security/selinux/include/avc.h | |
| parent | d55651168a20078a94597a297d5cdfd807bf07b6 (diff) | |
| parent | 374576a8b6f865022c0fd1ca62396889b23d66dd (diff) | |
Merge commit 'v2.6.32-rc3'
Diffstat (limited to 'security/selinux/include/avc.h')
| -rw-r--r-- | security/selinux/include/avc.h | 55 | 
1 files changed, 8 insertions, 47 deletions
diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h index d12ff1a9c0a..e94e82f7381 100644 --- a/security/selinux/include/avc.h +++ b/security/selinux/include/avc.h @@ -13,6 +13,7 @@  #include <linux/spinlock.h>  #include <linux/init.h>  #include <linux/audit.h> +#include <linux/lsm_audit.h>  #include <linux/in6.h>  #include <linux/path.h>  #include <asm/system.h> @@ -36,48 +37,6 @@ struct inode;  struct sock;  struct sk_buff; -/* Auxiliary data to use in generating the audit record. */ -struct avc_audit_data { -	char    type; -#define AVC_AUDIT_DATA_FS   1 -#define AVC_AUDIT_DATA_NET  2 -#define AVC_AUDIT_DATA_CAP  3 -#define AVC_AUDIT_DATA_IPC  4 -	struct task_struct *tsk; -	union 	{ -		struct { -			struct path path; -			struct inode *inode; -		} fs; -		struct { -			int netif; -			struct sock *sk; -			u16 family; -			__be16 dport; -			__be16 sport; -			union { -				struct { -					__be32 daddr; -					__be32 saddr; -				} v4; -				struct { -					struct in6_addr daddr; -					struct in6_addr saddr; -				} v6; -			} fam; -		} net; -		int cap; -		int ipc_id; -	} u; -}; - -#define v4info fam.v4 -#define v6info fam.v6 - -/* Initialize an AVC audit data structure. */ -#define AVC_AUDIT_DATA_INIT(_d,_t) \ -	{ memset((_d), 0, sizeof(struct avc_audit_data)); (_d)->type = AVC_AUDIT_DATA_##_t; } -  /*   * AVC statistics   */ @@ -98,7 +57,9 @@ void __init avc_init(void);  void avc_audit(u32 ssid, u32 tsid,  	       u16 tclass, u32 requested, -	       struct av_decision *avd, int result, struct avc_audit_data *auditdata); +	       struct av_decision *avd, +	       int result, +	       struct common_audit_data *a);  #define AVC_STRICT 1 /* Ignore permissive mode. */  int avc_has_perm_noaudit(u32 ssid, u32 tsid, @@ -108,7 +69,7 @@ int avc_has_perm_noaudit(u32 ssid, u32 tsid,  int avc_has_perm(u32 ssid, u32 tsid,  		 u16 tclass, u32 requested, -		 struct avc_audit_data *auditdata); +		 struct common_audit_data *auditdata);  u32 avc_policy_seqno(void); @@ -127,13 +88,13 @@ int avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid,  		     u32 events, u32 ssid, u32 tsid,  		     u16 tclass, u32 perms); -/* Shows permission in human readable form */ -void avc_dump_av(struct audit_buffer *ab, u16 tclass, u32 av); -  /* Exported to selinuxfs */  int avc_get_hash_stats(char *page);  extern unsigned int avc_cache_threshold; +/* Attempt to free avc node cache */ +void avc_disable(void); +  #ifdef CONFIG_SECURITY_SELINUX_AVC_STATS  DECLARE_PER_CPU(struct avc_cache_stats, avc_cache_stats);  #endif  | 
