aboutsummaryrefslogtreecommitdiffstats
path: root/security/tomoyo/tomoyo.h
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2010-02-10 19:42:40 -0500
committerJames Morris <jmorris@namei.org>2010-02-14 17:00:18 -0500
commit76bb0895d038be7bcdb6ccfcd2dd7deb30371d6b (patch)
tree5948c68b08561deb20d155853faed475a15a4235 /security/tomoyo/tomoyo.h
parentbf24fb016c861b7f52be0c36c4cedd3e89afa2e2 (diff)
TOMOYO: Merge headers.
Gather structures and constants scattered around security/tomoyo/ directory. This is for preparation for adding garbage collector since garbage collector needs to know structures and constants which TOMOYO uses. Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Acked-by: Serge Hallyn <serue@us.ibm.com> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo/tomoyo.h')
-rw-r--r--security/tomoyo/tomoyo.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/security/tomoyo/tomoyo.h b/security/tomoyo/tomoyo.h
deleted file mode 100644
index bf3986addc1a..000000000000
--- a/security/tomoyo/tomoyo.h
+++ /dev/null
@@ -1,102 +0,0 @@
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
15struct tomoyo_path_info;
16struct path;
17struct inode;
18struct linux_binprm;
19struct pt_regs;
20
21int tomoyo_check_exec_perm(struct tomoyo_domain_info *domain,
22 const struct tomoyo_path_info *filename);
23int tomoyo_check_open_permission(struct tomoyo_domain_info *domain,
24 struct path *path, const int flag);
25int tomoyo_check_1path_perm(struct tomoyo_domain_info *domain,
26 const u8 operation, struct path *path);
27int tomoyo_check_2path_perm(struct tomoyo_domain_info *domain,
28 const u8 operation, struct path *path1,
29 struct path *path2);
30int tomoyo_check_rewrite_permission(struct tomoyo_domain_info *domain,
31 struct file *filp);
32int tomoyo_find_next_domain(struct linux_binprm *bprm);
33
34/* Index numbers for Access Controls. */
35
36#define TOMOYO_TYPE_SINGLE_PATH_ACL 0
37#define TOMOYO_TYPE_DOUBLE_PATH_ACL 1
38
39/* Index numbers for File Controls. */
40
41/*
42 * TYPE_READ_WRITE_ACL is special. TYPE_READ_WRITE_ACL is automatically set
43 * if both TYPE_READ_ACL and TYPE_WRITE_ACL are set. Both TYPE_READ_ACL and
44 * TYPE_WRITE_ACL are automatically set if TYPE_READ_WRITE_ACL is set.
45 * TYPE_READ_WRITE_ACL is automatically cleared if either TYPE_READ_ACL or
46 * TYPE_WRITE_ACL is cleared. Both TYPE_READ_ACL and TYPE_WRITE_ACL are
47 * automatically cleared if TYPE_READ_WRITE_ACL is cleared.
48 */
49
50#define TOMOYO_TYPE_READ_WRITE_ACL 0
51#define TOMOYO_TYPE_EXECUTE_ACL 1
52#define TOMOYO_TYPE_READ_ACL 2
53#define TOMOYO_TYPE_WRITE_ACL 3
54#define TOMOYO_TYPE_CREATE_ACL 4
55#define TOMOYO_TYPE_UNLINK_ACL 5
56#define TOMOYO_TYPE_MKDIR_ACL 6
57#define TOMOYO_TYPE_RMDIR_ACL 7
58#define TOMOYO_TYPE_MKFIFO_ACL 8
59#define TOMOYO_TYPE_MKSOCK_ACL 9
60#define TOMOYO_TYPE_MKBLOCK_ACL 10
61#define TOMOYO_TYPE_MKCHAR_ACL 11
62#define TOMOYO_TYPE_TRUNCATE_ACL 12
63#define TOMOYO_TYPE_SYMLINK_ACL 13
64#define TOMOYO_TYPE_REWRITE_ACL 14
65#define TOMOYO_TYPE_IOCTL_ACL 15
66#define TOMOYO_TYPE_CHMOD_ACL 16
67#define TOMOYO_TYPE_CHOWN_ACL 17
68#define TOMOYO_TYPE_CHGRP_ACL 18
69#define TOMOYO_TYPE_CHROOT_ACL 19
70#define TOMOYO_TYPE_MOUNT_ACL 20
71#define TOMOYO_TYPE_UMOUNT_ACL 21
72#define TOMOYO_MAX_SINGLE_PATH_OPERATION 22
73
74#define TOMOYO_TYPE_LINK_ACL 0
75#define TOMOYO_TYPE_RENAME_ACL 1
76#define TOMOYO_TYPE_PIVOT_ROOT_ACL 2
77#define TOMOYO_MAX_DOUBLE_PATH_OPERATION 3
78
79#define TOMOYO_DOMAINPOLICY 0
80#define TOMOYO_EXCEPTIONPOLICY 1
81#define TOMOYO_DOMAIN_STATUS 2
82#define TOMOYO_PROCESS_STATUS 3
83#define TOMOYO_MEMINFO 4
84#define TOMOYO_SELFDOMAIN 5
85#define TOMOYO_VERSION 6
86#define TOMOYO_PROFILE 7
87#define TOMOYO_MANAGER 8
88
89extern struct tomoyo_domain_info tomoyo_kernel_domain;
90
91static inline struct tomoyo_domain_info *tomoyo_domain(void)
92{
93 return current_cred()->security;
94}
95
96static inline struct tomoyo_domain_info *tomoyo_real_domain(struct task_struct
97 *task)
98{
99 return task_cred_xxx(task, security);
100}
101
102#endif /* !defined(_SECURITY_TOMOYO_TOMOYO_H) */