Commit bae6e48f authored by Johannes Berg's avatar Johannes Berg Committed by Zheng Zengkai
Browse files

um: chan_user: Fix winch_tramp() return value

stable inclusion
from stable-v5.10.121
commit 7f8fd5dd43cd7306bb8fc519c13bcf1df7de3783
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5L6CQ

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7f8fd5dd43cd7306bb8fc519c13bcf1df7de3783



--------------------------------

commit 57ae0b67 upstream.

The previous fix here was only partially correct, it did
result in returning a proper error value in case of error,
but it also clobbered the pid that we need to return from
this function (not just zero for success).

As a result, it returned 0 here, but later this is treated
as a pid and used to kill the process, but since it's now
0 we kill(0, SIGKILL), which makes UML kill itself rather
than just the helper thread.

Fix that and make it more obvious by using a separate
variable for the pid.

Fixes: ccf1236e ("um: fix error return code in winch_tramp()")
Reported-and-tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
Acked-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
parent 77c87f18
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment