Go to file
riastradh ba282d085e Revert "i915: Defer final wakeup on active until after retirement."
This reverts i915_active.c 1.11.  ref->retire might free the object,
so touching it is not allowed -- that would use-after-free.  Linux
uses the object only for its address with wake_up_var.

The reason I made this change was that I guessed i915_active_wait has
to wait until after ref->retire finishes -- after all, Linux seems to
defer the wakeup until then.  However, even the Linux code doesn't
guarantee this, because i915_active_wait could be called _during_
ref->retire, and would witness ref->count == 0, and would not wait
until it has completed in that case.  So maybe my guess was wrong,
and it is OK for i915_active_wait to return while ref->retire is
still in flight -- I don't see any logic that obviously requires it
to wait for ref->retire, in any case.

Or maybe something does rely on i915_active_wait to wait for
ref->retire to finish, in which case we need a different mechanism
for i915_active_release itself to wait until i915_active_retire has
woken up, without dereferencing ref since it might be dead after
ref->retire.
2022-02-15 18:14:18 +00:00
bin sh: fix typo in comment 2022-02-08 20:39:59 +00:00
common mips: Brush up __cpu_simple_lock. 2022-02-12 17:10:02 +00:00
compat remove obsolete files. 2021-06-18 06:34:00 +00:00
crypto PR/56658: Juraj Hercek: Plain RSA keys are not loaded by racoon IKE daemon 2022-01-23 14:55:28 +00:00
dist/pf Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889. 2021-07-24 21:31:31 +00:00
distrib __cpu_simple_lock(9): New man page. 2022-02-12 17:10:20 +00:00
doc note some recent things i've done in pci, scan_ffs, vmstat and blkdiscard. 2022-02-07 09:50:05 +00:00
etc Small changes in mount_critical_filesystems_zfs 2022-02-06 16:23:12 +00:00
external xsetwallpaper: Drop unused -lXpm. 2022-02-11 01:36:02 +00:00
extsrc
games s/totaled/totalled/ 2021-12-31 12:42:24 +00:00
include err.h: dead once is dead enough 2022-01-06 00:16:47 +00:00
lib fix few typos in comments and log message. 2022-02-13 22:20:08 +00:00
libexec bozohttpd: remove obsolete .bzdirect handling 2022-01-04 06:08:14 +00:00
regress introduce a SOL_LOCAL for unix-domain socket level socket options 2021-08-08 20:54:48 +00:00
rescue smb is no more. 2020-04-04 17:57:16 +00:00
sbin s/Expceted/Expected/ in log message and s/attribtues/attributes/ in comment. 2022-02-12 23:50:14 +00:00
share s/APCI/ACPI/ 2022-02-13 23:28:58 +00:00
sys Revert "i915: Defer final wakeup on active until after retirement." 2022-02-15 18:14:18 +00:00
tests tests/indent: test token '(' 2022-02-13 12:04:37 +00:00
tools tools: allow tools to use C99 2022-02-03 20:32:38 +00:00
usr.bin Define becquerels in base units (like curies and rutherfords already are), 2022-02-15 16:21:35 +00:00
usr.sbin fix few typos in comments and log message. 2022-02-13 22:20:08 +00:00
BUILDING Rename: 2021-12-20 20:33:20 +00:00
Makefile G/c spurious whitespace. 2020-10-29 20:26:24 +00:00
Makefile.inc
README.md README: use https for man.NetBSD.org 2021-09-05 12:45:44 +00:00
UPDATING s/dissallow/disallow/ 2021-12-07 21:45:31 +00:00
build.sh Don't try to install netbsd-CONFIG.debug files build with kernel= 2021-12-31 15:43:35 +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