linux-stable/include
Dylan Yudaken 9bb66906f2 io_uring: support multishot in recvmsg
Similar to multishot recv, this will require provided buffers to be
used. However recvmsg is much more complex than recv as it has multiple
outputs. Specifically flags, name, and control messages.

Support this by introducing a new struct io_uring_recvmsg_out with 4
fields. namelen, controllen and flags match the similar out fields in
msghdr from standard recvmsg(2), payloadlen is the length of the payload
following the header.
This struct is placed at the start of the returned buffer. Based on what
the user specifies in struct msghdr, the next bytes of the buffer will be
name (the next msg_namelen bytes), and then control (the next
msg_controllen bytes). The payload will come at the end. The return value
in the CQE is the total used size of the provided buffer.

Signed-off-by: Dylan Yudaken <dylany@fb.com>
Link: https://lore.kernel.org/r/20220714110258.1336200-4-dylany@fb.com
[axboe: style fixups, see link]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-07-24 18:39:18 -06:00
..
acpi
asm-generic
clocksource
crypto
drm
dt-bindings
keys
kunit
kvm
linux net: copy from user before calling __copy_msghdr 2022-07-24 18:39:17 -06:00
math-emu
media
memory
misc
net net: copy from user before calling __get_compat_msghdr 2022-07-24 18:39:17 -06:00
pcmcia
ras
rdma
scsi
soc
sound
target
trace io_uring: fix io_uring_cqe_overflow trace format 2022-07-24 18:39:17 -06:00
uapi io_uring: support multishot in recvmsg 2022-07-24 18:39:18 -06:00
ufs
vdso
video
xen