Module Name: src Committed By: christos Date: Fri Jan 3 15:49:49 UTC 2014
Modified Files: src/sys/kern: kern_exec.c Log Message: Simplify error path and fix typos. From Maxime Villard and me. To generate a diff of this commit: cvs rdiff -u -r1.368 -r1.369 src/sys/kern/kern_exec.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_exec.c diff -u src/sys/kern/kern_exec.c:1.368 src/sys/kern/kern_exec.c:1.369 --- src/sys/kern/kern_exec.c:1.368 Tue Dec 24 09:47:04 2013 +++ src/sys/kern/kern_exec.c Fri Jan 3 10:49:49 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_exec.c,v 1.368 2013/12/24 14:47:04 christos Exp $ */ +/* $NetBSD: kern_exec.c,v 1.369 2014/01/03 15:49:49 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -59,7 +59,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.368 2013/12/24 14:47:04 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.369 2014/01/03 15:49:49 christos Exp $"); #include "opt_exec.h" #include "opt_execfmt.h" @@ -1823,11 +1823,11 @@ spawn_exec_data_release(struct spawn_exe * A child lwp of a posix_spawn operation starts here and ends up in * cpu_spawn_return, dealing with all filedescriptor and scheduler * manipulations in between. - * The parent waits for the child, as it is not clear wether the child - * will be able to aquire its own exec_lock. If it can, the parent can + * The parent waits for the child, as it is not clear whether the child + * will be able to acquire its own exec_lock. If it can, the parent can * be released early and continue running in parallel. If not (or if the * magic debug flag is passed in the scheduler attribute struct), the - * child rides on the parent's exec lock untill it is ready to return to + * child rides on the parent's exec lock until it is ready to return to * to userland - and only then releases the parent. This method loses * concurrency, but improves error reporting. */ @@ -2001,7 +2001,7 @@ spawn_return(void *arg) /* release our refcount on the data */ spawn_exec_data_release(spawn_data); - /* and finaly: leave to userland for the first time */ + /* and finally: leave to userland for the first time */ cpu_spawn_return(l); /* NOTREACHED */ @@ -2071,15 +2071,9 @@ posix_spawn_fa_alloc(struct posix_spawn_ fa = kmem_alloc(sizeof(*fa), KM_SLEEP); error = copyin(ufa, fa, sizeof(*fa)); - if (error) { - fa->fae = NULL; - fa->len = 0; - goto out; - } - - if (fa->len == 0) { + if (error || fa->len == 0) { kmem_free(fa, sizeof(*fa)); - return 0; + return error; /* 0 if not an error, and len == 0 */ } fa->size = fa->len;