Author: kib
Date: Mon Jul 10 07:12:59 2017
New Revision: 320867
URL: https://svnweb.freebsd.org/changeset/base/320867

Log:
  MFC r320619 MFS r320863:
  Resolve confusion between different error code spaces.
  
  Approved by:  re (delphij)

Modified:
  releng/11.1/sys/kern/kern_exec.c
Directory Properties:
  releng/11.1/   (props changed)

Modified: releng/11.1/sys/kern/kern_exec.c
==============================================================================
--- releng/11.1/sys/kern/kern_exec.c    Mon Jul 10 06:28:50 2017        
(r320866)
+++ releng/11.1/sys/kern/kern_exec.c    Mon Jul 10 07:12:59 2017        
(r320867)
@@ -1055,9 +1055,9 @@ exec_unmap_first_page(imgp)
 }
 
 /*
- * Destroy old address space, and allocate a new stack
- *     The new stack is only SGROWSIZ large because it is grown
- *     automatically in trap.c.
+ * Destroy old address space, and allocate a new stack.
+ *     The new stack is only sgrowsiz large because it is grown
+ *     automatically on a page fault.
  */
 int
 exec_new_vmspace(imgp, sv)
@@ -1111,9 +1111,9 @@ exec_new_vmspace(imgp, sv)
                    VM_PROT_READ | VM_PROT_EXECUTE,
                    VM_PROT_READ | VM_PROT_EXECUTE,
                    MAP_INHERIT_SHARE | MAP_ACC_NO_CHARGE);
-               if (error) {
+               if (error != KERN_SUCCESS) {
                        vm_object_deallocate(obj);
-                       return (error);
+                       return (vm_mmap_to_errno(error));
                }
        }
 
@@ -1137,10 +1137,9 @@ exec_new_vmspace(imgp, sv)
        stack_addr = sv->sv_usrstack - ssiz;
        error = vm_map_stack(map, stack_addr, (vm_size_t)ssiz,
            obj != NULL && imgp->stack_prot != 0 ? imgp->stack_prot :
-               sv->sv_stackprot,
-           VM_PROT_ALL, MAP_STACK_GROWS_DOWN);
-       if (error)
-               return (error);
+           sv->sv_stackprot, VM_PROT_ALL, MAP_STACK_GROWS_DOWN);
+       if (error != KERN_SUCCESS)
+               return (vm_mmap_to_errno(error));
 
        /*
         * vm_ssize and vm_maxsaddr are somewhat antiquated concepts, but they
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to