From: Al Viro Date: Thu, 1 Oct 2020 18:11:00 +0000 (-0400) Subject: lift rcu_read_lock() into reverse_path_check() X-Git-Tag: accepted/tizen/unified/20230118.172025~8291^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b62d2706a754887800a7cec4eb0592a9263a38fc;p=platform%2Fkernel%2Flinux-rpi.git lift rcu_read_lock() into reverse_path_check() Signed-off-by: Al Viro --- diff --git a/fs/eventpoll.c b/fs/eventpoll.c index c40576e..06674515 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1257,7 +1257,6 @@ static int reverse_path_check_proc(struct file *file, int depth) return -1; /* CTL_DEL can remove links here, but that can't increase our count */ - rcu_read_lock(); hlist_for_each_entry_rcu(epi, &file->f_ep_links, fllink) { struct file *recepient = epi->ep->file; if (WARN_ON(!is_file_epoll(recepient))) @@ -1269,7 +1268,6 @@ static int reverse_path_check_proc(struct file *file, int depth) if (error != 0) break; } - rcu_read_unlock(); return error; } @@ -1291,7 +1289,9 @@ static int reverse_path_check(void) /* let's call this for all tfiles */ list_for_each_entry(current_file, &tfile_check_list, f_tfile_llink) { path_count_init(); + rcu_read_lock(); error = reverse_path_check_proc(current_file, 0); + rcu_read_unlock(); if (error) break; }