openbsd
2 years agoAdd a third state "all" to allow-passthrough to work even in invisible
nicm [Tue, 2 Aug 2022 11:09:26 +0000 (11:09 +0000)]
Add a third state "all" to allow-passthrough to work even in invisible
panes, from Sergei Grechanik in GitHub issue 3274.

2 years agosome ports bootstraps, and go internals, need a bit more time to adapt
deraadt [Tue, 2 Aug 2022 11:04:25 +0000 (11:04 +0000)]
some ports bootstraps, and go internals, need a bit more time to adapt
to the padded syscalls going away.

2 years agoReorganize the tests that require custom command line options
schwarze [Tue, 2 Aug 2022 10:59:51 +0000 (10:59 +0000)]
Reorganize the tests that require custom command line options
such that they don't abort the whole test suite if one of them fails.

2 years agoFix validation of missing percentage arguments.
nicm [Tue, 2 Aug 2022 09:23:34 +0000 (09:23 +0000)]
Fix validation of missing percentage arguments.

2 years agoshamelessly missed to unveil(_PATH_BSHELL, "x") which is required to run the
mestre [Tue, 2 Aug 2022 09:07:34 +0000 (09:07 +0000)]
shamelessly missed to unveil(_PATH_BSHELL, "x") which is required to run the
commands inside usbhidaction(1)'s `conf' file.

reported and fix tested by Hector Velasco < tech ! ogroth . com >

2 years ago-u is no longer equivalent to -TUTF-8 so don't say it is.
nicm [Tue, 2 Aug 2022 08:57:01 +0000 (08:57 +0000)]
-u is no longer equivalent to -TUTF-8 so don't say it is.

2 years agoExpand BLOCK_CIPHER_* macros.
jsing [Tue, 2 Aug 2022 07:51:37 +0000 (07:51 +0000)]
Expand BLOCK_CIPHER_* macros.

As a first step towards untangling and cleaning up the EVP AES code, expand
the BLOCK_CIPHER_* macros. In particular, rather than having two sets of
macros - one that is used if AESNI is being compiled in and one if it is
not, condition on #ifdef AESNI_CAPABLE in the expanded code.

ok tb@

2 years agomatch on Intel 600 Series LP
jsg [Tue, 2 Aug 2022 05:38:17 +0000 (05:38 +0000)]
match on Intel 600 Series LP

2 years agoregen
jsg [Tue, 2 Aug 2022 05:35:34 +0000 (05:35 +0000)]
regen

2 years agoadd more Intel Alder Lake / 600 Series LP ids
jsg [Tue, 2 Aug 2022 05:35:01 +0000 (05:35 +0000)]
add more Intel Alder Lake / 600 Series LP ids

from:
12th Generation Intel Core Processors
Datasheet, Volume 1 of 2, Doc. No.: 655258, Rev.: 008

Intel 600 Series Chipset Family On-Package Platform Controller Hub
Datasheet, Volume 1 of 2, Doc. No.: 691222, Rev.: 002

and SanDisk SN850 while here

2 years agoaccess(2) alarm(2) pause(2) were not ported from pwb to v7
jsg [Tue, 2 Aug 2022 01:23:23 +0000 (01:23 +0000)]
access(2) alarm(2) pause(2) were not ported from pwb to v7

Alan Glasser describes the incident that led to access(2) in
https://minnie.tuhs.org/pipermail/tuhs/2021-November/024657.html

access(2) alarm(2) pause(2) were also part of the "50 changes" tape

post v6 "50 bugs" / "diff tape" / "50 fixes" tape (Salus QCU, pp 138-139)
"fifty changes" tape
https://www.oreilly.com/openbook/opensources/book/kirkmck.html

"50 changes"
https://archive.org/details/unix_news_november-1976

tuhs/Applications/Spencer_Tapes/unsw3.tar.gz
usr/sys/v6unix/changenotes

45) The "access()" system call checks access permissions on the real
id's of the process regardless of the effective ones.  Doesn't return
stats, just does an internal "access()" to set u.u_error.

48) "alarm()" and "pause()" system calls are in to provide a user-mode
timeout capability.

with and ok schwarze@

2 years agoAllocate memory for collection translation tables for hardware that needs
kettenis [Mon, 1 Aug 2022 20:48:19 +0000 (20:48 +0000)]
Allocate memory for collection translation tables for hardware that needs
it.

ok patrick@

2 years agoFix bogus indent. NFC
miod [Mon, 1 Aug 2022 20:35:25 +0000 (20:35 +0000)]
Fix bogus indent. NFC

