summaryrefslogtreecommitdiffstats
path: root/security/tomoyo/common.h
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2010-06-16 16:21:36 +0900
committerJames Morris <jmorris@namei.org>2010-08-02 15:34:32 +1000
commitcf6e9a6468ec82a94cbc707b607452ec4454182c (patch)
tree6b289c8575f1915395d3c1348d473ab07fbe34a8 /security/tomoyo/common.h
parent05336dee9f5a23c042e5938b42f996dd35e31ee6 (diff)
downloadlinux-cf6e9a6468ec82a94cbc707b607452ec4454182c.tar.gz
linux-cf6e9a6468ec82a94cbc707b607452ec4454182c.tar.bz2
linux-cf6e9a6468ec82a94cbc707b607452ec4454182c.zip
TOMOYO: Pass parameters via structure.
To make it possible to use callback function, pass parameters via "struct tomoyo_request_info". Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo/common.h')
-rw-r--r--security/tomoyo/common.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index 203454025410..f055e273ec02 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -212,6 +212,39 @@ struct tomoyo_acl_head {
*/
struct tomoyo_request_info {
struct tomoyo_domain_info *domain;
+ /* For holding parameters. */
+ union {
+ struct {
+ const struct tomoyo_path_info *filename;
+ u8 operation;
+ } path;
+ struct {
+ const struct tomoyo_path_info *filename1;
+ const struct tomoyo_path_info *filename2;
+ u8 operation;
+ } path2;
+ struct {
+ const struct tomoyo_path_info *filename;
+ unsigned int mode;
+ unsigned int major;
+ unsigned int minor;
+ u8 operation;
+ } mkdev;
+ struct {
+ const struct tomoyo_path_info *filename;
+ unsigned long number;
+ u8 operation;
+ } path_number;
+ struct {
+ const struct tomoyo_path_info *type;
+ const struct tomoyo_path_info *dir;
+ const struct tomoyo_path_info *dev;
+ unsigned long flags;
+ int need_dev;
+ } mount;
+ } param;
+ u8 param_type;
+ bool granted;
u8 retry;
u8 profile;
u8 mode; /* One of tomoyo_mode_index . */