Go to file
ozaki-r 75ffcec5e7 Avoid a race condition between SA (sav) manipulations
An sav can be removed from belonging list(s) twice resulting in an assertion
failure of pslist.  It can occur if the following two operations interleave:
(i) a deletion or a update of an SA via the API, and
(ii) a state change (key_sa_chgstate) of the same SA by the timer.
Note that even (ii) removes an sav once from its list(s) on a update.

The cause of the race condition is that the two operations are not serialized
and (i) doesn't get and remove an sav from belonging list(s) atomically.  So
(ii) can be inserted between an acquisition and a removal of (i).

Avoid the race condition by making (i) atomic.
2019-07-17 07:07:59 +00:00
bin Add a fallback definition of LSDEAD in ps(1) 2019-06-19 21:25:50 +00:00
common Introduce UBSAN_ALWAYS_FATAL in micro-UBSan 2019-06-17 18:55:37 +00:00
compat make all lines look the same, and put one arch per line. 2019-06-13 21:17:54 +00:00
crypto merge conflicts, regen man pages. 2019-06-09 18:44:29 +00:00
dist/pf - enlarge buffer to avoid snprintf() truncation 2019-02-03 10:48:46 +00:00
distrib update for libepoxy 1.4.3. 2019-07-09 22:17:33 +00:00
doc Note VLAN hardware filter. 2019-07-17 03:35:43 +00:00
etc add all the arm subdirs explicitly. the mtree vs dist strikes again. 2019-07-09 22:23:48 +00:00
external XXX: A crude hack to bring down the number of types for a 2019-07-16 07:27:35 +00:00
extsrc
games Report the users score _after_ the game has ended and the screen has 2019-03-19 00:11:34 +00:00
include Sync with 2019b (field name change) 2019-07-03 15:49:21 +00:00
lib Fix thinko: syscalls -> signals 2019-07-11 03:30:01 +00:00
libexec Tweak markup some more. 2019-07-15 01:26:15 +00:00
regress Eliminate regress/libexec/ld.elf_so/expand 2019-04-06 16:25:52 +00:00
rescue fix duplicated chunk from merge 2019-01-27 04:33:29 +00:00
sbin Implement VLAN hardware filter function(ETHERCAP_VLAN_HWFILTER). 2019-07-17 03:26:24 +00:00
share WPAD 2019-07-11 15:21:46 +00:00
sys Avoid a race condition between SA (sav) manipulations 2019-07-17 07:07:59 +00:00
tests fix misplaced paren 2019-07-16 21:13:28 +00:00
tools Bring back two lines deleted by accident. From Kamil Rytarowski. 2019-06-22 14:40:33 +00:00
usr.bin Add Fernando Jose Corbato 2019-07-14 10:43:01 +00:00
usr.sbin Don't overwrite the filesystem type unconditionally with the FFSv1 or v2 2019-07-15 19:13:05 +00:00
BUILDING Fix a typo 2019-05-08 14:03:57 +00:00
Makefile Use the generated "postinstall" in the objdir for postinstall-check 2019-06-14 09:12:42 +00:00
Makefile.inc
README.md Tidy up a bit. 2018-10-23 15:44:42 +00:00
UPDATING add a quick note about gcc 7 likely causing update build failures. 2019-02-08 09:57:01 +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

README.md

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