diff options
| author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-07-26 18:04:59 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-07-26 18:04:59 -0400 |
| commit | d9ecdb282c91952796b7542c4f57fd6de6948d7b (patch) | |
| tree | fd4de7923968afa7d2981fb037e2255fc2cfa1e1 /security/selinux/hooks.c | |
| parent | 4ef584ba84125b67c17b5aded38e7783cd8cdef0 (diff) | |
| parent | 1d1f8b377c48e5aeddaea52eba74cc0539f088cd (diff) | |
Merge branch 'for_rmk_13' of git://git.mnementh.co.uk/linux-2.6-im
Diffstat (limited to 'security/selinux/hooks.c')
| -rw-r--r-- | security/selinux/hooks.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 63f131fc42e4..3481cde5bf15 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | #include <linux/init.h> | 26 | #include <linux/init.h> |
| 27 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
| 28 | #include <linux/ptrace.h> | 28 | #include <linux/tracehook.h> |
| 29 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
| 30 | #include <linux/sched.h> | 30 | #include <linux/sched.h> |
| 31 | #include <linux/security.h> | 31 | #include <linux/security.h> |
| @@ -1971,22 +1971,6 @@ static int selinux_vm_enough_memory(struct mm_struct *mm, long pages) | |||
| 1971 | return __vm_enough_memory(mm, pages, cap_sys_admin); | 1971 | return __vm_enough_memory(mm, pages, cap_sys_admin); |
| 1972 | } | 1972 | } |
| 1973 | 1973 | ||
| 1974 | /** | ||
| 1975 | * task_tracer_task - return the task that is tracing the given task | ||
| 1976 | * @task: task to consider | ||
| 1977 | * | ||
| 1978 | * Returns NULL if noone is tracing @task, or the &struct task_struct | ||
| 1979 | * pointer to its tracer. | ||
| 1980 | * | ||
| 1981 | * Must be called under rcu_read_lock(). | ||
| 1982 | */ | ||
| 1983 | static struct task_struct *task_tracer_task(struct task_struct *task) | ||
| 1984 | { | ||
| 1985 | if (task->ptrace & PT_PTRACED) | ||
| 1986 | return rcu_dereference(task->parent); | ||
| 1987 | return NULL; | ||
| 1988 | } | ||
| 1989 | |||
| 1990 | /* binprm security operations */ | 1974 | /* binprm security operations */ |
| 1991 | 1975 | ||
| 1992 | static int selinux_bprm_alloc_security(struct linux_binprm *bprm) | 1976 | static int selinux_bprm_alloc_security(struct linux_binprm *bprm) |
| @@ -2238,7 +2222,7 @@ static void selinux_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) | |||
| 2238 | u32 ptsid = 0; | 2222 | u32 ptsid = 0; |
| 2239 | 2223 | ||
| 2240 | rcu_read_lock(); | 2224 | rcu_read_lock(); |
| 2241 | tracer = task_tracer_task(current); | 2225 | tracer = tracehook_tracer_task(current); |
| 2242 | if (likely(tracer != NULL)) { | 2226 | if (likely(tracer != NULL)) { |
| 2243 | sec = tracer->security; | 2227 | sec = tracer->security; |
| 2244 | ptsid = sec->sid; | 2228 | ptsid = sec->sid; |
| @@ -5247,7 +5231,7 @@ static int selinux_setprocattr(struct task_struct *p, | |||
| 5247 | Otherwise, leave SID unchanged and fail. */ | 5231 | Otherwise, leave SID unchanged and fail. */ |
| 5248 | task_lock(p); | 5232 | task_lock(p); |
| 5249 | rcu_read_lock(); | 5233 | rcu_read_lock(); |
| 5250 | tracer = task_tracer_task(p); | 5234 | tracer = tracehook_tracer_task(p); |
| 5251 | if (tracer != NULL) { | 5235 | if (tracer != NULL) { |
| 5252 | struct task_security_struct *ptsec = tracer->security; | 5236 | struct task_security_struct *ptsec = tracer->security; |
| 5253 | u32 ptsid = ptsec->sid; | 5237 | u32 ptsid = ptsec->sid; |
