diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2021-11-22 19:27:36 +0300 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2021-12-13 21:04:45 +0300 |
commit | bbda86e988d4c124e4cfa816291cbd583ae8bfb1 (patch) | |
tree | b0d36a233c14df7e3a76cf608a3a956ac58b90a7 /include/linux/kthread.h | |
parent | eb55e716ac1aa0de13ef5abbf1479d995582d967 (diff) | |
download | linux-bbda86e988d4c124e4cfa816291cbd583ae8bfb1.tar.xz |
exit: Implement kthread_exit
The way the per task_struct exit_code is used by kernel threads is not
quite compatible how it is used by userspace applications. The low
byte of the userspace exit_code value encodes the exit signal. While
kthreads just use the value as an int holding ordinary kernel function
exit status like -EPERM.
Add kthread_exit to clearly separate the two kinds of uses.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'include/linux/kthread.h')
-rw-r--r-- | include/linux/kthread.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 346b0f269161..22c43d419687 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h @@ -70,6 +70,7 @@ void *kthread_probe_data(struct task_struct *k); int kthread_park(struct task_struct *k); void kthread_unpark(struct task_struct *k); void kthread_parkme(void); +void kthread_exit(long result) __noreturn; int kthreadd(void *unused); extern struct task_struct *kthreadd_task; |