Re: [PATCH] n_tty: Don't lose characters when PARMRK is enabled

From: Alan Cox
Date: Fri Jul 27 2012 - 09:05:43 EST


On Thu, 26 Jul 2012 17:12:31 -0500
Jaeden Amero <jaeden.amero@xxxxxx> wrote:

> When PARMRK is set and large transfers of characters that will get
> marked are being received, n_tty could drop data silently (i.e.
> without reporting any error to the client). This is because
> characters have the potential to take up to three bytes in the line
> discipline (when they get marked with parity or framing errors), but
> the amount of free space reported to tty_buffer flush_to_ldisc (via
> tty->receive_room) is based on the pre-marked data size.
>
> With this patch, the n_tty layer will no longer assume that each byte
> will only take up one byte in the line discipline. Instead, it will
> make an overly conservative estimate that each byte will take up
> three bytes in the line discipline when PARMRK is set.
>
> Signed-off-by: Jaeden Amero <jaeden.amero@xxxxxx>

What a fun corner case. Patch looks good to me.

Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/