2 years agodrm/amd/display: Fix wrong format specifier in amdgpu_dm.c
jsg [Mon, 1 Aug 2022 16:18:53 +0000 (16:18 +0000)]
drm/amd/display: Fix wrong format specifier in amdgpu_dm.c

From Hayden Goodfellow
c6e4817ab622f526d6afe9e02c6d85b177b3e846 in linux 5.15.y/5.15.58
655c167edc8c260b6df08bdcfaca8afde0efbeb6 in mainline linux

2 years agodrm/amdgpu: Off by one in dm_dmub_outbox1_low_irq()
jsg [Mon, 1 Aug 2022 16:17:17 +0000 (16:17 +0000)]
drm/amdgpu: Off by one in dm_dmub_outbox1_low_irq()

From Dan Carpenter
ec9ec3bc08b18c5b1b2feafd306ea7c348013898 in linux 5.15.y/5.15.58
a35faec3db0e13aac8ea720bc1a3503081dd5a3d in mainline linux

2 years agodrm/amd/display: invalid parameter check in dmub_hpd_callback
jsg [Mon, 1 Aug 2022 16:15:38 +0000 (16:15 +0000)]
drm/amd/display: invalid parameter check in dmub_hpd_callback

From Jose Exposito
f85a6046f7718f11c6ad015a0ba25d897194b1ac in linux 5.15.y/5.15.58
978ffac878fd64039f95798b15b430032d2d89d5 in mainline linux

2 years agodrm/amd/display: Don't lock connection_mutex for DMUB HPD
jsg [Mon, 1 Aug 2022 16:13:29 +0000 (16:13 +0000)]
drm/amd/display: Don't lock connection_mutex for DMUB HPD

From Nicholas Kazlauskas
760fe32034931a8c97c773edef2f1b7c7346f43a in linux 5.15.y/5.15.58
d82b3266ef88dc10fe0e7031b2bd8ba7eedb7e59 in mainline linux

2 years agodrm/amd/display: Fix surface optimization regression on Carrizo
jsg [Mon, 1 Aug 2022 16:11:08 +0000 (16:11 +0000)]
drm/amd/display: Fix surface optimization regression on Carrizo

From Nicholas Kazlauskas
c2b484d784c8dfc3eb62fd4f9ff11515b6e78e19 in linux 5.15.y/5.15.58
62e5a7e2333a9f5395f6a9db766b7b06c949fe7a in mainline linux

2 years agodrm/amd/display: Optimize bandwidth on following fast update
jsg [Mon, 1 Aug 2022 16:08:58 +0000 (16:08 +0000)]
drm/amd/display: Optimize bandwidth on following fast update

From Nicholas Kazlauskas
9581511948582a0ed8da03fb91d2ab658087283d in linux 5.15.y/5.15.58
34316c1e561db0b24e341029f04a5a5bead9a7bc in mainline linux

2 years agodrm/amd/display: Reset DMCUB before HW init
jsg [Mon, 1 Aug 2022 16:06:06 +0000 (16:06 +0000)]
drm/amd/display: Reset DMCUB before HW init

From Nicholas Kazlauskas
b3f16976b9ed7afafa2caf12ef5539fafc34d48d in linux 5.15.y/5.15.58
791255ca9fbe38042cfd55df5deb116dc11fef18 in mainline linux

2 years agodrm/amd/display: Ignore First MST Sideband Message Return Error
jsg [Mon, 1 Aug 2022 16:04:24 +0000 (16:04 +0000)]
drm/amd/display: Ignore First MST Sideband Message Return Error

From Fangzhi Zuo
c7720f23bb93628f30f16d033eaefbe2540f1b5e in linux 5.15.y/5.15.58
acea108fa067d140bd155161a79b1fcd967f4137 in mainline linux

2 years agodrm/amdgpu/display: add quirk handling for stutter mode
jsg [Mon, 1 Aug 2022 16:01:50 +0000 (16:01 +0000)]
drm/amdgpu/display: add quirk handling for stutter mode

From Alex Deucher
8bae037b0fb429466fed1585440f337396d72efa in linux 5.15.y/5.15.58
3ce51649cdf23ab463494df2bd6d1e9529ebdc6a in mainline linux

2 years agodrm/amd/display: Fork thread to offload work of hpd_rx_irq
jsg [Mon, 1 Aug 2022 16:00:11 +0000 (16:00 +0000)]
drm/amd/display: Fork thread to offload work of hpd_rx_irq

From Wayne Lin
e980e1d978e0eb4c0399cff37f175779237db53b in linux 5.15.y/5.15.58
8e794421bc981586d0af4e959ec76d668c793a55 in mainline linux

