Go to file
maxv 8fdfc138ab Fix buffer overflows. sc_{o,f}len are controlled by the USB device. By
crafting the former the device can leak stack data. By crafting the latter
the device can overwrite the stack. The combination of the two means the
device can ROP the kernel and obtain code execution (demonstrated with an
actual exploit over vHCI).

Truncate the lengths to the size of the buffers, and also drop sc_ilen
since it is unused. Patch tested with vHCI+kASan.
2020-01-01 09:03:00 +00:00
bin Use fork() rather than vfork() when forking to run a background 2019-12-21 18:54:15 +00:00
common Formalize that the printf formats should be uintmax_t so we can 2019-12-06 19:36:21 +00:00
compat 1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and 2019-10-24 18:46:20 +00:00
crypto Find and set a version to a make(1) variable. 2019-12-17 00:17:00 +00:00
dist/pf grammar 2019-09-21 19:48:15 +00:00
distrib Done giving syspkg names without xorg_server_ver=110 2019-12-31 05:01:49 +00:00
doc Sync TODO.sanitizers with reality 2019-12-28 04:23:26 +00:00
etc Revert the removal of filemon. 2019-12-23 06:45:36 +00:00
external Another rename from uvm_free() --> uvm_availmem() 2019-12-31 14:51:29 +00:00
extsrc
games s/saftey/safety/ 2019-12-27 09:17:59 +00:00
include move P_tmpdir from "/var/tmp/" to "/tmp/". 2019-12-13 20:25:16 +00:00
lib s/conjuction/conjunction/ 2019-12-27 10:13:59 +00:00
libexec Use existing lo() and hi() macros. Same object code is generated. 2019-12-08 23:49:16 +00:00
regress Redo previous differently. 2019-11-23 20:37:49 +00:00
rescue 1. Remove all the special handling of variables (-d -p -P -s -S) that 2019-12-29 18:26:16 +00:00
sbin Make recent change build for SMALL builds as well as normal ones. 2020-01-01 00:24:52 +00:00
share Use -dash list instead of -tag list without content. 2019-12-30 00:49:56 +00:00
sys Fix buffer overflows. sc_{o,f}len are controlled by the USB device. By 2020-01-01 09:03:00 +00:00
tests s/inital/initial/ 2019-12-27 09:25:57 +00:00
tools Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da) 2019-11-11 22:44:56 +00:00
usr.bin 1. Remove all the special handling of variables (-d -p -P -s -S) that 2019-12-29 18:26:16 +00:00
usr.sbin fstyp: Add HAMMER1/2 support 2020-01-01 08:56:41 +00:00
build.sh Fix long-term broken pattern match when determining if uname -p output is 2019-06-07 15:49:20 +00:00
BUILDING Fix a typo 2019-05-08 14:03:57 +00:00
Makefile Enhance the support of LLVM sanitizers 2019-08-27 22:48:53 +00:00
Makefile.inc
README.md Tidy up a bit. 2018-10-23 15:44:42 +00:00
UPDATING catch-up with more ports switched to gcc-8 2019-11-18 15:42:26 +00:00

NetBSD

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.

Building

You can cross-build NetBSD from most UNIX-like operating systems. To build for amd64 (x86_64), in the src directory:

./build.sh -U -u -j4 -m amd64 -O ~/obj release

Additional build information available in the BUILDING file.

Binaries

Testing

On a running NetBSD system:

cd /usr/tests; atf-run | atf-report

Troubleshooting

Latest sources

To fetch the main CVS repository:

cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P src

To work in the Git mirror, which is updated every few hours from CVS:

git clone https://github.com/NetBSD/src.git