// SPDX-License-Identifier: GPL-2.0#include<linux/kernel.h>#include<linux/errno.h>#include<linux/file.h>#include<linux/slab.h>#include<linux/net.h>#include<linux/compat.h>#include<net/compat.h>#include<linux/io_uring.h>#include<uapi/linux/io_uring.h>#include"io_uring.h"#include"kbuf.h"#include"alloc_cache.h"#include"net.h"#include"notif.h"#include"rsrc.h"#if defined(CONFIG_NET)structio_shutdown{structfile*file;inthow;};structio_accept{structfile*file;structsockaddr__user*addr;int__user*addr_len;intflags;u32file_slot;unsignedlongnofile;};structio_socket{structfile*file;intdomain;inttype;intprotocol;intflags;u32file_slot;unsignedlongnofile;};structio_connect{structfile*file;structsockaddr__user*addr;intaddr_len;boolin_progress;};structio_sr_msg{structfile*file;union{structcompat_msghdr__user*umsg_compat;structuser_msghdr__user*umsg;void__user*buf;};unsignedlen;unsigneddone_io;unsignedmsg_flags;u16flags;/* initialised and used only by !msg send variants */u16addr_len;void__user