Just for the heck of it, I just tried to boot a 7.99.52 kernel built
from today's sources (just a few hours old, updated on 2016-12-27 at
04:43:26 UTC). I got a uvmfault during startup, right after it set my
hostname.
The failing process was running ifconfig, and here's the backtrace
(copied
Updating src tree:
P src/bin/ps/ps.c
P src/doc/TODO.ptrace
P src/external/bsd/top/dist/machine/m_netbsd.c
P src/lib/libc/gen/getpwent.3
P src/lib/libnpf/npf.c
P src/lib/libnpf/npf.h
P src/share/man/man2/siginfo.2
P src/share/man/man4/ddb.4
P src/share/man/man4/options.4
P src/share/man/man4/tc.4
P
This is an automatically generated notice of a NetBSD-current/i386
build failure.
The failure occurred on babylon5.netbsd.org, a NetBSD/amd64 host,
using sources from CVS date 2016.12.26.23.39.18.
An extract from the build.sh output follows:
^
/tmp/bracket/build/2016.12.26.23.39.18-i38
I think you can avoid the #ifdef in uvm_mmap.c by simply definining
the macro PAX_MPROTECT_ADJUST() to return 0 if the feature is off.
Also, it would be wiser to just add error handling to the call in
uvm_unix.c, rather then assuming it never fails. Or just remove the
call there if it's so redunda
Hi,
I have simplified the patch, changed it to return EACCES upon errors,
adapted it to -current, and tested it there (both with PAX_MPROTECT set
and not set). It is still not 100% elegant though (adds an #ifdef) so I
will welcome ideas on how to improve it some more.
Kernel build fails for evbppc/RB800:
% cd sys/arch/evbppc/compile/RB800 && nbmake-evbppc depend && nbmake-evbppc
...
../../../../uvm/uvm_physseg.c:1009:1: error: no previous prototype for
'uvm_physseg_set_avail_start' [-Werror=missing-prototypes]
uvm_physseg_set_avail_start(uvm_physseg_