diff options
Diffstat (limited to 'security/tomoyo/common.h')
-rw-r--r-- | security/tomoyo/common.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h index 5a0fcedb332b..7e56e6b364e5 100644 --- a/security/tomoyo/common.h +++ b/security/tomoyo/common.h | |||
@@ -73,6 +73,8 @@ enum tomoyo_conditions_index { | |||
73 | TOMOYO_MODE_OTHERS_READ, /* S_IROTH */ | 73 | TOMOYO_MODE_OTHERS_READ, /* S_IROTH */ |
74 | TOMOYO_MODE_OTHERS_WRITE, /* S_IWOTH */ | 74 | TOMOYO_MODE_OTHERS_WRITE, /* S_IWOTH */ |
75 | TOMOYO_MODE_OTHERS_EXECUTE, /* S_IXOTH */ | 75 | TOMOYO_MODE_OTHERS_EXECUTE, /* S_IXOTH */ |
76 | TOMOYO_EXEC_REALPATH, | ||
77 | TOMOYO_SYMLINK_TARGET, | ||
76 | TOMOYO_PATH1_UID, | 78 | TOMOYO_PATH1_UID, |
77 | TOMOYO_PATH1_GID, | 79 | TOMOYO_PATH1_GID, |
78 | TOMOYO_PATH1_INO, | 80 | TOMOYO_PATH1_INO, |
@@ -101,6 +103,7 @@ enum tomoyo_conditions_index { | |||
101 | TOMOYO_PATH2_PARENT_PERM, | 103 | TOMOYO_PATH2_PARENT_PERM, |
102 | TOMOYO_MAX_CONDITION_KEYWORD, | 104 | TOMOYO_MAX_CONDITION_KEYWORD, |
103 | TOMOYO_NUMBER_UNION, | 105 | TOMOYO_NUMBER_UNION, |
106 | TOMOYO_NAME_UNION, | ||
104 | }; | 107 | }; |
105 | 108 | ||
106 | 109 | ||
@@ -351,6 +354,11 @@ struct tomoyo_request_info { | |||
351 | * NULL if not dealing files. | 354 | * NULL if not dealing files. |
352 | */ | 355 | */ |
353 | struct tomoyo_obj_info *obj; | 356 | struct tomoyo_obj_info *obj; |
357 | /* | ||
358 | * For holding parameters specific to execve() request. | ||
359 | * NULL if not dealing do_execve(). | ||
360 | */ | ||
361 | struct tomoyo_execve *ee; | ||
354 | struct tomoyo_domain_info *domain; | 362 | struct tomoyo_domain_info *domain; |
355 | /* For holding parameters. */ | 363 | /* For holding parameters. */ |
356 | union { | 364 | union { |
@@ -476,6 +484,20 @@ struct tomoyo_obj_info { | |||
476 | * parent directory. | 484 | * parent directory. |
477 | */ | 485 | */ |
478 | struct tomoyo_mini_stat stat[TOMOYO_MAX_PATH_STAT]; | 486 | struct tomoyo_mini_stat stat[TOMOYO_MAX_PATH_STAT]; |
487 | /* | ||
488 | * Content of symbolic link to be created. NULL for operations other | ||
489 | * than symlink(). | ||
490 | */ | ||
491 | struct tomoyo_path_info *symlink_target; | ||
492 | }; | ||
493 | |||
494 | /* Structure for execve() operation. */ | ||
495 | struct tomoyo_execve { | ||
496 | struct tomoyo_request_info r; | ||
497 | struct tomoyo_obj_info obj; | ||
498 | struct linux_binprm *bprm; | ||
499 | /* For temporary use. */ | ||
500 | char *tmp; /* Size is TOMOYO_EXEC_TMPSIZE bytes */ | ||
479 | }; | 501 | }; |
480 | 502 | ||
481 | /* Structure for entries which follows "struct tomoyo_condition". */ | 503 | /* Structure for entries which follows "struct tomoyo_condition". */ |
@@ -494,9 +516,11 @@ struct tomoyo_condition { | |||
494 | u32 size; /* Memory size allocated for this entry. */ | 516 | u32 size; /* Memory size allocated for this entry. */ |
495 | u16 condc; /* Number of conditions in this struct. */ | 517 | u16 condc; /* Number of conditions in this struct. */ |
496 | u16 numbers_count; /* Number of "struct tomoyo_number_union values". */ | 518 | u16 numbers_count; /* Number of "struct tomoyo_number_union values". */ |
519 | u16 names_count; /* Number of "struct tomoyo_name_union names". */ | ||
497 | /* | 520 | /* |
498 | * struct tomoyo_condition_element condition[condc]; | 521 | * struct tomoyo_condition_element condition[condc]; |
499 | * struct tomoyo_number_union values[numbers_count]; | 522 | * struct tomoyo_number_union values[numbers_count]; |
523 | * struct tomoyo_name_union names[names_count]; | ||
500 | */ | 524 | */ |
501 | }; | 525 | }; |
502 | 526 | ||