patch "TTY: n_gsm, fix false positive WARN_ON" added to tty-next
Subsystems (2)
This is a note to let you know that I've just added the patch titled
TTY: n_gsm, fix false positive WARN_ON
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-next branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release during the merge window.
If you have any questions about this process, please let me know.
Quoted 1 line
From
d175feca89a1c162f60f4e3560ca7bc9437c65ebMon Sep 17 00:00:00 2001
From: Jiri Slaby <[email protected]>
Date: Tue, 22 Mar 2016 18:09:51 +0100
Subject: TTY: n_gsm, fix false positive WARN_ON
Dmitry reported, that the current cleanup code in n_gsm can trigger a warning:
WARNING: CPU: 2 PID: 24238 at drivers/tty/n_gsm.c:2048 gsm_cleanup_mux+0x166/0x6b0() ... Call Trace: ... [<ffffffff81247ab9>] warn_slowpath_null+0x29/0x30 kernel/panic.c:490 [<ffffffff828d0456>] gsm_cleanup_mux+0x166/0x6b0 drivers/tty/n_gsm.c:2048 [<ffffffff828d4d87>] gsmld_open+0x5b7/0x7a0 drivers/tty/n_gsm.c:2386 [<ffffffff828b9078>] tty_ldisc_open.isra.2+0x78/0xd0 drivers/tty/tty_ldisc.c:447 [<ffffffff828b973a>] tty_set_ldisc+0x1ca/0xa70 drivers/tty/tty_ldisc.c:567 [< inline >] tiocsetd drivers/tty/tty_io.c:2650 [<ffffffff828a14ea>] tty_ioctl+0xb2a/0x2140 drivers/tty/tty_io.c:2883
...
But this is a legal path when open fails to find a space in the gsm_mux array and tries to clean up. So make it a standard test instead of a warning.
--- drivers/tty/n_gsm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/tty/n_gsm.c +3 -1
@@ -2045,7 +2045,9 @@ static void gsm_cleanup_mux(struct gsm_mux *gsm) } }spin_unlock (&gsm_mux_lock); -WARN_ON (i ==MAX_MUX ); +/* open failed before registering => nothing to do */ +if (i ==MAX_MUX ) +return ;/* In theory disconnecting DLCI 0 is sufficient but for some modems this is apparently not the case. */
Signature · 1 line
2.8.0