summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.transmeta.com>2002-12-20 06:46:47 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-12-20 06:46:47 -0800
commitf803e090a1fd9073235eeedb43edd4334f3da4ac (patch)
tree3452dc80a63246e702bd9a3fa98cff0714bae7fc /kernel
parentcbfe51cb958f4e0f4f5c0fd74593018109a98d8d (diff)
parent712adcb48a1e23043b2827dbbc97344eb1a8b762 (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.c16
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);
+ }
}
/*