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
Differential Revision: https://reviews.freebsd.org/D43377

Details

Provenance
kevansAuthored on Jan 16 2024, 2:55 AM
Reviewer
cy
Differential Revision
D43377: kern: tty: fix ttyinq_read_uio assertion
Parents
rG08efe9bef43b: GitHub: style: Add the synchronize activity type
Branches
Unknown
Tags
Unknown