diff options
Diffstat (limited to 'include/linux/security.h')
-rw-r--r-- | include/linux/security.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 697f228daf19..f4116d6ed64b 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -36,6 +36,9 @@ | |||
36 | 36 | ||
37 | extern unsigned securebits; | 37 | extern unsigned securebits; |
38 | 38 | ||
39 | /* Maximum number of letters for an LSM name string */ | ||
40 | #define SECURITY_NAME_MAX 10 | ||
41 | |||
39 | struct ctl_table; | 42 | struct ctl_table; |
40 | struct audit_krule; | 43 | struct audit_krule; |
41 | 44 | ||
@@ -137,6 +140,12 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
137 | /** | 140 | /** |
138 | * struct security_operations - main security structure | 141 | * struct security_operations - main security structure |
139 | * | 142 | * |
143 | * Security module identifier. | ||
144 | * | ||
145 | * @name: | ||
146 | * A string that acts as a unique identifeir for the LSM with max number | ||
147 | * of characters = SECURITY_NAME_MAX. | ||
148 | * | ||
140 | * Security hooks for program execution operations. | 149 | * Security hooks for program execution operations. |
141 | * | 150 | * |
142 | * @bprm_alloc_security: | 151 | * @bprm_alloc_security: |
@@ -1270,6 +1279,8 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1270 | * This is the main security structure. | 1279 | * This is the main security structure. |
1271 | */ | 1280 | */ |
1272 | struct security_operations { | 1281 | struct security_operations { |
1282 | char name[SECURITY_NAME_MAX + 1]; | ||
1283 | |||
1273 | int (*ptrace) (struct task_struct * parent, struct task_struct * child); | 1284 | int (*ptrace) (struct task_struct * parent, struct task_struct * child); |
1274 | int (*capget) (struct task_struct * target, | 1285 | int (*capget) (struct task_struct * target, |
1275 | kernel_cap_t * effective, | 1286 | kernel_cap_t * effective, |
@@ -1537,6 +1548,7 @@ struct security_operations { | |||
1537 | 1548 | ||
1538 | /* prototypes */ | 1549 | /* prototypes */ |
1539 | extern int security_init (void); | 1550 | extern int security_init (void); |
1551 | extern int security_module_enable(struct security_operations *ops); | ||
1540 | extern int register_security (struct security_operations *ops); | 1552 | extern int register_security (struct security_operations *ops); |
1541 | extern int mod_reg_security (const char *name, struct security_operations *ops); | 1553 | extern int mod_reg_security (const char *name, struct security_operations *ops); |
1542 | extern struct dentry *securityfs_create_file(const char *name, mode_t mode, | 1554 | extern struct dentry *securityfs_create_file(const char *name, mode_t mode, |