]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
um: chan_user: Fix winch_tramp() return value
authorJohannes Berg <johannes.berg@intel.com>
Fri, 20 May 2022 17:45:36 +0000 (19:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 14:53:54 +0000 (16:53 +0200)
commit663797b04c778e95c06b09ed7d309ed86a134953
tree244fa95267bebc6e88ac73f8885b25f7a7863e74
parent051ab37aeb27b0bc17f0be88402ce91594448027
um: chan_user: Fix winch_tramp() return value

commit 57ae0b67b747031bc41fb44643aa5344ab58607e 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: ccf1236ecac4 ("um: fix error return code in winch_tramp()")
Reported-and-tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/um/drivers/chan_user.c