TOMOYO: Remove redundant tasklist_lock.

rcu_read_lock() is sufficient for calling find_task_by_pid_ns()/find_task_by_vpid().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Tetsuo Handa 2011-10-11 14:05:08 +09:00 committed by James Morris
parent e00fb3f7af
commit e2b8b25a67

View File

@ -984,14 +984,12 @@ static bool tomoyo_select_domain(struct tomoyo_io_buffer *head,
(global_pid = true, sscanf(data, "global-pid=%u", &pid) == 1)) { (global_pid = true, sscanf(data, "global-pid=%u", &pid) == 1)) {
struct task_struct *p; struct task_struct *p;
rcu_read_lock(); rcu_read_lock();
read_lock(&tasklist_lock);
if (global_pid) if (global_pid)
p = find_task_by_pid_ns(pid, &init_pid_ns); p = find_task_by_pid_ns(pid, &init_pid_ns);
else else
p = find_task_by_vpid(pid); p = find_task_by_vpid(pid);
if (p) if (p)
domain = tomoyo_real_domain(p); domain = tomoyo_real_domain(p);
read_unlock(&tasklist_lock);
rcu_read_unlock(); rcu_read_unlock();
} else if (!strncmp(data, "domain=", 7)) { } else if (!strncmp(data, "domain=", 7)) {
if (tomoyo_domain_def(data + 7)) if (tomoyo_domain_def(data + 7))
@ -1664,14 +1662,12 @@ static void tomoyo_read_pid(struct tomoyo_io_buffer *head)
global_pid = true; global_pid = true;
pid = (unsigned int) simple_strtoul(buf, NULL, 10); pid = (unsigned int) simple_strtoul(buf, NULL, 10);
rcu_read_lock(); rcu_read_lock();
read_lock(&tasklist_lock);
if (global_pid) if (global_pid)
p = find_task_by_pid_ns(pid, &init_pid_ns); p = find_task_by_pid_ns(pid, &init_pid_ns);
else else
p = find_task_by_vpid(pid); p = find_task_by_vpid(pid);
if (p) if (p)
domain = tomoyo_real_domain(p); domain = tomoyo_real_domain(p);
read_unlock(&tasklist_lock);
rcu_read_unlock(); rcu_read_unlock();
if (!domain) if (!domain)
return; return;