HomeFreeBSD

kern: tty: fix ttyinq_read_uio assertion

Description

kern: tty: fix ttyinq_read_uio assertion

It's clear from later context that rlen was always expected to include
flen, as we'll trim flen bytes from the end of the read. Relax our
initial assertion to only require the total size less trimmed bytes to
lie within the out buffer size.

While we're here, I note that if we have to read more than one block and
we're trimming from the end then we'll do the wrong thing and omit
flen bytes from every block, rather than just the end. Add an
assertion to make sure we're not doing that, but the only caller that
specifies a non-zero flen today will only really be doing so if rlen
is entirely within a single buffer.

Reviewed by: cy, imp

(cherry picked from commit 09a43b8790bdeb97fbecd3ea767c2f599eb4a4d3)

Details

Provenance
kevansAuthored on Jan 16 2024, 2:55 AM
Parents
rGdc30b2841b7d: chflags(1): obey siginfo request on chflagsat(2) failure
Branches
Unknown
Tags
Unknown