Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f5325aa authored by Marcos Paulo de Souza's avatar Marcos Paulo de Souza Committed by Linus Torvalds
Browse files

kernel/fork.c: check error and return early

Thus reducing one indentation level while maintaining the same rationale.

Link: http://lkml.kernel.org/r/20171117002929.5155-1-marcos.souza.org@gmail.com


Signed-off-by: default avatarMarcos Paulo de Souza <marcos.souza.org@gmail.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 63300edd
Loading
Loading
Loading
Loading
+25 −26
Original line number Original line Diff line number Diff line
@@ -2062,6 +2062,8 @@ long _do_fork(unsigned long clone_flags,
	      int __user *child_tidptr,
	      int __user *child_tidptr,
	      unsigned long tls)
	      unsigned long tls)
{
{
	struct completion vfork;
	struct pid *pid;
	struct task_struct *p;
	struct task_struct *p;
	int trace = 0;
	int trace = 0;
	long nr;
	long nr;
@@ -2087,14 +2089,14 @@ long _do_fork(unsigned long clone_flags,
	p = copy_process(clone_flags, stack_start, stack_size,
	p = copy_process(clone_flags, stack_start, stack_size,
			 child_tidptr, NULL, trace, tls, NUMA_NO_NODE);
			 child_tidptr, NULL, trace, tls, NUMA_NO_NODE);
	add_latent_entropy();
	add_latent_entropy();

	if (IS_ERR(p))
		return PTR_ERR(p);

	/*
	/*
	 * Do this prior waking up the new thread - the thread pointer
	 * Do this prior waking up the new thread - the thread pointer
	 * might get invalid after that point, if the thread exits quickly.
	 * might get invalid after that point, if the thread exits quickly.
	 */
	 */
	if (!IS_ERR(p)) {
		struct completion vfork;
		struct pid *pid;

	trace_sched_process_fork(current, p);
	trace_sched_process_fork(current, p);


	pid = get_task_pid(p, PIDTYPE_PID);
	pid = get_task_pid(p, PIDTYPE_PID);
@@ -2121,9 +2123,6 @@ long _do_fork(unsigned long clone_flags,
	}
	}


	put_pid(pid);
	put_pid(pid);
	} else {
		nr = PTR_ERR(p);
	}
	return nr;
	return nr;
}
}