summaryrefslogtreecommitdiff
path: root/arch/sh
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2023-02-02 07:42:42 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-02-06 09:52:49 +0300
commit9a18c9c8336fff473a2b72707bd14a52298417b8 (patch)
treedb5dfa587a2bc14b1c224e396ebb0f30e75b61bf /arch/sh
parent2f87e255123f4a3873c72c5b9fdc7574121970ad (diff)
downloadlinux-9a18c9c8336fff473a2b72707bd14a52298417b8.tar.xz
exit: Add and use make_task_dead.
commit 0e25498f8cd43c1b5aa327f373dd094e9a006da7 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>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/traps.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c
index 63cf17bc760d..6a228c00b73f 100644
--- a/arch/sh/kernel/traps.c
+++ b/arch/sh/kernel/traps.c
@@ -57,7 +57,7 @@ void die(const char *str, struct pt_regs *regs, long err)
if (panic_on_oops)
panic("Fatal exception");
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
void die_if_kernel(const char *str, struct pt_regs *regs, long err)