summaryrefslogtreecommitdiffstats
path: root/kernel/kcmp.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2020-11-21 00:14:30 +0100
committerEric W. Biederman <ebiederm@xmission.com>2020-12-10 19:42:49 +0100
commited77e80e14a3cd55c73848b9e8043020e717ce12 (patch)
treebdef0dabba2a4dcf399d46a01d17e418dce41f95 /kernel/kcmp.c
parentproc/fd: In tid_fd_mode use task_lookup_fd_rcu (diff)
downloadlinux-ed77e80e14a3cd55c73848b9e8043020e717ce12.tar.xz
linux-ed77e80e14a3cd55c73848b9e8043020e717ce12.zip
kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
Modify get_file_raw_ptr to use task_lookup_fd_rcu. The helper task_lookup_fd_rcu does the work of taking the task lock and verifying that task->files != NULL and then calls files_lookup_fd_rcu. So let use the helper to make a simpler implementation of get_file_raw_ptr. Acked-by: Cyrill Gorcunov <gorcunov@gmail.com> Link: https://lkml.kernel.org/r/20201120231441.29911-13-ebiederm@xmission.com Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'kernel/kcmp.c')
-rw-r--r--kernel/kcmp.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/kernel/kcmp.c b/kernel/kcmp.c
index 990717c1aed3..36e58eb5a11d 100644
--- a/kernel/kcmp.c
+++ b/kernel/kcmp.c
@@ -61,16 +61,11 @@ static int kcmp_ptr(void *v1, void *v2, enum kcmp_type type)
static struct file *
get_file_raw_ptr(struct task_struct *task, unsigned int idx)
{
- struct file *file = NULL;
+ struct file *file;
- task_lock(task);
rcu_read_lock();
-
- if (task->files)
- file = files_lookup_fd_rcu(task->files, idx);
-
+ file = task_lookup_fd_rcu(task, idx);
rcu_read_unlock();
- task_unlock(task);
return file;
}