1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 #ifndef _LINUX_IO_URING_H 3 #define _LINUX_IO_URING_H 4 5 #include <linux/sched.h> 6 #include <linux/xarray.h> 7 8 #if defined(CONFIG_IO_URING) 9 struct sock *io_uring_get_socket(struct file *file); 10 void __io_uring_cancel(bool cancel_all); 11 void __io_uring_free(struct task_struct *tsk); 12 io_uring_files_cancel(void)13static inline void io_uring_files_cancel(void) 14 { 15 if (current->io_uring) 16 __io_uring_cancel(false); 17 } io_uring_task_cancel(void)18static inline void io_uring_task_cancel(void) 19 { 20 if (current->io_uring) 21 __io_uring_cancel(true); 22 } io_uring_free(struct task_struct * tsk)23static inline void io_uring_free(struct task_struct *tsk) 24 { 25 if (tsk->io_uring) 26 __io_uring_free(tsk); 27 } 28 #else io_uring_get_socket(struct file * file)29static inline struct sock *io_uring_get_socket(struct file *file) 30 { 31 return NULL; 32 } io_uring_task_cancel(void)33static inline void io_uring_task_cancel(void) 34 { 35 } io_uring_files_cancel(void)36static inline void io_uring_files_cancel(void) 37 { 38 } io_uring_free(struct task_struct * tsk)39static inline void io_uring_free(struct task_struct *tsk) 40 { 41 } 42 #endif 43 44 #endif 45