diff options
| author | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-20 06:46:47 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-20 06:46:47 -0800 |
| commit | f803e090a1fd9073235eeedb43edd4334f3da4ac (patch) | |
| tree | 3452dc80a63246e702bd9a3fa98cff0714bae7fc /kernel | |
| parent | cbfe51cb958f4e0f4f5c0fd74593018109a98d8d (diff) | |
| parent | 712adcb48a1e23043b2827dbbc97344eb1a8b762 (diff) | |
Merge bk://lsm.bkbits.net/linus-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/capability.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/kernel/capability.c b/kernel/capability.c index b4a8c99b99f4..518d167dbaeb 100644 --- a/kernel/capability.c +++ b/kernel/capability.c @@ -84,13 +84,15 @@ static inline void cap_set_pg(int pgrp, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted) { - task_t *g, *target; - - do_each_thread(g, target) { - if (target->pgrp != pgrp) - continue; - security_capset_set(target, effective, inheritable, permitted); - } while_each_thread(g, target); + task_t *g, *target; + struct list_head *l; + struct pid *pid; + + for_each_task_pid(pgrp, PIDTYPE_PGID, g, l, pid) { + target = g; + while_each_thread(g, target) + security_capset_set(target, effective, inheritable, permitted); + } } /* |
