aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 03c1eaaa6ef5..16b6ca38856e 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -85,6 +85,9 @@
85 85
86#include <trace/events/sched.h> 86#include <trace/events/sched.h>
87 87
88#include <litmus/litmus.h>
89#include <litmus/sched_plugin.h>
90
88#define CREATE_TRACE_POINTS 91#define CREATE_TRACE_POINTS
89#include <trace/events/task.h> 92#include <trace/events/task.h>
90 93
@@ -253,6 +256,9 @@ void __put_task_struct(struct task_struct *tsk)
253 256
254 task_numa_free(tsk); 257 task_numa_free(tsk);
255 security_task_free(tsk); 258 security_task_free(tsk);
259
260 exit_litmus(tsk);
261
256 exit_creds(tsk); 262 exit_creds(tsk);
257 delayacct_tsk_free(tsk); 263 delayacct_tsk_free(tsk);
258 put_signal_struct(tsk->signal); 264 put_signal_struct(tsk->signal);
@@ -355,6 +361,9 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
355 tsk->seccomp.filter = NULL; 361 tsk->seccomp.filter = NULL;
356#endif 362#endif
357 363
364 /* Don't let the new task be a real-time task. */
365 litmus_fork(tsk);
366
358 setup_thread_stack(tsk, orig); 367 setup_thread_stack(tsk, orig);
359 clear_user_return_notifier(tsk); 368 clear_user_return_notifier(tsk);
360 clear_tsk_need_resched(tsk); 369 clear_tsk_need_resched(tsk);