Thread (24 messages) 24 messages, 8 authors, 2018-09-10

Re: [PATCH 0/4] tty: Hold write ldisc sem in tty_reopen()

From: Pasi Kärkkäinen <hidden>
Date: 2018-08-30 07:10:29
Also in: lkml

Hi Dmitry,

On Wed, Aug 29, 2018 at 03:23:49AM +0100, Dmitry Safonov wrote:
Two fixes for potential and real issues.
Looks worth to have in stables as we've hit it on v4.9 stable.
And for linux-next - adding lockdep asserts for line discipline changing
code, verifying that write ldisc sem will be held forthwith.

I couldn't verify that holding write lock fixes the issue as we've hit
it only once and I've failed in reproducing it.
But searching in lkml, Cc'ing here people who probably had the same
crash (and in hope someone of them could give tested-by):
And thanks a lot for your work on fixing these issues!

I've added Nathan (and centos-virt) to CC, because earlier Nathan was able to reliably trigger ldisc related kernel crash in Xen dom0 when running Linux 4.9 kernel, which seems similar to what your patch 2/4 is trying to fix.

Nathan's kernel crash report: https://lists.centos.org/pipermail/centos-virt/2017-August/005610.html
Example ldisc kernel crash BUG in "n_tty_receive_buf_common": https://lists.centos.org/pipermail/centos-virt/attachments/20170823/45493276/attachment.txt

CentOS bug: https://bugs.centos.org/view.php?id=13713


Thanks,

-- Pasi
Cc: Daniel Axtens <redacted> 
Cc: Dmitry Vyukov <dvyukov@google.com> 
Cc: Michael Neuling <redacted>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: Pasi K�rkk�inen <redacted>
Cc: Peter Hurley <redacted>
Cc: Sergey Senozhatsky <redacted> 
Cc: Tan Xiaojun <redacted>
(please, ignore if I Cc'ed you mistakenly)

Dmitry Safonov (4):
  tty: Drop tty->count on tty_reopen() failure
  tty: Hold tty_ldisc_lock() during tty_reopen()
  tty: Lock tty pair in tty_init_dev()
  tty/lockdep: Add ldisc_sem asserts

 drivers/tty/tty_io.c    | 21 +++++++++++++++------
 drivers/tty/tty_ldisc.c | 12 ++++++++----
 include/linux/tty.h     |  4 ++++
 3 files changed, 27 insertions(+), 10 deletions(-)

-- 
2.13.6
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help