• Jiri Slaby's avatar
    TTY: n_gsm, fix false positive WARN_ON · d175feca
    Jiri Slaby authored
    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.
    Reported-by: default avatar"Dmitry Vyukov" <dvyukov@google.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Link: http://lkml.kernel.org/r/CACT4Y+bHQbAB68VFi7Romcs-Z9ZW3kQRvcq+BvHH1oa5NcAdLA@mail.gmail.com
    Fixes: 5a640967 ("tty/n_gsm.c: fix a memory leak in gsmld_open()")
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d175feca
n_gsm.c 78.6 KB