aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 56d85fd81411..dd5a371c392a 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1681,9 +1681,12 @@ static __latent_entropy struct task_struct *copy_process(
1681 goto bad_fork_cleanup_perf; 1681 goto bad_fork_cleanup_perf;
1682 /* copy all the process information */ 1682 /* copy all the process information */
1683 shm_init_task(p); 1683 shm_init_task(p);
1684 retval = copy_semundo(clone_flags, p); 1684 retval = security_task_alloc(p, clone_flags);
1685 if (retval) 1685 if (retval)
1686 goto bad_fork_cleanup_audit; 1686 goto bad_fork_cleanup_audit;
1687 retval = copy_semundo(clone_flags, p);
1688 if (retval)
1689 goto bad_fork_cleanup_security;
1687 retval = copy_files(clone_flags, p); 1690 retval = copy_files(clone_flags, p);
1688 if (retval) 1691 if (retval)
1689 goto bad_fork_cleanup_semundo; 1692 goto bad_fork_cleanup_semundo;
@@ -1907,6 +1910,8 @@ bad_fork_cleanup_files:
1907 exit_files(p); /* blocking */ 1910 exit_files(p); /* blocking */
1908bad_fork_cleanup_semundo: 1911bad_fork_cleanup_semundo:
1909 exit_sem(p); 1912 exit_sem(p);
1913bad_fork_cleanup_security:
1914 security_task_free(p);
1910bad_fork_cleanup_audit: 1915bad_fork_cleanup_audit:
1911 audit_free(p); 1916 audit_free(p);
1912bad_fork_cleanup_perf: 1917bad_fork_cleanup_perf: