]> git.ipfire.org Git - thirdparty/linux.git/commit
file: massage cleanup of files that failed to open
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 26 Nov 2023 02:08:34 +0000 (02:08 +0000)
committerChristian Brauner <brauner@kernel.org>
Tue, 12 Dec 2023 13:24:09 +0000 (14:24 +0100)
commit7cb537b6f6d7d6529be04139178f929d9a63b918
tree21261fb352f5a3c788e01b5d418869225b17ea54
parentb85ea95d086471afb4ad062012a4d73cd328fa86
file: massage cleanup of files that failed to open

A file that has never gotten FMODE_OPENED will never have RCU-accessed
references, its final fput() is equivalent to file_free() and if it
doesn't have FMODE_BACKING either, it can be done from any context and
won't need task_work treatment.

Now that we have SLAB_TYPESAFE_BY_RCU we can simplify this and have
other callers benefit. All of that can be achieved easier is to make
fput() recoginze that case and call file_free() directly.

No need to introduce a special primitive for that. It also allowed
things like failing dentry_open() could benefit from that as well.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[Christian Brauner <brauner@kernel.org>: massage commit message]
Link: https://lore.kernel.org/r/20231126020834.GC38156@ZenIV
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/file_table.c
fs/internal.h
fs/namei.c