2 years agodrm/amd/display: Add option to defer works of hpd_rx_irq
jsg [Mon, 1 Aug 2022 15:56:16 +0000 (15:56 +0000)]
drm/amd/display: Add option to defer works of hpd_rx_irq

From Wayne Lin
54740bc4b182c2522c6570c3fb0b96a912982bf3 in linux 5.15.y/5.15.58
410ad92d7fecd30de7456c19e326e272c2153ff2 in mainline linux

2 years agodrm/amd/display: Support for DMUB HPD interrupt handling
jsg [Mon, 1 Aug 2022 15:53:58 +0000 (15:53 +0000)]
drm/amd/display: Support for DMUB HPD interrupt handling

From Jude Shih
734d5ce02cb069cccedc993d8f1dc0ea41cfa3dd in linux 5.15.y/5.15.58
e27c41d5b0681c597ac1894f4e02cf626e062250 in mainline linux

2 years agosync
deraadt [Mon, 1 Aug 2022 14:57:19 +0000 (14:57 +0000)]
sync

2 years agosome ports bootstraps, and go internals, need a bit more time to adapt
deraadt [Mon, 1 Aug 2022 14:56:59 +0000 (14:56 +0000)]
some ports bootstraps, and go internals, need a bit more time to adapt
to the padded syscalls going away.

2 years agoIntroduce and use uvm_pagewait() where PG_WANTED is set.
mpi [Mon, 1 Aug 2022 14:15:46 +0000 (14:15 +0000)]
Introduce and use uvm_pagewait() where PG_WANTED is set.

No change in behavior.

ok kn@, semarie@, kettenis@

2 years agoRaise "staff" login class datasize-cur on arm64 to the value of amd64.
stsp [Mon, 1 Aug 2022 12:17:30 +0000 (12:17 +0000)]
Raise "staff" login class datasize-cur on arm64 to the value of amd64.
Values for other login classes defined in this file match amd64 already.

ok millert, tb, deraadt

2 years agoavoid double-free in error path introduced in r1.70;
djm [Mon, 1 Aug 2022 11:09:26 +0000 (11:09 +0000)]
avoid double-free in error path introduced in r1.70;
report and fix based on GHPR#332 by v-rzh
ok dtucker@

2 years agoKNF
kettenis [Mon, 1 Aug 2022 09:50:02 +0000 (09:50 +0000)]
KNF

2 years agolibc string functions were not ported from pwb to v7
jsg [Mon, 1 Aug 2022 00:04:46 +0000 (00:04 +0000)]
libc string functions were not ported from pwb to v7

https://minnie.tuhs.org/pipermail/tuhs/2017-August/011807.html

ok schwarze@

2 years agostrlen was in v6 libc (s5/perror.c) but not documented till v7
jsg [Sun, 31 Jul 2022 14:50:32 +0000 (14:50 +0000)]
strlen was in v6 libc (s5/perror.c) but not documented till v7
ok schwarze@

2 years agoTidy up some of BN_nist_mod_*
jsing [Sun, 31 Jul 2022 14:38:38 +0000 (14:38 +0000)]
Tidy up some of BN_nist_mod_*

Shuffle variables around for consistency, also ensuring appropriate and
consistent initialisation.

ok tb@

2 years agoThe geometry information in stuct disklabel is not used for
krw [Sun, 31 Jul 2022 14:29:19 +0000 (14:29 +0000)]
The geometry information in stuct disklabel is not used for
anything. Allowing modifications to it or displaying whatever
geometry was in use when the label was created leads to needless
inconsistency with the kernel and with the values displayed by,
e.g., fdisk(8).

Always set label fields d_secsize, d_nsectors, d_ntracks,
d_secpercyl, d_ncylinders to the current values used by the
kernel, obtained via DIOCGPDINFO. Ignore any values from the
on-disk label or the file -R uses.

Nuke editor command 'g' and restrict editor command 'e' to
changing d_type and d_packname.

2 years agofix indent
tb [Sun, 31 Jul 2022 13:41:45 +0000 (13:41 +0000)]
fix indent

2 years agotypo
denis [Sun, 31 Jul 2022 12:55:31 +0000 (12:55 +0000)]
typo

2 years agoAllow a NULL header in PEM_write{,_bio}()
tb [Sun, 31 Jul 2022 09:48:27 +0000 (09:48 +0000)]
Allow a NULL header in PEM_write{,_bio}()

When PEM_write{,_bio}() were documented by Rich Salz and Richard Levitte,
it was incorrectly stated that the header argument is allowed to be NULL.
This was never true.  Instead of fixing the documentation, it was decided
that the API needs a fix, so pull in a variant of OpenSSL 3b9082c8.

ok jsing

