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: NNathan Chancellor <nathan@kernel.org> Signed-off-by: NJohannes Berg <johannes.berg@intel.com> Cc: stable@vger.kernel.org Signed-off-by: NRichard Weinberger <richard@nod.at> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com> Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
Showing
想要评论请 注册 或 登录