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.

Approved by: re (cperciva)
Reviewed by: cy, imp

(cherry picked from commit 09a43b8790bdeb97fbecd3ea767c2f599eb4a4d3)
(cherry picked from commit 81ef0de636ff8ba0b8057ced593f2ab92597b1a6)

Details

Provenance
kevansAuthored on Jan 16 2024, 2:55 AM
Parents
rG24eb518714f6: contrib/tzdata: import tzdata 2024a
Branches
Unknown
Tags
Unknown