2 years agoAdd LWN in Gyumri, Shirak Region, Armenia
kn [Sun, 31 Jul 2022 06:12:20 +0000 (06:12 +0000)]
Add LWN in Gyumri, Shirak Region, Armenia

Armenian: Շիրակ Միջազգային Օդանավակայան
Russian:  Аеропорт Ширак

It has exactly one terminal and the small cafe area inside seems bigger than
the check-in area.

2 years agoRandomise the rekey interval a little. Previously, the chacha20
djm [Sun, 31 Jul 2022 05:10:36 +0000 (05:10 +0000)]
Randomise the rekey interval a little. Previously, the chacha20
instance would be rekeyed every 1.6MB. This makes it happen at a
random point somewhere in the 1-2MB range.

Feedback deraadt@ visa@, ok tb@ visa@

2 years agoReplace selwakeup() with KNOTE() in audio(4)
visa [Sun, 31 Jul 2022 03:31:36 +0000 (03:31 +0000)]
Replace selwakeup() with KNOTE() in audio(4)

KNOTE() is safe to use at IPL_AUDIO. Remove the now-unnecessary
deferring that uses soft interrupts.

Remove selwakeup() calls from audio_detach() because klist_invalidate()
wakes up any remaining kevent/poll/select waiters.

OK mpi@

2 years agoPOSIX 2008 TC2 requires <inttypes.h> to provide wchar_t
guenther [Sun, 31 Jul 2022 01:27:31 +0000 (01:27 +0000)]
POSIX 2008 TC2 requires <inttypes.h> to provide wchar_t

ok kettenis@ espie@

2 years agoNow that we have proper .text and .data sections we need to move dt_blob to
patrick [Sat, 30 Jul 2022 21:06:54 +0000 (21:06 +0000)]
Now that we have proper .text and .data sections we need to move dt_blob to
.data.  dt_blob is a basic device tree that is populated from ACPI tables
when booting with ACPI instead of DT.  Since we're modifying its content we
need to put it somewhere writeable.

Found and proposed by mlarkin@
ok kettenis@ mlarkin@

2 years agosync
sthen [Sat, 30 Jul 2022 20:21:45 +0000 (20:21 +0000)]
sync

2 years agoUse named initialisers for BIGNUMs.
jsing [Sat, 30 Jul 2022 18:03:36 +0000 (18:03 +0000)]
Use named initialisers for BIGNUMs.

Also move the _bignum_nist_p_.*_sqr static BIGNUMs out of individual
functions.

ok tb@

2 years agoKill virtual address randomization for the EFI runtime. It was a neat idea
kettenis [Sat, 30 Jul 2022 17:56:54 +0000 (17:56 +0000)]
Kill virtual address randomization for the EFI runtime.  It was a neat idea
but it appears to be too fragile and now that we are using a 48-bit VA space
for the EFI runtime we no longer need to call SetVirtualAddressMap() to
make address fit into our pmap.  Unbreaks the x13s.

ok mlarkin@, patrick@

2 years agoUntangle two logic chains in x509_asid.c into something more readable.
tb [Sat, 30 Jul 2022 17:50:17 +0000 (17:50 +0000)]
Untangle two logic chains in x509_asid.c into something more readable.

ok jsing

2 years agoupdate copyright years
tb [Sat, 30 Jul 2022 17:26:01 +0000 (17:26 +0000)]
update copyright years

2 years agoReorder functions and remove unnecessary function prototypes.
jsing [Sat, 30 Jul 2022 17:11:38 +0000 (17:11 +0000)]
Reorder functions and remove unnecessary function prototypes.

2 years agoUpdate copyright for additional/new code.
jsing [Sat, 30 Jul 2022 17:09:45 +0000 (17:09 +0000)]
Update copyright for additional/new code.

2 years agorewrite was in Tahoe
jsg [Sat, 30 Jul 2022 16:42:08 +0000 (16:42 +0000)]
rewrite was in Tahoe
ok cheloha@

2 years agoProvide additional AEAD test cases.
jsing [Sat, 30 Jul 2022 16:40:23 +0000 (16:40 +0000)]
Provide additional AEAD test cases.

Bring in additional AEAD test cases from BoringSSL.

This provides additional coverage for AES-{128,192,256}-GCM, as well as
Chacha20-Poly1305 and XChaCha20-Poly1305.

Discussed with tb@

2 years agoAdd EVP_aes_192_gcm() as a known AEAD.
jsing [Sat, 30 Jul 2022 16:31:41 +0000 (16:31 +0000)]
Add EVP_aes_192_gcm() as a known AEAD.

