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