Re: [PATCHv2 2/4] tty: Hold tty_ldisc_lock() during tty_reopen()

2018-09-04 Thread Jiri Slaby
On 09/03/2018, 06:52 PM, Dmitry Safonov wrote: > tty_ldisc_reinit() doesn't race with neither tty_ldisc_hangup() > nor set_ldisc() nor tty_ldisc_release() as they use tty lock. > But it races with anyone who expects line discipline to be the same > after hoding read semaphore in tty_ldisc_ref(). >

Re: [PATCHv2 2/4] tty: Hold tty_ldisc_lock() during tty_reopen()

2018-09-04 Thread Sergey Senozhatsky
On (09/04/18 08:30), Jiri Slaby wrote: > > >> Cc: sta...@vger.kernel.org # depends on commit b027e2298bd5 ("tty: fix > >> data race between tty_init_dev and flush of buf") > > > > I believe there's a "Fixes" tag for that > > > > Fixes: b027e2298bd5 ("tty: fix data race between tty_init_dev and fl

Re: [PATCHv2 2/4] tty: Hold tty_ldisc_lock() during tty_reopen()

2018-09-03 Thread Jiri Slaby
On 09/04/2018, 03:51 AM, Sergey Senozhatsky wrote: > On (09/03/18 17:52), Dmitry Safonov wrote: >> >> We've seen the following crash on v4.9.108 stable: >> >> BUG: unable to handle kernel paging request at 2260 >> IP: [..] n_tty_receive_buf_common+0x5f/0x86d >> Workqueue: events_unbound

Re: [PATCHv2 2/4] tty: Hold tty_ldisc_lock() during tty_reopen()

2018-09-03 Thread Sergey Senozhatsky
On (09/03/18 17:52), Dmitry Safonov wrote: > > We've seen the following crash on v4.9.108 stable: > > BUG: unable to handle kernel paging request at 2260 > IP: [..] n_tty_receive_buf_common+0x5f/0x86d > Workqueue: events_unbound flush_to_ldisc > Call Trace: > [..] n_tty_receive_buf2

[PATCHv2 2/4] tty: Hold tty_ldisc_lock() during tty_reopen()

2018-09-03 Thread Dmitry Safonov
tty_ldisc_reinit() doesn't race with neither tty_ldisc_hangup() nor set_ldisc() nor tty_ldisc_release() as they use tty lock. But it races with anyone who expects line discipline to be the same after hoding read semaphore in tty_ldisc_ref(). We've seen the following crash on v4.9.108 stable: BUG: