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>
This commit is contained in:
parent
64eb661fda
commit
ed77e80e14
@ -61,16 +61,11 @@ static int kcmp_ptr(void *v1, void *v2, enum kcmp_type type)
|
|||||||
static struct file *
|
static struct file *
|
||||||
get_file_raw_ptr(struct task_struct *task, unsigned int idx)
|
get_file_raw_ptr(struct task_struct *task, unsigned int idx)
|
||||||
{
|
{
|
||||||
struct file *file = NULL;
|
struct file *file;
|
||||||
|
|
||||||
task_lock(task);
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
file = task_lookup_fd_rcu(task, idx);
|
||||||
if (task->files)
|
|
||||||
file = files_lookup_fd_rcu(task->files, idx);
|
|
||||||
|
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
task_unlock(task);
|
|
||||||
|
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user