Commit 0bf1dbee authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

io_uring: use rcu_dereference in io_close



Accessing the file table needs a rcu_dereference_protected().

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220518084005.3255380-7-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a294bef5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -5372,7 +5372,8 @@ static int io_close(struct io_kiocb *req, unsigned int issue_flags)
		spin_unlock(&files->file_lock);
		goto err;
	}
	file = fdt->fd[close->fd];
	file = rcu_dereference_protected(fdt->fd[close->fd],
			lockdep_is_held(&files->file_lock));
	if (!file || file->f_op == &io_uring_fops) {
		spin_unlock(&files->file_lock);
		file = NULL;