diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-12-17 13:10:11 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-12-17 13:10:11 -0800 |
commit | 2d3145f8d2809592ef803a30c8a342b5a9e2de9a (patch) | |
tree | 6bc66d13f1815e181d3fac34e13b524a769940e0 /init | |
parent | 58d90a04bdcc28e1b34251f4d9c1c4d39d4bba69 (diff) | |
download | linux-2d3145f8d2809592ef803a30c8a342b5a9e2de9a.tar.gz linux-2d3145f8d2809592ef803a30c8a342b5a9e2de9a.tar.bz2 linux-2d3145f8d2809592ef803a30c8a342b5a9e2de9a.zip |
early init: fix error handling when opening /dev/console
The comment says "this should never fail", but it definitely can fail
when you have odd initial boot filesystems, or kernel configurations.
So get the error handling right: filp_open() returns an error pointer.
Reported-by: Jesse Barnes <jsbarnes@google.com>
Reported-by: youling 257 <youling257@gmail.com>
Fixes: 8243186f0cc7 ("fs: remove ksys_dup()")
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init')
-rw-r--r-- | init/main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c index ec3a1463ac69..1ecfd43ed464 100644 --- a/init/main.c +++ b/init/main.c @@ -1163,7 +1163,7 @@ void console_on_rootfs(void) /* Open /dev/console in kernelspace, this should never fail */ file = filp_open("/dev/console", O_RDWR, 0); - if (!file) + if (IS_ERR(file)) goto err_out; /* create stdin/stdout/stderr, this should never fail */ |