Back

io_uring/net: don't overconsume buffers when using MSG_TRUNC

Published Sep 25, 2026

Description

When a recv/recvmsg is issued with MSG_TRUNC and the incoming packet is larger than the provided buffer, the net layer returns the full length of the packet rather than the number of bytes actually copied into the buffer. As a result, io_uring advances more of the provided buffer ring than was actually filled. Use the actual filled region size to consume the buffer, but still return the full size to preserve MSG_TRUNC semantics.

Take care with multishot, because that seems to already truncate the consumption based on the available payload size.

This was reported in https://github.com/axboe/liburing/issues/1619.

[axboe: fold in size_t unsigned fix]

Affected products

Remediation

No remediation recorded yet.

Weaknesses (0)

No CWE recorded.

References (5)

Change history (0)

No recorded changes yet.

Sources
CVE.org / MITRE
Status PUBLISHED
Assigner Linux
Published Sep 25, 2026
Updated Oct 3, 2026
Reserved Sep 24, 2026
NVD
Status Received
Modified Oct 3, 2026
Red Hat
Severity n/a
Public date n/a
ENISA EUVD
Assigner Linux
Published Sep 25, 2026
Updated Oct 3, 2026
Exploited since n/a
EUVD-2026-86749