forked from luck/tmp_suning_uos_patched
7f8fd5dd43
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> |
||
---|---|---|
.. | ||
chan_kern.c | ||
chan_user.c | ||
chan_user.h | ||
chan.h | ||
cow_sys.h | ||
cow_user.c | ||
cow.h | ||
daemon_kern.c | ||
daemon_user.c | ||
daemon.h | ||
fd.c | ||
harddog_kern.c | ||
harddog_user.c | ||
hostaudio_kern.c | ||
Kconfig | ||
line.c | ||
line.h | ||
Makefile | ||
mconsole_kern.c | ||
mconsole_kern.h | ||
mconsole_user.c | ||
mconsole.h | ||
mmapper_kern.c | ||
net_kern.c | ||
net_user.c | ||
null.c | ||
pcap_kern.c | ||
pcap_user.c | ||
pcap_user.h | ||
port_kern.c | ||
port_user.c | ||
port.h | ||
pty.c | ||
random.c | ||
slip_common.c | ||
slip_common.h | ||
slip_kern.c | ||
slip_user.c | ||
slip.h | ||
slirp_kern.c | ||
slirp_user.c | ||
slirp.h | ||
ssl.c | ||
stderr_console.c | ||
stdio_console.c | ||
stdio_console.h | ||
tty.c | ||
ubd_kern.c | ||
ubd_user.c | ||
ubd.h | ||
umcast_kern.c | ||
umcast_user.c | ||
umcast.h | ||
vde_kern.c | ||
vde_user.c | ||
vde.h | ||
vector_kern.c | ||
vector_kern.h | ||
vector_transports.c | ||
vector_user.c | ||
vector_user.h | ||
vhost_user.h | ||
virtio_uml.c | ||
xterm_kern.c | ||
xterm.c | ||
xterm.h |