#include <linux/net.h>
#include <linux/uio.h>
#include <net/sock.h>
#include <linux/nospec.h>
#include "rsrc.h"
#define IO_NOTIF_UBUF_FLAGS …
#define IO_NOTIF_SPLICE_BATCH …
struct io_notif_data { … };
struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx);
void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
bool success);
static inline struct io_notif_data *io_notif_to_data(struct io_kiocb *notif)
{ … }
static inline void io_notif_flush(struct io_kiocb *notif)
__must_hold(¬if->ctx->uring_lock)
{ … }
static inline int io_notif_account_mem(struct io_kiocb *notif, unsigned len)
{ … }