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

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

Diff for /src/sys/uvm/uvm_mmap.c between version 1.163 and 1.164

version 1.163, 2017/04/29 01:18:35 version 1.164, 2017/05/06 21:34:52
Line 287  sys_mmap(struct lwp *l, const struct sys
Line 287  sys_mmap(struct lwp *l, const struct sys
         vaddr_t addr;          vaddr_t addr;
         off_t pos;          off_t pos;
         vsize_t size, pageoff, newsize;          vsize_t size, pageoff, newsize;
         vm_prot_t prot, maxprot;          vm_prot_t prot, maxprot, extraprot;
         int flags, fd, advice;          int flags, fd, advice;
         vaddr_t defaddr;          vaddr_t defaddr;
         struct file *fp = NULL;          struct file *fp = NULL;
Line 304  sys_mmap(struct lwp *l, const struct sys
Line 304  sys_mmap(struct lwp *l, const struct sys
         addr = (vaddr_t)SCARG(uap, addr);          addr = (vaddr_t)SCARG(uap, addr);
         size = (vsize_t)SCARG(uap, len);          size = (vsize_t)SCARG(uap, len);
         prot = SCARG(uap, prot) & VM_PROT_ALL;          prot = SCARG(uap, prot) & VM_PROT_ALL;
           extraprot = PROT_MPROTECT_EXTRACT(SCARG(uap, prot));
         flags = SCARG(uap, flags);          flags = SCARG(uap, flags);
         fd = SCARG(uap, fd);          fd = SCARG(uap, fd);
         pos = SCARG(uap, pos);          pos = SCARG(uap, pos);
Line 396  sys_mmap(struct lwp *l, const struct sys
Line 397  sys_mmap(struct lwp *l, const struct sys
                 pos = 0;                  pos = 0;
         }          }
   
         PAX_MPROTECT_ADJUST(l, &prot, &maxprot);          maxprot = PAX_MPROTECT_MAXPROTECT(l, prot, extraprot, maxprot);
           if (((prot | extraprot) & maxprot) != (prot | extraprot))
                   return EACCES;
           if ((error = PAX_MPROTECT_VALIDATE(l, prot)))
                   return error;
   
         pax_aslr_mmap(l, &addr, orig_addr, flags);          pax_aslr_mmap(l, &addr, orig_addr, flags);
   
Line 612  sys_mprotect(struct lwp *l, const struct
Line 617  sys_mprotect(struct lwp *l, const struct
         if (error)          if (error)
                 return EINVAL;                  return EINVAL;
   
         error = uvm_map_protect(&p->p_vmspace->vm_map, addr, addr + size, prot,          error = uvm_map_protect_user(l, addr, addr + size, prot);
                                 false);  
         return error;          return error;
 }  }
   

Legend:
Removed from v.1.163  
changed lines
  Added in v.1.164

CVSweb <webmaster@jp.NetBSD.org>