]> git.baikalelectronics.ru Git - kernel.git/commit
exit: Add and use make_task_dead.
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 2 Feb 2023 04:42:42 +0000 (20:42 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Feb 2023 06:52:49 +0000 (07:52 +0100)
commitb052a3f3a4a7924951d912d355045707ca7e2bb1
treedb5dfa587a2bc14b1c224e396ebb0f30e75b61bf
parentaceb8d174963a7f7896450ed0f406d5266df00f1
exit: Add and use make_task_dead.

commit 238bcd2dab757a27f9590b792c4f766b7519fe28 upstream.

There are two big uses of do_exit.  The first is it's design use to be
the guts of the exit(2) system call.  The second use is to terminate
a task after something catastrophic has happened like a NULL pointer
in kernel code.

Add a function make_task_dead that is initialy exactly the same as
do_exit to cover the cases where do_exit is called to handle
catastrophic failure.  In time this can probably be reduced to just a
light wrapper around do_task_dead. For now keep it exactly the same so
that there will be no behavioral differences introducing this new
concept.

Replace all of the uses of do_exit that use it for catastraphic
task cleanup with make_task_dead to make it clear what the code
is doing.

As part of this rename rewind_stack_do_exit
rewind_stack_and_make_dead.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
38 files changed:
arch/alpha/kernel/traps.c
arch/alpha/mm/fault.c
arch/arm/kernel/traps.c
arch/arm/mm/fault.c
arch/arm64/kernel/traps.c
arch/arm64/mm/fault.c
arch/csky/abiv1/alignment.c
arch/csky/kernel/traps.c
arch/h8300/kernel/traps.c
arch/h8300/mm/fault.c
arch/hexagon/kernel/traps.c
arch/ia64/kernel/mca_drv.c
arch/ia64/kernel/traps.c
arch/ia64/mm/fault.c
arch/m68k/kernel/traps.c
arch/m68k/mm/fault.c
arch/microblaze/kernel/exceptions.c
arch/mips/kernel/traps.c
arch/nds32/kernel/fpu.c
arch/nds32/kernel/traps.c
arch/nios2/kernel/traps.c
arch/openrisc/kernel/traps.c
arch/parisc/kernel/traps.c
arch/powerpc/kernel/traps.c
arch/riscv/kernel/traps.c
arch/riscv/mm/fault.c
arch/s390/kernel/dumpstack.c
arch/s390/kernel/nmi.c
arch/sh/kernel/traps.c
arch/sparc/kernel/traps_32.c
arch/sparc/kernel/traps_64.c
arch/x86/entry/entry_32.S
arch/x86/entry/entry_64.S
arch/x86/kernel/dumpstack.c
arch/xtensa/kernel/traps.c
include/linux/sched/task.h
kernel/exit.c
tools/objtool/check.c