signals: check_kill_permission: remove tasklist_lock
authorOleg Nesterov <oleg@tv-sign.ru>
Wed, 30 Apr 2008 07:53:02 +0000 (00:53 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Apr 2008 15:29:37 +0000 (08:29 -0700)
Now that task_session() can't return a false NULL, check_kill_permission()
doesn't need tasklist_lock.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/signal.c

index 24be82c0aae36ea636f8c346a67b7abcf7323590..02ef3548aeb086b22b49b3cfa4d68819a9a1d5b5 100644 (file)
@@ -551,9 +551,7 @@ static int check_kill_permission(int sig, struct siginfo *info,
            !capable(CAP_KILL)) {
                switch (sig) {
                case SIGCONT:
-                       read_lock(&tasklist_lock);
                        sid = task_session(t);
-                       read_unlock(&tasklist_lock);
                        /*
                         * We don't return the error if sid == NULL. The
                         * task was unhashed, the caller must notice this.