diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 8fbed7194af1..103d78fd8f75 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1490,7 +1490,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1490 | pid = alloc_pid(p->nsproxy->pid_ns_for_children); | 1490 | pid = alloc_pid(p->nsproxy->pid_ns_for_children); |
1491 | if (IS_ERR(pid)) { | 1491 | if (IS_ERR(pid)) { |
1492 | retval = PTR_ERR(pid); | 1492 | retval = PTR_ERR(pid); |
1493 | goto bad_fork_cleanup_io; | 1493 | goto bad_fork_cleanup_thread; |
1494 | } | 1494 | } |
1495 | } | 1495 | } |
1496 | 1496 | ||
@@ -1652,6 +1652,8 @@ bad_fork_cancel_cgroup: | |||
1652 | bad_fork_free_pid: | 1652 | bad_fork_free_pid: |
1653 | if (pid != &init_struct_pid) | 1653 | if (pid != &init_struct_pid) |
1654 | free_pid(pid); | 1654 | free_pid(pid); |
1655 | bad_fork_cleanup_thread: | ||
1656 | exit_thread(p); | ||
1655 | bad_fork_cleanup_io: | 1657 | bad_fork_cleanup_io: |
1656 | if (p->io_context) | 1658 | if (p->io_context) |
1657 | exit_io_context(p); | 1659 | exit_io_context(p); |