On 02/06, Tycho Andersen wrote: > On Tue, Feb 06, 2024 at 07:06:07PM +0100, Oleg Nesterov wrote: > > Or we can check task->files != NULL rather than PF_EXITING. > > > > To me this looks even better, but looks more confusing without a comment. > > OTOH, imo this needs a comment anyway ;) > > I thought about this, but I didn't really understand the null check in > exit_files(); I guess task->files can be NULL at least if it was cloned with kernel_clone_args->no_files == T > if it can really be called more than once, I don't think this is possible. Well, unless the exiting task hits a BUG() after exit_files() and calls do_exit() recursively. > are there > other cases where task->files == NULL that we really should report > EBADF? I don't think so... If nothing else, sys_close() dereferences current->files without any checks, so I think task->files == NULL is simply impossible if this task is a userspace process/thread until it exits. But Tycho, I won't insist. If you prefer to check PF_EXITING, I am fine. Oleg.