2 years agoAllow the AEAD to be specified for a test file.
jsing [Sat, 30 Jul 2022 16:30:42 +0000 (16:30 +0000)]
Allow the AEAD to be specified for a test file.

Currently, this must be specified per test - allow it to be given as a
command line argument that applies to the entire test file.

2 years agoRun AEAD tests against EVP_CIPHER implementations.
jsing [Sat, 30 Jul 2022 16:17:22 +0000 (16:17 +0000)]
Run AEAD tests against EVP_CIPHER implementations.

In addition to running AEAD tests against the EVP_AEAD implementation, also
run them against the EVP_CIPHER implementation where applicable.

This is a perfect example of why EVP_AEAD exists and why EVP_CIPHER is
completely unsuited for use with AEADs...

2 years agoAllow quoted ASCII strings as input for AEAD regress.
jsing [Sat, 30 Jul 2022 16:12:40 +0000 (16:12 +0000)]
Allow quoted ASCII strings as input for AEAD regress.

Currently, each line in the text file is expected to be string of
hexadecimal digits. In addition to this, allow a line to be given as an
quoted ASCII string.

2 years agosleep.1: miscellaneous rewrites, cleanup
cheloha [Sat, 30 Jul 2022 15:57:35 +0000 (15:57 +0000)]
sleep.1: miscellaneous rewrites, cleanup

Description

- "for a minimum of" is better said "for at least".

- The seconds argument can be zero, so say "non-negative".

- Specify that the number (the whole thing) is decimal to exclude
  e.g. hex numbers.  It then follows that the optional fraction
  must also be decimal.

- No need to inspire the reader to use sleep(1) in any particular way.
  It is probably sufficient to demonstrate these patterns in the Examples
  section later.

Asynchronous Events

- Note that SIGALRM wakes sleep(1) up "early".

Examples

- Simplify the first example.  Parenthetically pointing the reader to
  at(1) muddies what is otherwise a trivial example.  We can still point
  the reader to at(1) in the See Also section later.

- Shorten the interval in the first example.  A half hour is not
  interactive.

- Get rid of the entire csh(1) example.  It's extremely complex and
  the bulk of the text is spent explaining things that aren't about
  sleep(1) at all.

- Tweak the third example to show the reader that you can sleep
  for a fraction of a second, as mentioned in the Description.

Standards

- Prefer active voice.

  "The handling of fractional arguments" is better said
  "Support for fractional seconds".

  Shorten "is provided as" to "is".

History

- Not merely "appeared": "first appeared".

- Note that sleep(1) was reimplemented for 4.4BSD.

Thread: https://marc.info/?l=openbsd-tech&m=165888826603953&w=2

Lots of nice tweaks from jmc@.  Typo spotted by Crystal Kolipe.

ok jmc@

2 years agoSort includes.
jsing [Sat, 30 Jul 2022 14:49:15 +0000 (14:49 +0000)]
Sort includes.

2 years agoLess #ifndef OPENSSL_NO_*
jsing [Sat, 30 Jul 2022 14:24:33 +0000 (14:24 +0000)]
Less #ifndef OPENSSL_NO_*

We're not going to be compiling without AES or CHACHA/POLY1305 anytime
soon.

2 years agovmctl create accepts exactly one argument
kn [Sat, 30 Jul 2022 14:17:42 +0000 (14:17 +0000)]
vmctl create accepts exactly one argument

Make "vmctl create -s3G 1.img 2.img" fail instead of just creating 1.img
and ignoring 2.img.

OK dv cheloha

2 years agoFix build without intagp
kn [Sat, 30 Jul 2022 14:15:20 +0000 (14:15 +0000)]
Fix build without intagp

Pull inteldrm_refcnt out of NINTAGP > 0, otherwise it remains undefined but
still used in inteldrm_attachhook().

OK jsg

2 years agoFix comment formatting.
jsing [Sat, 30 Jul 2022 14:09:00 +0000 (14:09 +0000)]
Fix comment formatting.

2 years agoSwitch to ISC license.
jsing [Sat, 30 Jul 2022 14:06:36 +0000 (14:06 +0000)]
Switch to ISC license.

Use Google's ISC license for this code - this was originally being
upstreamed to OpenSSL by Adam Langley, however it was never actually
accepted and eventually ended up in BoringSSL (via commit dfe3053086).
The same change was made a long time ago for evp/evp_aead.c and others.

2 years agoAdd stack frames to AES-NI x86_64 assembly.
jsing [Sat, 30 Jul 2022 13:51:31 +0000 (13:51 +0000)]
Add stack frames to AES-NI x86_64 assembly.

