summaryrefslogtreecommitdiff
path: root/include/linux/kthread.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2021-11-22 19:27:36 +0300
committerEric W. Biederman <ebiederm@xmission.com>2021-12-13 21:04:45 +0300
commitbbda86e988d4c124e4cfa816291cbd583ae8bfb1 (patch)
treeb0d36a233c14df7e3a76cf608a3a956ac58b90a7 /include/linux/kthread.h
parenteb55e716ac1aa0de13ef5abbf1479d995582d967 (diff)
downloadlinux-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.h1
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;