diff mbox series

[04/12] close_files(): don't bother with xchg()

Message ID 20240822002250.938396-4-viro@zeniv.linux.org.uk (mailing list archive)
State New
Headers show
Series [01/12] close_range(): fix the logics in descriptor table trimming | expand

Commit Message

Al Viro Aug. 22, 2024, 12:22 a.m. UTC
At that point nobody else has references to the victim files_struct;
as the matter of fact, the caller will free it immediately after
close_files() returns, with no RCU delays or anything of that sort.

That's why we are not protecting against fdtable reallocation on
expansion, not cleaning the bitmaps, etc.  There's no point
zeroing the pointers in ->fd[] either, let alone make that an
atomic operation.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 fs/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/fs/file.c b/fs/file.c
index 8c5b8569045c..4ea7afce828c 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -413,7 +413,7 @@  static struct fdtable *close_files(struct files_struct * files)
 		set = fdt->open_fds[j++];
 		while (set) {
 			if (set & 1) {
-				struct file * file = xchg(&fdt->fd[i], NULL);
+				struct file *file = fdt->fd[i];
 				if (file) {
 					filp_close(file, files);
 					cond_resched();