The current AES-NI x86_64 assembly does some strange, although valid
things, such as making internal function calls without creating stack
frames. In this case, the return address lands in the red zone (which it
allows for when making use of the stack) and everything works as expected.

However, this trips a false positive in valgrind, which seems to think that
any data saved on the stack prior to the internal function call is now
"undefined" once the function returns.

Avoid this by actually using stack frames - this brings in most of
6a40ebe86b4 from OpenSSL, omitting the unnecessary explicit stack alignment
(which was apparently added so this code could be used in the Linux kernel
with an incorrectly aligned stack).

Valgrind issue reported by Steffen Jaeckel (@sjaeckel), found via
libstrophe unit tests.

ok tb@

2 years agoUse ASN1_INTEGER to encode/decode BIGNUM_it.
jsing [Sat, 30 Jul 2022 13:42:25 +0000 (13:42 +0000)]
Use ASN1_INTEGER to encode/decode BIGNUM_it.

The current code simply shoves the unvalidated ASN.1 bytes into a BIGNUM on
the hope that other things will detect issues (such as negative values
being flipped to positive). Instead of doing this, decode and validate the
ASN.1 data using ASN1_INTEGER, then convert it to a BIGNUM. Similarly, for
encoding convert from BIGNUM to ASN1_INTEGER and use ASN1_INTEGER encoding.

ok tb@

2 years agoProvide and use a primitive clear function for BIGNUM_it.
jsing [Sat, 30 Jul 2022 13:37:17 +0000 (13:37 +0000)]
Provide and use a primitive clear function for BIGNUM_it.

Also tidy up bn_new() while here.

ok tb@

2 years agoEliminate the somewhat pointless Ij variable
tb [Sat, 30 Jul 2022 11:27:06 +0000 (11:27 +0000)]
Eliminate the somewhat pointless Ij variable

Requested by & ok jsing

2 years agoTransform two || chains into individually checked functions
tb [Sat, 30 Jul 2022 11:24:52 +0000 (11:24 +0000)]
Transform two || chains into individually checked functions

Requested by and ok jsing

2 years agowe mention interim BSD releases so change some 4.4BSD use to 4.3BSD-Reno
jsg [Sat, 30 Jul 2022 07:19:30 +0000 (07:19 +0000)]
we mention interim BSD releases so change some 4.4BSD use to 4.3BSD-Reno
ok jmc@ schwarze@

2 years agoGive to PE/COFF file proper .text and .data sections, and fill in the
kettenis [Fri, 29 Jul 2022 21:34:59 +0000 (21:34 +0000)]
Give to PE/COFF file proper .text and .data sections, and fill in the
characteristics field in the COFF header.  Makes our bootloader work in the
x13s.  With help from mlarkin@.

ok mlarkin@

2 years agoMention id(1) -R, reference rtable(4) in route(8)
kn [Fri, 29 Jul 2022 18:28:32 +0000 (18:28 +0000)]
Mention id(1) -R, reference rtable(4) in route(8)

Fix "ps -o rtable" example description while here.

Initial idea to mention id -R in route(8) from sthen
Feedback OK sthen

2 years agoReplace the swap extent(9) usage by a blist data structure.
semarie [Fri, 29 Jul 2022 17:47:11 +0000 (17:47 +0000)]
Replace the swap extent(9) usage by a blist data structure.

It makes uvm_swap_free() faster: extents have a cost of O(n*n) which doesn't
really scale with gigabytes of swap.

Based on initial work from mpi@
The blist implementation comes from DragonFlyBSD.

The diff adds also a ddb(4) 'show swap' command to show the blist and help
debugging, and fix some off-by-one in size printed during hibernate.

ok mpi@

2 years agoImprove the HISTORY sections of glob(7) and glob(3).
schwarze [Fri, 29 Jul 2022 17:34:07 +0000 (17:34 +0000)]
Improve the HISTORY sections of glob(7) and glob(3).

1. Make /etc/glob history less wordy and more precise: it was already in v1.

2. Remove the incorrect statement that the Bourne shell first integrated
globbing.  The PWB shell already did that in mid-1975, i.e. a least a few
months before Stephen R. Bourne started working on his shell, and the PWB
shell was publicly released with PWB/UNIX 1.0 about two years before v7.
For details, see
https://sjmulder.nl/dl/tuhs/Documentation/AUUGN/AUUGN-V06.6.pdf p. 39-40
OCR repost: https://groups.google.com/g/alt.folklore.computers/c/xW3ZgEnFoFs

From: mash@mips.UUCP (John Mashey)
Newsgroups: net.unix-wizards
Subject: Re: Shell history, true facts, but long
Date: 18 Mar 86 09:05:12 GMT
[...]
3) The "PWB Shell" first appeared in mid-1975.
[...]
4) The Bourne shell work started either in early 1976, or maybe late 1975.
[...]

