[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