milos-linux/include/uapi/linux
Martin Michaelis 7deba791ad io_uring/kbuf: support min length left for incremental buffers
Incrementally consumed buffer rings are generally fully consumed, but
it's quite possible that the application has a minimum size it needs to
meet to avoid truncation. Currently that minimum limit is 1 byte, but
this should be a setting that is the hands of the application. For
recvmsg multishot, a prime use case for incrementally consumed buffers,
the application may get spurious -EFAULT returned at the end of an
incrementally consumed buffer, as less space is available than the
headers need.

Grab a u32 field in struct io_uring_buf_reg, which the application can
use to inform the kernel of the minimum size that should be available
in an incrementally consumed buffer. If less than that is available,
the current buffer is fully processed and the next one will be picked.

Cc: stable@vger.kernel.org
Fixes: ae98dbf43d ("io_uring/kbuf: add support for incremental buffer consumption")
Link: https://github.com/axboe/liburing/issues/1433
Signed-off-by: Martin Michaelis <code@mgjm.de>
[axboe: write commit message, change io_buffer_list member name]
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-04-28 16:08:56 -06:00
..
android
byteorder
can
cifs
counter
dvb
genwqe
hdlc
hsi
iio
io_uring io_uring/zcrx: implement device-less mode for zcrx 2026-04-01 10:21:12 -06:00
media
misc
mmc
netfilter netfilter: nf_tables: add netlink policy based cap on registers 2026-04-08 07:51:31 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd NFSD/export: Add sign_fh export option 2026-03-29 21:25:09 -04:00
raid
sched
spi
sunrpc
surface_aggregator
tc_act
tc_ematch
usb USB: uapi: add BULK_MAX_PACKET_UPDATE 2026-03-30 16:55:36 +02:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: fix coding style issues 2026-03-05 22:16:08 -05:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h
blk-crypto.h
blkdev.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h bpf: Clarify BPF_RB_NO_WAKEUP behavior for bpf_ringbuf_discard() 2026-03-31 15:46:34 -07:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h bsg: add bsg_uring_cmd uapi structure 2026-03-19 11:38:24 -06:00
bt-bmc.h
btf.h btf: Add BTF kind layout encoding to UAPI 2026-03-26 13:53:56 -07:00
btrfs.h
btrfs_tree.h btrfs: tree-checker: introduce checks for FREE_SPACE_INFO 2026-04-07 18:56:01 +02:00
cachefiles.h
can.h
capability.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h uapi: Provide DIV_ROUND_CLOSEST() 2026-03-18 09:59:57 +00:00
coredump.h
coresight-stm.h
counter.h
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
dev_energymodel.h
devlink.h devlink: Add resource scope filtering to resource dump 2026-04-08 19:55:39 -07:00
dlm.h
dlm_device.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h dma-buf: Include ioctl.h in UAPI header 2026-03-03 08:55:39 +01:00
dma-heap.h
dns_resolver.h
dpll.h dpll: add frequency monitoring to netlink spec 2026-04-03 16:48:01 -07:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
errno.h
errqueue.h
erspan.h
ethtool.h net: ethtool: Update doc for tunable 2026-03-05 16:26:52 +01:00
ethtool_netlink.h
ethtool_netlink_generated.h net: ethtool: add ethtool COALESCE_RX_CQE_FRAMES/NSECS 2026-03-18 20:01:10 -07:00
eventfd.h
eventpoll.h
exfat.h
ext4.h
f2fs.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h fs: add generic FS_IOC_SHUTDOWN definitions 2026-02-19 21:48:05 +09:00
fscrypt.h
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpib.h
gpib_ioctl.h
gpio.h
gsmmux.h
gtp.h
handshake.h
hash_info.h
hdlc.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h net: bridge: add stp_mode attribute for STP mode selection 2026-04-10 15:52:24 -07:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h pppoe: remove kernel-mode relay support 2026-02-26 11:41:00 +01:00
if_slip.h
if_team.h
if_tun.h
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h
ife.h
igmp.h
ila.h
in.h
in6.h
in_route.h
inet_diag.h inet_diag: report delayed ack timer information 2026-03-06 16:32:26 -08:00
inotify.h
input-event-codes.h Input: add keycodes for contextual AI usages (HUTRR119) 2026-03-29 22:02:11 +02:00
input.h
io_uring.h io_uring/kbuf: support min length left for incremental buffers 2026-04-28 16:08:56 -06:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioctl.h
iommufd.h Merge branches 'fixes', 'arm/smmu/updates', 'arm/smmu/bindings', 'riscv', 'intel/vt-d', 'amd/amd-vi' and 'core' into next 2026-04-09 13:18:27 +01:00
ioprio.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h
ipv6.h
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kexec.h
keyboard.h vt: add KT_CSI keysym type for modifier-aware CSI sequences 2026-03-12 15:07:51 +01:00
keyctl.h
kfd_ioctl.h
kfd_sysfs.h
kvm.h - ESA nesting support 2026-04-13 19:01:15 +02:00
kvm_para.h
l2tp.h
landlock.h landlock: Control pathname UNIX domain socket resolution by path 2026-04-07 18:51:06 +02:00
libc-compat.h
limits.h
lirc.h
liveupdate.h
llc.h
loadpin.h
lockd_netlink.h
loop.h
lp.h
lsm.h
lwtunnel.h
magic.h
major.h
map_benchmark.h dma-mapping: benchmark: add support for dma_map_sg 2026-03-04 11:22:05 +01:00
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
mdio.h
media-bus-format.h
media.h
mei.h
mei_uuid.h
membarrier.h
memfd.h
mempolicy.h
mii.h net: phy: qcom: at803x: Use the correct bit to disable extended next page 2026-04-13 14:36:22 -07:00
minix_fs.h
mman.h
mmtimer.h
module.h
module_signature.h module: Move 'struct module_signature' to UAPI 2026-03-24 21:42:37 +00:00
mount.h mount: add FSMOUNT_NAMESPACE 2026-03-12 13:33:54 +01:00
mpls.h
mpls_iptunnel.h
mptcp.h
mptcp_pm.h mptcp: fix kdoc warnings 2026-02-06 20:35:06 -08:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mshv.h mshv_vtl: Fix vmemmap_shift exceeding MAX_FOLIO_ORDER 2026-04-14 04:44:31 +00:00
mtio.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_shaper.h
net_tstamp.h
netconf.h
netdev.h net: Add queue-create operation 2026-04-09 18:21:45 -07:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h include: uapi: netfilter_bridge.h: Cover for musl libc 2026-02-17 15:04:20 +01:00
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netlink_diag.h
nexthop.h
nfc.h NFC: fix header file kernel-doc warnings 2026-02-27 19:21:56 -08:00
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h NFSD: Add a key for signing filehandles 2026-03-29 21:25:09 -04:00
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: nl80211: Add a notification to notify NAN channel evacuation 2026-03-25 20:56:55 +01:00
npcm-video.h
nsfs.h
nsm.h
ntsync.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: clean up some kernel-doc warnings 2026-03-04 17:52:46 -08:00
ovpn.h ovpn: add support for asymmetric peer IDs 2026-03-17 11:09:05 +01:00
packet_diag.h
papr_pdsm.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h PCI: Correct PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 value 2026-02-27 10:24:25 -06:00
pcitest.h
perf_event.h Performance events changes for v7.0: 2026-02-10 12:00:46 -08:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h pidfds: add coredump_code field to pidfd_info 2026-03-23 16:29:15 +01:00
pkt_cls.h
pkt_sched.h
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pps_gen.h
pr.h
prctl.h prctl: cfi: change the branch landing pad prctl()s to be more descriptive 2026-04-04 18:40:58 -06:00
psample.h
psci.h
psp-dbc.h
psp-sev.h include/psp-sev.h: fix structure member in comment 2026-03-14 14:03:19 +09:00
psp-sfs.h
psp.h
ptp_clock.h
ptrace.h
pwm.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
remoteproc_cdev.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h
romfs_fs.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h rseq: slice ext: Ensure rseq feature size differs from original rseq size 2026-02-23 11:19:19 +01:00
rtc.h
rtnetlink.h
rxrpc.h
sched.h vfs-7.1-rc1.mount.v2 2026-04-14 19:59:25 -07:00
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
sed-opal.h sed-opal: Add STACK_RESET command 2026-03-31 07:04:00 -06:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h seg6: add per-route tunnel source address 2026-03-26 18:45:29 -07:00
seg6_local.h
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serio.h
sev-guest.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h mm.git review status for linus..mm-stable 2026-02-12 11:32:37 -08:00
sysinfo.h
target_core_user.h
taskstats.h delayacct: fix uapi timespec64 definition 2026-02-08 00:13:32 -08:00
tcp.h
tcp_metrics.h
tdx-guest.h
tee.h
termios.h
thermal.h
thp7312.h
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h
trace_mmap.h tracing updates for v7.1: 2026-04-17 09:43:12 -07:00
tty.h
tty_flags.h
typelimits.h
types.h
ublk_cmd.h ublk: widen ublk_shmem_buf_reg.len to __u64 for 4GB buffer support 2026-04-09 19:08:35 -06:00
udf_fs_i.h
udmabuf.h
udp.h udp: Remove UDPLITE_SEND_CSCOV and UDPLITE_RECV_CSCOV. 2026-03-13 18:57:45 -07:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h um: time-travel: clean up kernel-doc warnings 2026-03-21 10:42:09 +01:00
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h
userfaultfd.h
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h
v4l2-controls.h
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h
vduse.h vduse: avoid adding implicit padding 2026-02-09 12:21:32 -05:00
vesa.h
veth.h
vfio.h vfio: Define uAPI for re-init initial bytes during the PRE_COPY phase 2026-03-19 12:32:08 -06:00
vfio_ccw.h
vfio_zdev.h
vhost.h
vhost_types.h
videodev2.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_bt.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_rtc.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_spi.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vmclock-abi.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h