In "The UNIX Shell", Stephen R. Bourne says:
"The design of the shell is based in part on the original UNIX shell
and the PWB/UNIX shell, some features having been taken from both."

3. Avoid the confusing statement that the glob() function first appeared
in 4.4BSD.  Actually, the PWB shell, the Bourne shell (in v7), the first
UCB shell (in 1BSD), and the C shell (in 2BSD) all contained internal
functions either called "glob()" or at least containing "glob" as a part
of their function name.

4. Be more precise regarding when the current functions first appeared:
they were already in Reno.

Joint work with and OK jsg@.
Feedback and OK jmc@.

2 years agodon't leave user guessing after latest "no need to update"
espie [Fri, 29 Jul 2022 14:26:45 +0000 (14:26 +0000)]
don't leave user guessing after latest "no need to update"
show a "processing" message when we're actually grabbing data
(often from the net). This should be really quick in most cases,
but sometimes, it might take minutes (like for texlive), so that
we know what's going on.

2 years agoMention that ttyflags needs to be run to update per-device flags.
millert [Fri, 29 Jul 2022 13:56:36 +0000 (13:56 +0000)]
Mention that ttyflags needs to be run to update per-device flags.
Also includes some minor cleanup inspired by the NetBSD version.
OK jmc@ sthen@

2 years agoHaving a perfect square at this point is not an error. Rather it is
tb [Fri, 29 Jul 2022 08:37:33 +0000 (08:37 +0000)]
Having a perfect square at this point is not an error. Rather it is
a shortcut bypassing expensive computation, so change goto err to
goto done. Bug introduced in last refactoring before commit.

2 years agoTweak some comments and whitespace around comments
tb [Fri, 29 Jul 2022 08:32:20 +0000 (08:32 +0000)]
Tweak some comments and whitespace around comments

2 years agoAllocate if_index before queue init
visa [Fri, 29 Jul 2022 08:23:40 +0000 (08:23 +0000)]
Allocate if_index before queue init

Allocate the index of a new network interface early so that the index
is available when the interface's queues are set up. This avoids
unintended concentration on net_tq(0).

Replace the kernel lock with an rwlock to serialize index map updates.
The kernel lock is not reliable here because the memory allocation
can sleep.

Also, correct the "too many interfaces" condition because the valid
index range is from 1 to USHRT_MAX.

OK bluhm@

2 years agoIn the kernel exist functions to print routes, but they were not
bluhm [Thu, 28 Jul 2022 22:19:09 +0000 (22:19 +0000)]
In the kernel exist functions to print routes, but they were not
accessible from ddb.  Implement "show all routes" to print routing
tables, and "show route 0xfffffd807e9b0000" for a single route
entry.  Note that the rtable id is not part of a route entry, so
it makes no sense to print it there.
OK deraadt@

2 years agoChecking the fragment flags of an incoming IP packet does not need
bluhm [Thu, 28 Jul 2022 22:05:39 +0000 (22:05 +0000)]
Checking the fragment flags of an incoming IP packet does not need
the mutex for the fragment list.  Move this code before the critical
section.  Use ISSET() to make clear which flags are checked.
OK mvs@

2 years agoAdd a second test to validate the tables in the library.
tb [Thu, 28 Jul 2022 20:06:01 +0000 (20:06 +0000)]
Add a second test to validate the tables in the library.

2 years agoOnly attempt to set the yp domainname if not yet set; gets rid of an error
miod [Thu, 28 Jul 2022 16:06:04 +0000 (16:06 +0000)]
Only attempt to set the yp domainname if not yet set; gets rid of an error
message at shutdown.

tweaks & ok deraadt@

2 years agoFix RFC number in comment
tb [Thu, 28 Jul 2022 16:03:19 +0000 (16:03 +0000)]
Fix RFC number in comment

2 years agoRework kroute_remove(), it uses a struct kroute_full and does most of
claudio [Thu, 28 Jul 2022 14:05:13 +0000 (14:05 +0000)]
Rework kroute_remove(), it uses a struct kroute_full and does most of
the work internally. Removes a bunch of duplicated code and simplifies
code further.
Input and OK tb@

2 years agowhitespace found during a read-thru; ok claudio
deraadt [Thu, 28 Jul 2022 13:11:48 +0000 (13:11 +0000)]
whitespace found during a read-thru; ok claudio

2 years agoZap prototypes for nonexistent nd6_setmtu() and in6_ifdel()
kn [Thu, 28 Jul 2022 13:11:44 +0000 (13:11 +0000)]
Zap prototypes for nonexistent nd6_setmtu() and in6_ifdel()

