diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 9 |
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); |