diff options
| author | Jiri Slaby <[email protected]> | 2009-08-28 12:08:17 +0000 |
|---|---|---|
| committer | Jiri Slaby <[email protected]> | 2010-07-16 07:48:47 +0000 |
| commit | 1c1e618ddd15f69fd87ccea596769f78c8065504 (patch) | |
| tree | f6b72aa3e0f1d02728d98810afc1644a1d6f5b8c /security/selinux/hooks.c | |
| parent | rlimits: split sys_setrlimit (diff) | |
| download | kernel-1c1e618ddd15f69fd87ccea596769f78c8065504.tar.gz kernel-1c1e618ddd15f69fd87ccea596769f78c8065504.zip | |
rlimits: allow setrlimit to non-current tasks
Add locking to allow setrlimit accept task parameter other than
current.
Namely, lock tasklist_lock for read and check whether the task
structure has sighand non-null. Do all the signal processing under
that lock still held.
There are some points:
1) security_task_setrlimit is now called with that lock held. This is
not new, many security_* functions are called with this lock held
already so it doesn't harm (all this security_* stuff does almost
the same).
2) task->sighand->siglock (in update_rlimit_cpu) is nested in
tasklist_lock. This dependence is already existing.
3) tsk->alloc_lock is nested in tasklist_lock. This is OK too, already
existing dependence.
Signed-off-by: Jiri Slaby <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Diffstat (limited to 'security/selinux/hooks.c')
0 files changed, 0 insertions, 0 deletions
