aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 6633e83e608a..93ed0b682adb 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2556,8 +2556,22 @@ extern struct mm_struct *mm_access(struct task_struct *task, unsigned int mode);
2556/* Remove the current tasks stale references to the old mm_struct */ 2556/* Remove the current tasks stale references to the old mm_struct */
2557extern void mm_release(struct task_struct *, struct mm_struct *); 2557extern void mm_release(struct task_struct *, struct mm_struct *);
2558 2558
2559#ifdef CONFIG_HAVE_COPY_THREAD_TLS
2560extern int copy_thread_tls(unsigned long, unsigned long, unsigned long,
2561 struct task_struct *, unsigned long);
2562#else
2559extern int copy_thread(unsigned long, unsigned long, unsigned long, 2563extern int copy_thread(unsigned long, unsigned long, unsigned long,
2560 struct task_struct *); 2564 struct task_struct *);
2565
2566/* Architectures that haven't opted into copy_thread_tls get the tls argument
2567 * via pt_regs, so ignore the tls argument passed via C. */
2568static inline int copy_thread_tls(
2569 unsigned long clone_flags, unsigned long sp, unsigned long arg,
2570 struct task_struct *p, unsigned long tls)
2571{
2572 return copy_thread(clone_flags, sp, arg, p);
2573}
2574#endif
2561extern void flush_thread(void); 2575extern void flush_thread(void);
2562extern void exit_thread(void); 2576extern void exit_thread(void);
2563 2577
@@ -2576,6 +2590,7 @@ extern int do_execveat(int, struct filename *,
2576 const char __user * const __user *, 2590 const char __user * const __user *,
2577 const char __user * const __user *, 2591 const char __user * const __user *,
2578 int); 2592 int);
2593extern long _do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *, unsigned long);
2579extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *); 2594extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *);
2580struct task_struct *fork_idle(int); 2595struct task_struct *fork_idle(int);
2581extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); 2596extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);