tty: vt, return error when con_startup fails
authorJiri Slaby <jslaby@suse.cz>
Tue, 3 May 2016 15:05:54 +0000 (17:05 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 7 Jun 2016 08:42:55 +0000 (10:42 +0200)
commit 6798df4c5fe0a7e6d2065cf79649a794e5ba7114 upstream.

When csw->con_startup() fails in do_register_con_driver, we return no
error (i.e. 0). This was changed back in 2006 by commit 3e795de763.
Before that we used to return -ENODEV.

So fix the return value to be -ENODEV in that case again.

Fixes: 3e795de763 ("VT binding: Add binding/unbinding support for the VT console")
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reported-by: "Dan Carpenter" <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/tty/vt/vt.c

index db9d69fa10857dfdd9fe18c8494488bcee5afaa6..6dff194751f1a2b04ac73e4c0bf4f84a16bb7671 100644 (file)
@@ -3534,9 +3534,10 @@ static int do_register_con_driver(const struct consw *csw, int first, int last)
                goto err;
 
        desc = csw->con_startup();
-
-       if (!desc)
+       if (!desc) {
+               retval = -ENODEV;
                goto err;
+       }
 
        retval = -EINVAL;