Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * security/tomoyo/tomoyo.h
  3  *
  4  * Implementation of the Domain-Based Mandatory Access Control.
  5  *
  6  * Copyright (C) 2005-2009  NTT DATA CORPORATION
  7  *
  8  * Version: 2.2.0   2009/04/01
  9  *
 10  */
 11 
 12 #ifndef _SECURITY_TOMOYO_TOMOYO_H
 13 #define _SECURITY_TOMOYO_TOMOYO_H
 14 
 15 struct tomoyo_path_info;
 16 struct path;
 17 struct inode;
 18 struct linux_binprm;
 19 struct pt_regs;
 20 
 21 int tomoyo_check_file_perm(struct tomoyo_domain_info *domain,
 22                            const char *filename, const u8 perm);
 23 int tomoyo_check_exec_perm(struct tomoyo_domain_info *domain,
 24                            const struct tomoyo_path_info *filename);
 25 int tomoyo_check_open_permission(struct tomoyo_domain_info *domain,
 26                                  struct path *path, const int flag);
 27 int tomoyo_check_1path_perm(struct tomoyo_domain_info *domain,
 28                             const u8 operation, struct path *path);
 29 int tomoyo_check_2path_perm(struct tomoyo_domain_info *domain,
 30                             const u8 operation, struct path *path1,
 31                             struct path *path2);
 32 int tomoyo_check_rewrite_permission(struct tomoyo_domain_info *domain,
 33                                     struct file *filp);
 34 int tomoyo_find_next_domain(struct linux_binprm *bprm,
 35                             struct tomoyo_domain_info **next_domain);
 36 
 37 /* Index numbers for Access Controls. */
 38 
 39 #define TOMOYO_TYPE_SINGLE_PATH_ACL                 0
 40 #define TOMOYO_TYPE_DOUBLE_PATH_ACL                 1
 41 
 42 /* Index numbers for File Controls. */
 43 
 44 /*
 45  * TYPE_READ_WRITE_ACL is special. TYPE_READ_WRITE_ACL is automatically set
 46  * if both TYPE_READ_ACL and TYPE_WRITE_ACL are set. Both TYPE_READ_ACL and
 47  * TYPE_WRITE_ACL are automatically set if TYPE_READ_WRITE_ACL is set.
 48  * TYPE_READ_WRITE_ACL is automatically cleared if either TYPE_READ_ACL or
 49  * TYPE_WRITE_ACL is cleared. Both TYPE_READ_ACL and TYPE_WRITE_ACL are
 50  * automatically cleared if TYPE_READ_WRITE_ACL is cleared.
 51  */
 52 
 53 #define TOMOYO_TYPE_READ_WRITE_ACL    0
 54 #define TOMOYO_TYPE_EXECUTE_ACL       1
 55 #define TOMOYO_TYPE_READ_ACL          2
 56 #define TOMOYO_TYPE_WRITE_ACL         3
 57 #define TOMOYO_TYPE_CREATE_ACL        4
 58 #define TOMOYO_TYPE_UNLINK_ACL        5
 59 #define TOMOYO_TYPE_MKDIR_ACL         6
 60 #define TOMOYO_TYPE_RMDIR_ACL         7
 61 #define TOMOYO_TYPE_MKFIFO_ACL        8
 62 #define TOMOYO_TYPE_MKSOCK_ACL        9
 63 #define TOMOYO_TYPE_MKBLOCK_ACL      10
 64 #define TOMOYO_TYPE_MKCHAR_ACL       11
 65 #define TOMOYO_TYPE_TRUNCATE_ACL     12
 66 #define TOMOYO_TYPE_SYMLINK_ACL      13
 67 #define TOMOYO_TYPE_REWRITE_ACL      14
 68 #define TOMOYO_MAX_SINGLE_PATH_OPERATION 15
 69 
 70 #define TOMOYO_TYPE_LINK_ACL         0
 71 #define TOMOYO_TYPE_RENAME_ACL       1
 72 #define TOMOYO_MAX_DOUBLE_PATH_OPERATION 2
 73 
 74 #define TOMOYO_DOMAINPOLICY          0
 75 #define TOMOYO_EXCEPTIONPOLICY       1
 76 #define TOMOYO_DOMAIN_STATUS         2
 77 #define TOMOYO_PROCESS_STATUS        3
 78 #define TOMOYO_MEMINFO               4
 79 #define TOMOYO_SELFDOMAIN            5
 80 #define TOMOYO_VERSION               6
 81 #define TOMOYO_PROFILE               7
 82 #define TOMOYO_MANAGER               8
 83 
 84 extern struct tomoyo_domain_info tomoyo_kernel_domain;
 85 
 86 static inline struct tomoyo_domain_info *tomoyo_domain(void)
 87 {
 88         return current_cred()->security;
 89 }
 90 
 91 static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct
 92                                                             *task)
 93 {
 94         return task_cred_xxx(task, security);
 95 }
 96 
 97 #endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */
 98 
  This page was automatically generated by the LXR engine.