um: fix error return code in winch_tramp()
authorZhen Lei <thunder.leizhen@huawei.com>
Sat, 8 May 2021 03:22:39 +0000 (11:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:17:53 +0000 (16:17 +0200)
[ Upstream commit ccf1236ecac476d9d2704866d9a476c86e387971 ]

Fix to return a negative error code from the error handling case instead
of 0, as done elsewhere in this function.

Fixes: 89df6bfc0405 ("uml: DEBUG_SHIRQ fixes")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Acked-By: anton.ivanov@cambridgegreys.com
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/um/drivers/chan_user.c

index 3fd7c3efdb18df6b0f8f1dfd68e3883052b329c1..feb7f5ab408413d292356d7dd73ff019a35874dc 100644 (file)
@@ -256,7 +256,8 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
                goto out_close;
        }
 
-       if (os_set_fd_block(*fd_out, 0)) {
+       err = os_set_fd_block(*fd_out, 0);
+       if (err) {
                printk(UM_KERN_ERR "winch_tramp: failed to set thread_fd "
                       "non-blocking.\n");
                goto out_close;