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