[BACK]Return to kern_exec.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/kern_exec.c between version 1.118 and 1.119

version 1.118, 2000/08/01 04:57:29 version 1.119, 2000/08/02 20:36:33
Line 244  sys_execve(struct proc *p, void *v, regi
Line 244  sys_execve(struct proc *p, void *v, regi
          * initialize the fields of the exec package.           * initialize the fields of the exec package.
          */           */
         pack.ep_name = SCARG(uap, path);          pack.ep_name = SCARG(uap, path);
         MALLOC(pack.ep_hdr, void *, exec_maxhdrsz, M_EXEC, M_WAITOK);          pack.ep_hdr = malloc(exec_maxhdrsz, M_EXEC, M_WAITOK);
         pack.ep_hdrlen = exec_maxhdrsz;          pack.ep_hdrlen = exec_maxhdrsz;
         pack.ep_hdrvalid = 0;          pack.ep_hdrvalid = 0;
         pack.ep_ndp = &nid;          pack.ep_ndp = &nid;
Line 525  sys_execve(struct proc *p, void *v, regi
Line 525  sys_execve(struct proc *p, void *v, regi
                 psignal(p, SIGTRAP);                  psignal(p, SIGTRAP);
   
         p->p_emul = pack.ep_emul;          p->p_emul = pack.ep_emul;
         FREE(pack.ep_hdr, M_EXEC);          free(pack.ep_hdr, M_EXEC);
   
 #ifdef KTRACE  #ifdef KTRACE
         if (KTRPOINT(p, KTR_EMUL))          if (KTRPOINT(p, KTR_EMUL))
Line 550  bad:
Line 550  bad:
         uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);          uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);
   
 freehdr:  freehdr:
         FREE(pack.ep_hdr, M_EXEC);          free(pack.ep_hdr, M_EXEC);
         return error;          return error;
   
 exec_abort:  exec_abort:
Line 562  exec_abort:
Line 562  exec_abort:
         uvm_deallocate(&vm->vm_map, VM_MIN_ADDRESS,          uvm_deallocate(&vm->vm_map, VM_MIN_ADDRESS,
                 VM_MAXUSER_ADDRESS - VM_MIN_ADDRESS);                  VM_MAXUSER_ADDRESS - VM_MIN_ADDRESS);
         if (pack.ep_emul_arg)          if (pack.ep_emul_arg)
                 FREE(pack.ep_emul_arg, M_TEMP);                  free(pack.ep_emul_arg, M_TEMP);
         FREE(nid.ni_cnd.cn_pnbuf, M_NAMEI);          FREE(nid.ni_cnd.cn_pnbuf, M_NAMEI);
         vn_lock(pack.ep_vp, LK_EXCLUSIVE | LK_RETRY);          vn_lock(pack.ep_vp, LK_EXCLUSIVE | LK_RETRY);
         VOP_CLOSE(pack.ep_vp, FREAD, cred, p);          VOP_CLOSE(pack.ep_vp, FREAD, cred, p);
         vput(pack.ep_vp);          vput(pack.ep_vp);
         uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);          uvm_km_free_wakeup(exec_map, (vaddr_t) argp, NCARGS);
         FREE(pack.ep_hdr, M_EXEC);          free(pack.ep_hdr, M_EXEC);
         exit1(p, W_EXITCODE(0, SIGABRT));          exit1(p, W_EXITCODE(0, SIGABRT));
         exit1(p, -1);          exit1(p, -1);
   

Legend:
Removed from v.1.118  
changed lines
  Added in v.1.119

CVSweb <webmaster@jp.NetBSD.org>