• Oleg Nesterov's avatar
    kill do_each_thread() · 5ffd2c37
    Oleg Nesterov authored
    Eric has pointed out that we still have 3 users of do_each_thread().
    Change them to use for_each_process_thread() and kill this helper.
    
    There is a subtle change, after do_each_thread/while_each_thread g == t ==
    &init_task, while after for_each_process_thread() they both point to
    nowhere, but this doesn't matter.
    
    > Why is for_each_process_thread() better than do_each_thread()?
    
    Say, for_each_process_thread() is rcu safe, do_each_thread() is not.
    
    And certainly
    
    	for_each_process_thread(p, t) {
    		do_something(p, t);
    	}
    
    looks better than
    
    	do_each_thread(p, t) {
    		do_something(p, t);
    	} while_each_thread(p, t);
    
    And again, there are only 3 users of this awkward helper left.  It should
    have been killed years ago and in fact I thought it had already been
    killed.  It uses while_each_thread() which needs some changes.
    
    Link: https://lkml.kernel.org/r/20230817163708.GA8248@redhat.comSigned-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Cc: "Christian Brauner (Microsoft)" <brauner@kernel.org>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Jiri Slaby <jirislaby@kernel.org> # tty/serial
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    5ffd2c37
tty_io.c 89.5 KB