summaryrefslogtreecommitdiffstats
path: root/sys/uvm/uvm_unix.c
diff options
context:
space:
mode:
authorart <art@openbsd.org>2001-11-28 13:47:37 +0000
committerart <art@openbsd.org>2001-11-28 13:47:37 +0000
commit738a5b4da06e019a6663e50907eee782a84c1d2c (patch)
treea9528876cee85d24717d63972424ba0a09fc472e /sys/uvm/uvm_unix.c
parenttypo in sockopt level name (ipsec6 related) (diff)
downloadwireguard-openbsd-738a5b4da06e019a6663e50907eee782a84c1d2c.tar.xz
wireguard-openbsd-738a5b4da06e019a6663e50907eee782a84c1d2c.zip
Sync in more uvm changes from NetBSD.
This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
Diffstat (limited to 'sys/uvm/uvm_unix.c')
-rw-r--r--sys/uvm/uvm_unix.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/sys/uvm/uvm_unix.c b/sys/uvm/uvm_unix.c
index 44863db3e2d..a2fde83db35 100644
--- a/sys/uvm/uvm_unix.c
+++ b/sys/uvm/uvm_unix.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uvm_unix.c,v 1.17 2001/11/07 02:55:51 art Exp $ */
-/* $NetBSD: uvm_unix.c,v 1.18 2000/09/13 15:00:25 thorpej Exp $ */
+/* $OpenBSD: uvm_unix.c,v 1.18 2001/11/28 13:47:40 art Exp $ */
+/* $NetBSD: uvm_unix.c,v 1.20 2001/03/19 02:25:33 simonb Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -78,7 +78,7 @@ sys_obreak(p, v, retval)
struct vmspace *vm = p->p_vmspace;
vaddr_t new, old;
ssize_t diff;
- int rv;
+ int error;
old = (vaddr_t)vm->vm_daddr;
new = round_page((vaddr_t)SCARG(uap, nsize));
@@ -95,26 +95,23 @@ sys_obreak(p, v, retval)
* grow or shrink?
*/
if (diff > 0) {
- rv = uvm_map(&vm->vm_map, &old, diff, NULL, UVM_UNKNOWN_OFFSET,
- 0, UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
+ error = uvm_map(&vm->vm_map, &old, diff, NULL,
+ UVM_UNKNOWN_OFFSET, 0,
+ UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL, UVM_INH_COPY,
UVM_ADV_NORMAL, UVM_FLAG_AMAPPAD|UVM_FLAG_FIXED|
UVM_FLAG_OVERLAY|UVM_FLAG_COPYONW));
- if (rv == KERN_SUCCESS) {
- vm->vm_dsize += atop(diff);
- return (0);
+ if (error) {
+ uprintf("sbrk: grow %ld failed, error = %d\n",
+ (long)diff, error);
+ return error;
}
+ vm->vm_dsize += atop(diff);
} else {
- rv = uvm_deallocate(&vm->vm_map, new, -diff);
- if (rv == KERN_SUCCESS) {
- vm->vm_dsize -= atop(-diff);
- return (0);
- }
+ uvm_deallocate(&vm->vm_map, new, -diff);
+ vm->vm_dsize -= atop(-diff);
}
- uprintf("sbrk: %s %ld failed, return = %d\n",
- diff > 0 ? "grow" : "shrink",
- (long)(diff > 0 ? diff : -diff), rv);
- return (ENOMEM);
+ return (0);
}
/*