kernel_optimize_test/arch/um/os-Linux
Johannes Berg 833f5208b1 um: defer killing userspace on page table update failures
commit a7d48886cacf8b426e0079bca9639d2657cf2d38 upstream.

In some cases we can get to fix_range_common() with mmap_sem held,
and in others we get there without it being held. For example, we
get there with it held from sys_mprotect(), and without it held
from fork_handler().

Avoid any issues in this and simply defer killing the task until
it runs the next time. Do it on the mm so that another task that
shares the same mm can't continue running afterwards.

Cc: stable@vger.kernel.org
Fixes: 468f65976a ("um: Fix hung task in fix_range_common()")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-04 11:38:42 +01:00
..
drivers um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
skas um: defer killing userspace on page table update failures 2021-03-04 11:38:42 +01:00
elf_aux.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
execvp.c um: Use os_warn to print out pre-boot warning/error messages 2017-07-05 23:18:25 +02:00
file.c um: Use fdatasync() when mapping the UBD FSYNC command 2020-06-02 22:37:55 +02:00
helper.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
irq.c um: Monitor error events in IRQ controller 2020-12-30 11:53:52 +01:00
main.c um: Don't trace irqflags during shutdown 2019-11-25 22:42:57 +01:00
Makefile um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
mem.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
process.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
registers.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
sigio.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
signal.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
start_up.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
time.c um: Move timer-internal.h to non-shared 2020-03-29 23:28:43 +02:00
tty.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
umid.c um: Remove use of asprinf in umid.c 2020-12-30 11:54:17 +01:00
user_syms.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
util.c um: Some fixes to build UML with musl 2020-10-11 23:13:06 +02:00