Commit f552a27a authored by Hao Xu's avatar Hao Xu Committed by Jens Axboe
Browse files

io_uring: remove files pointer in cancellation functions



When doing cancellation, we use a parameter to indicate where it's from
do_exit or exec. So a boolean value is good enough for this, remove the
struct files* as it is not necessary.

Signed-off-by: default avatarHao Xu <haoxu@linux.alibaba.com>
[axboe: fixup io_uring_files_cancel for !CONFIG_IO_URING]
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a4aadd11
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -9213,9 +9213,9 @@ static void io_uring_cancel_generic(bool cancel_all, struct io_sq_data *sqd)
	}
}

void __io_uring_cancel(struct files_struct *files)
void __io_uring_cancel(bool cancel_all)
{
	io_uring_cancel_generic(!files, NULL);
	io_uring_cancel_generic(cancel_all, NULL);
}

static void *io_uring_validate_mmap_request(struct file *file,
+5 −5
Original line number Diff line number Diff line
@@ -7,18 +7,18 @@

#if defined(CONFIG_IO_URING)
struct sock *io_uring_get_socket(struct file *file);
void __io_uring_cancel(struct files_struct *files);
void __io_uring_cancel(bool cancel_all);
void __io_uring_free(struct task_struct *tsk);

static inline void io_uring_files_cancel(struct files_struct *files)
static inline void io_uring_files_cancel(void)
{
	if (current->io_uring)
		__io_uring_cancel(files);
		__io_uring_cancel(false);
}
static inline void io_uring_task_cancel(void)
{
	if (current->io_uring)
		__io_uring_cancel(NULL);
		__io_uring_cancel(true);
}
static inline void io_uring_free(struct task_struct *tsk)
{
@@ -33,7 +33,7 @@ static inline struct sock *io_uring_get_socket(struct file *file)
static inline void io_uring_task_cancel(void)
{
}
static inline void io_uring_files_cancel(struct files_struct *files)
static inline void io_uring_files_cancel(void)
{
}
static inline void io_uring_free(struct task_struct *tsk)
+1 −1
Original line number Diff line number Diff line
@@ -777,7 +777,7 @@ void __noreturn do_exit(long code)
		schedule();
	}

	io_uring_files_cancel(tsk->files);
	io_uring_files_cancel();
	exit_signals(tsk);  /* sets PF_EXITING */

	/* sync mm's RSS info before statistics gathering */