[PATCH 0/3] tty: n_hdlc: fix hangup handling

From: Johan Hovold

Date: Wed Oct 28 2026 - 09:24:52 EST


An LLM incorrectly flagged three hangup issues in n_hdlc as leading to
hangups stuck in uninterruptible sleep.

This used to be the case before commit c96cf923a98d ("tty: Don't block
on IO when ldisc change is pending") which incidentally fixed the stuck
hangup issues by turning tty_io_nonblock() into an indirect hangup
check.

Since then read() and write() can return -EAGAIN also for files opened
in blocking mode on ldisc changes, which looks questionable. This change
was added to address a regression introduced by a series adding missing
locking to tty_reopen() but should probably be reconsidered. [1]

This series addresses the underlying hangup issues and incorrect -EAGAIN
on hangup meanwhile.

Johan


[1] https://lore.kernel.org/all/alpine.LRH.2.02.1809191330590.19146@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/


Johan Hovold (3):
tty: n_hdlc: fix missing write() hangup check
tty: n_hdlc: fix read() hangup race
tty: n_hdlc: fix read() hangup check

drivers/tty/n_hdlc.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

--
2.55.0