diff --git a/sys/platform/pc32/include/vmparam.h b/sys/platform/pc32/include/vmparam.h index d5c378f..1c5e6f63 100644 --- a/sys/platform/pc32/include/vmparam.h +++ b/sys/platform/pc32/include/vmparam.h @@ -99,7 +99,7 @@ #define UPT_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI) #define UPT_MIN_ADDRESS VADDR(PTDPTDI, 0) -#define VM_MIN_USER_ADDRESS ((vm_offset_t)0) +#define VM_MIN_USER_ADDRESS ((vm_offset_t)PAGE_SIZE) #define VM_MAX_USER_ADDRESS VADDR(PTDPTDI, 0) #define USRSTACK VM_MAX_USER_ADDRESS diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 9e790d2..e43372a 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -697,7 +697,7 @@ sys_madvise(struct madvise_args *uap) return (EINVAL); if (VM_MAX_USER_ADDRESS > 0 && tmpaddr > VM_MAX_USER_ADDRESS) return (EINVAL); - if (VM_MIN_USER_ADDRESS > 0 && uap->addr < VM_MIN_USER_ADDRESS) + if (VM_MIN_USER_ADDRESS > 0 && (vm_offset_t) uap->addr < VM_MIN_USER_ADDRESS) return (EINVAL); /* @@ -740,7 +740,7 @@ sys_mcontrol(struct mcontrol_args *uap) return (EINVAL); if (VM_MAX_USER_ADDRESS > 0 && tmpaddr > VM_MAX_USER_ADDRESS) return (EINVAL); - if (VM_MIN_USER_ADDRESS > 0 && uap->addr < VM_MIN_USER_ADDRESS) + if (VM_MIN_USER_ADDRESS > 0 && (vm_offset_t) uap->addr < VM_MIN_USER_ADDRESS) return (EINVAL); /* diff --git a/sys/vm/vm_vmspace.c b/sys/vm/vm_vmspace.c index 9f8d7bb..bfd273f 100644 --- a/sys/vm/vm_vmspace.c +++ b/sys/vm/vm_vmspace.c @@ -502,7 +502,7 @@ sys_vmspace_mcontrol(struct vmspace_mcontrol_args *uap) error = EINVAL; goto done1; } - if (VM_MIN_USER_ADDRESS > 0 && uap->addr < VM_MIN_USER_ADDRESS) { + if (VM_MIN_USER_ADDRESS > 0 && (vm_offset_t)uap->addr < VM_MIN_USER_ADDRESS) { error = EINVAL; goto done1; }