Index: contrib/netbsd-tests/lib/libc/sys/t_mprotect.c =================================================================== --- contrib/netbsd-tests/lib/libc/sys/t_mprotect.c +++ contrib/netbsd-tests/lib/libc/sys/t_mprotect.c @@ -153,9 +153,18 @@ ATF_TC_BODY(mprotect_err, tc) { - errno = 0; + void *map; + int error; - ATF_REQUIRE(mprotect((char *)-1, 1, PROT_READ) != 0); + /* Create an unmapped region. */ + map = mmap(NULL, page, PROT_READ | PROT_WRITE, MAP_PRIVATE | + MAP_ANONYMOUS, -1, 0); + ATF_REQUIRE(map != MAP_FAILED); + error = munmap(map, page); + ATF_REQUIRE(error == 0); + + errno = 0; + ATF_REQUIRE(mprotect(map, 1, PROT_READ) != 0); ATF_REQUIRE(errno == EINVAL); } Index: sys/compat/freebsd32/freebsd32_misc.c =================================================================== --- sys/compat/freebsd32/freebsd32_misc.c +++ sys/compat/freebsd32/freebsd32_misc.c @@ -3485,3 +3485,20 @@ return (kern_poll(td, uap->fds, uap->nfds, tsp, ssp)); } + +int +freebsd32_sched_rr_get_interval(struct thread *td, + struct freebsd32_sched_rr_get_interval_args *uap) +{ + struct timespec ts; + struct timespec32 ts32; + int error; + + error = kern_sched_rr_get_interval(td, uap->pid, &ts); + if (error == 0) { + CP(ts, ts32, tv_sec); + CP(ts, ts32, tv_nsec); + error = copyout(&ts32, uap->interval, sizeof(ts32)); + } + return (error); +} Index: sys/compat/freebsd32/syscalls.master =================================================================== --- sys/compat/freebsd32/syscalls.master +++ sys/compat/freebsd32/syscalls.master @@ -591,8 +591,9 @@ 331 AUE_NULL NOPROTO { int sched_yield (void); } 332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); } 333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); } -334 AUE_NULL NOPROTO { int sched_rr_get_interval (pid_t pid, \ - struct timespec *interval); } +334 AUE_NULL STD { int freebsd32_sched_rr_get_interval ( \ + pid_t pid, \ + struct timespec32 *interval); } 335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); } 336 AUE_SENDFILE COMPAT4 { int freebsd32_sendfile(int fd, int s, \ uint32_t offset1, uint32_t offset2, \