提交 de758734 编写于 作者: E Eric W. Biederman 提交者: Linus Torvalds

[PATCH] proc: Remove tasklist_lock from proc_pid_lookup() and proc_task_lookup()

Since we no longer need the tasklist_lock for get_task_struct the lookup
methods no longer need the tasklist_lock.

This just depends on my previous patch that makes get_task_struct() rcu
safe.
Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 454cc105
...@@ -1940,11 +1940,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct ...@@ -1940,11 +1940,11 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct
if (tgid == ~0U) if (tgid == ~0U)
goto out; goto out;
read_lock(&tasklist_lock); rcu_read_lock();
task = find_task_by_pid(tgid); task = find_task_by_pid(tgid);
if (task) if (task)
get_task_struct(task); get_task_struct(task);
read_unlock(&tasklist_lock); rcu_read_unlock();
if (!task) if (!task)
goto out; goto out;
...@@ -1988,11 +1988,11 @@ static struct dentry *proc_task_lookup(struct inode *dir, struct dentry * dentry ...@@ -1988,11 +1988,11 @@ static struct dentry *proc_task_lookup(struct inode *dir, struct dentry * dentry
if (tid == ~0U) if (tid == ~0U)
goto out; goto out;
read_lock(&tasklist_lock); rcu_read_lock();
task = find_task_by_pid(tid); task = find_task_by_pid(tid);
if (task) if (task)
get_task_struct(task); get_task_struct(task);
read_unlock(&tasklist_lock); rcu_read_unlock();
if (!task) if (!task)
goto out; goto out;
if (leader->tgid != task->tgid) if (leader->tgid != task->tgid)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册