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) 9struct sock *io_uring_get_socket(struct file *file); 10void __io_uring_cancel(struct files_struct *files); 11void __io_uring_free(struct task_struct *tsk); 12 13static inline void io_uring_files_cancel(struct files_struct *files) 14{ 15 if (current->io_uring) 16 __io_uring_cancel(files); 17} 18static inline void io_uring_task_cancel(void) 19{ 20 return io_uring_files_cancel(NULL); 21} 22static inline void io_uring_free(struct task_struct *tsk) 23{ 24 if (tsk->io_uring) 25 __io_uring_free(tsk); 26} 27#else 28static inline struct sock *io_uring_get_socket(struct file *file) 29{ 30 return NULL; 31} 32static inline void io_uring_task_cancel(void) 33{ 34} 35static inline void io_uring_files_cancel(struct files_struct *files) 36{ 37} 38static inline void io_uring_free(struct task_struct *tsk) 39{ 40} 41#endif 42 43#endif 44