diff options
Diffstat (limited to 'include/linux/security.h')
-rw-r--r-- | include/linux/security.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 50737c70e78e..62bd80cb7f87 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -46,7 +46,8 @@ struct audit_krule; | |||
46 | */ | 46 | */ |
47 | extern int cap_capable(struct task_struct *tsk, int cap); | 47 | extern int cap_capable(struct task_struct *tsk, int cap); |
48 | extern int cap_settime(struct timespec *ts, struct timezone *tz); | 48 | extern int cap_settime(struct timespec *ts, struct timezone *tz); |
49 | extern int cap_ptrace(struct task_struct *parent, struct task_struct *child); | 49 | extern int cap_ptrace(struct task_struct *parent, struct task_struct *child, |
50 | unsigned int mode); | ||
50 | extern int cap_capget(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 51 | extern int cap_capget(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
51 | extern int cap_capset_check(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 52 | extern int cap_capset_check(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
52 | extern void cap_capset_set(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 53 | extern void cap_capset_set(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
@@ -1170,6 +1171,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1170 | * attributes would be changed by the execve. | 1171 | * attributes would be changed by the execve. |
1171 | * @parent contains the task_struct structure for parent process. | 1172 | * @parent contains the task_struct structure for parent process. |
1172 | * @child contains the task_struct structure for child process. | 1173 | * @child contains the task_struct structure for child process. |
1174 | * @mode contains the PTRACE_MODE flags indicating the form of access. | ||
1173 | * Return 0 if permission is granted. | 1175 | * Return 0 if permission is granted. |
1174 | * @capget: | 1176 | * @capget: |
1175 | * Get the @effective, @inheritable, and @permitted capability sets for | 1177 | * Get the @effective, @inheritable, and @permitted capability sets for |
@@ -1295,7 +1297,8 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1295 | struct security_operations { | 1297 | struct security_operations { |
1296 | char name[SECURITY_NAME_MAX + 1]; | 1298 | char name[SECURITY_NAME_MAX + 1]; |
1297 | 1299 | ||
1298 | int (*ptrace) (struct task_struct *parent, struct task_struct *child); | 1300 | int (*ptrace) (struct task_struct *parent, struct task_struct *child, |
1301 | unsigned int mode); | ||
1299 | int (*capget) (struct task_struct *target, | 1302 | int (*capget) (struct task_struct *target, |
1300 | kernel_cap_t *effective, | 1303 | kernel_cap_t *effective, |
1301 | kernel_cap_t *inheritable, kernel_cap_t *permitted); | 1304 | kernel_cap_t *inheritable, kernel_cap_t *permitted); |
@@ -1573,7 +1576,8 @@ extern struct dentry *securityfs_create_dir(const char *name, struct dentry *par | |||
1573 | extern void securityfs_remove(struct dentry *dentry); | 1576 | extern void securityfs_remove(struct dentry *dentry); |
1574 | 1577 | ||
1575 | /* Security operations */ | 1578 | /* Security operations */ |
1576 | int security_ptrace(struct task_struct *parent, struct task_struct *child); | 1579 | int security_ptrace(struct task_struct *parent, struct task_struct *child, |
1580 | unsigned int mode); | ||
1577 | int security_capget(struct task_struct *target, | 1581 | int security_capget(struct task_struct *target, |
1578 | kernel_cap_t *effective, | 1582 | kernel_cap_t *effective, |
1579 | kernel_cap_t *inheritable, | 1583 | kernel_cap_t *inheritable, |
@@ -1755,9 +1759,11 @@ static inline int security_init(void) | |||
1755 | return 0; | 1759 | return 0; |
1756 | } | 1760 | } |
1757 | 1761 | ||
1758 | static inline int security_ptrace(struct task_struct *parent, struct task_struct *child) | 1762 | static inline int security_ptrace(struct task_struct *parent, |
1763 | struct task_struct *child, | ||
1764 | unsigned int mode) | ||
1759 | { | 1765 | { |
1760 | return cap_ptrace(parent, child); | 1766 | return cap_ptrace(parent, child, mode); |
1761 | } | 1767 | } |
1762 | 1768 | ||
1763 | static inline int security_capget(struct task_struct *target, | 1769 | static inline int security_capget(struct task_struct *target, |