Removed in 2015 and 2002, respectively.

OK claudio

2 years agoZap outdated nd6_free() comment about static
kn [Thu, 28 Jul 2022 13:10:37 +0000 (13:10 +0000)]
Zap outdated nd6_free() comment about static

Added in 2002 r1.48 "sync with latest KAME [...]" along the attribute,
but nd6_free() became a global void function in 2017 r1.212.

Afaik static kernel functions are avoided to aid ddb'ugging and I
presume the "significant changes in the kernel" bits of the comment stem
from something 20 years ago no longer holding true today.

Afterall, this change has been safe for five years.

OK claudio

2 years agoRelease PF und NET lock before calling copyin for DIOCXCOMMIT.
mbuhl [Thu, 28 Jul 2022 12:27:29 +0000 (12:27 +0000)]
Release PF und NET lock before calling copyin for DIOCXCOMMIT.
OK sashan, bluhm

2 years agoRemove F_DOWN, it is no longer used and reshuffle the other flags a bit
claudio [Thu, 28 Jul 2022 10:41:18 +0000 (10:41 +0000)]
Remove F_DOWN, it is no longer used and reshuffle the other flags a bit
to group them a bit better.
OK tb@

2 years agoAdjust bgpctl show fib output.
claudio [Thu, 28 Jul 2022 10:40:25 +0000 (10:40 +0000)]
Adjust bgpctl show fib output.

Remove F_DOWN from flags since kroutes can no longer be marked down.
Also clean up the flag printing code and printf() and increase the size
of destionation and gateway so that more IPv6 addrs fit.

OK tb@

2 years agosynch with reality
espie [Thu, 28 Jul 2022 09:09:43 +0000 (09:09 +0000)]
synch with reality

2 years agoRemove bogus mtw_read_cfg.
kevlo [Thu, 28 Jul 2022 00:56:02 +0000 (00:56 +0000)]
Remove bogus mtw_read_cfg.

ok hastings@

2 years agoPlace ypldap with ypserv, inside the $domainname check, since it also
deraadt [Wed, 27 Jul 2022 23:06:50 +0000 (23:06 +0000)]
Place ypldap with ypserv, inside the $domainname check, since it also
has the same requirement.

2 years agoRevert _RuneLocale struct changes until mklocale reacharound
guenther [Wed, 27 Jul 2022 22:24:26 +0000 (22:24 +0000)]
Revert _RuneLocale struct changes until mklocale reacharound
can be untangled.

Problem noted by tb@

2 years agoPostpone calling the EFI SetVirtualAddressMap() interface until efi(4)
kettenis [Wed, 27 Jul 2022 21:01:38 +0000 (21:01 +0000)]
Postpone calling the EFI SetVirtualAddressMap() interface until efi(4)
attaches.  This prevents us from having to map the various EFI memory regions
early on.  These early mappings use 1G blocks.  On Apple M1 systems, these
blocks may overlap memory that isn't accessable.  The CPU may speculatively
access this inaccessable memory which will result in SError exceptions.

ok deraadt@

2 years agoSupport "empty" phandles in interrups-extended properties. This is needed
kettenis [Wed, 27 Jul 2022 20:26:17 +0000 (20:26 +0000)]
Support "empty" phandles in interrups-extended properties.  This is needed
to support the device tree binding for the "apple,admac" controller.

ok visa@, patrick@

2 years agoPartially catch up with device tree bindings in mainline Linux.
kettenis [Wed, 27 Jul 2022 20:18:46 +0000 (20:18 +0000)]
Partially catch up with device tree bindings in mainline Linux.
Initialize the burst size register such that DMA channels that haven't
been initialized by Apple's bootloader also work.

ok patrick@

2 years agoSince we only do US-ASCII and UTF-8, several parts of the locale
guenther [Wed, 27 Jul 2022 20:00:11 +0000 (20:00 +0000)]
Since we only do US-ASCII and UTF-8, several parts of the locale
data are unused and unnecessary, so delete them: rl_tabs, rl_magic,
rl_encoding, and rl_invalid_rune.

ok schwarze@

2 years agoPrint poll(2) errno
kn [Wed, 27 Jul 2022 19:42:22 +0000 (19:42 +0000)]
Print poll(2) errno

Distinguish between return values -1 (errno set) and 0.

OK kettenis

2 years agoAdjust a comment to reflect reality, minor code tweaks.
tb [Wed, 27 Jul 2022 19:22:45 +0000 (19:22 +0000)]
Adjust a comment to reflect reality, minor code tweaks.