openbsd
3 years agodelete reference to X11 README file which is no longer installed.
deraadt [Thu, 2 Sep 2021 10:39:32 +0000 (10:39 +0000)]
delete reference to X11 README file which is no longer installed.
from Raf Czlonka

3 years agoTypo in previous commit
mlarkin [Thu, 2 Sep 2021 10:18:27 +0000 (10:18 +0000)]
Typo in previous commit

3 years ago.Xr for aq(4) in pci(4) manpage
mlarkin [Thu, 2 Sep 2021 10:17:46 +0000 (10:17 +0000)]
.Xr for aq(4) in pci(4) manpage

3 years agoForgot the man page Makefile in the previous commit
mlarkin [Thu, 2 Sep 2021 10:12:20 +0000 (10:12 +0000)]
Forgot the man page Makefile in the previous commit

3 years agoaq(4) driver for Aquantia 1/2.5/5/10Gb/s PCIe ethernet adapters
mlarkin [Thu, 2 Sep 2021 10:11:21 +0000 (10:11 +0000)]
aq(4) driver for Aquantia 1/2.5/5/10Gb/s PCIe ethernet adapters

Adds support for Aquantia AQC1xx family of PCIe ethernet adapters. This
driver supports 1Gbps through 10Gbps modes of operation based on the
hardware and media/switch capabilities.

The initial code was ported from NetBSD, with jmatthew@ finishing up
the Tx/Rx ring support and interrupt handler routine.

The driver only supports devices using firmware V2.

This diff enables aq(4) on riscv64 and amd64, the only platforms where
I have tested the driver, but it likely works on other architectures
as well.

3 years agoDocument new %n syslog+abort behaviour, text mostly copied from printf.3
deraadt [Thu, 2 Sep 2021 09:50:38 +0000 (09:50 +0000)]
Document new %n syslog+abort behaviour, text mostly copied from printf.3

3 years agodelete %n using test cases, which now intentionally fault
deraadt [Thu, 2 Sep 2021 09:46:21 +0000 (09:46 +0000)]
delete %n using test cases, which now intentionally fault
spotted by anton

3 years agomove comment into correct place
deraadt [Thu, 2 Sep 2021 09:35:17 +0000 (09:35 +0000)]
move comment into correct place

3 years agobunch of err() should be errx()
deraadt [Thu, 2 Sep 2021 09:08:08 +0000 (09:08 +0000)]
bunch of err() should be errx()

3 years agoNo need to list foreign source code repository tags
job [Thu, 2 Sep 2021 08:52:10 +0000 (08:52 +0000)]
No need to list foreign source code repository tags

Feedback from deraadt@

3 years agoRFC 6066 section 8 allows the server MAY choose not send the CertificateStatus
beck [Thu, 2 Sep 2021 08:51:56 +0000 (08:51 +0000)]
RFC 6066 section 8 allows the server MAY choose not send the CertificateStatus
message, even if it has received a "status_request" extension in the client
hello message and has sent a "status_request" extention in the server hello
message.  Genua found a site that is this broken. This makes it work.

ok jsing@

3 years agoInitialize mutex to IPL_NONE.
mpi [Thu, 2 Sep 2021 08:48:22 +0000 (08:48 +0000)]
Initialize mutex to IPL_NONE.

ok kettenis@

3 years agorename rw locks to avoid ambiguity and verboseness
dv [Thu, 2 Sep 2021 07:19:53 +0000 (07:19 +0000)]
rename rw locks to avoid ambiguity and verboseness

Syzbot might complain about "new" panics, but to help debug a recent
report it helps to have unique rw lock names.

"sounds good to me" @mlarkin

3 years agoregress tests shouldn't set or modify MALLOC_OPTIONS unless they're actually very...
jasper [Thu, 2 Sep 2021 07:14:15 +0000 (07:14 +0000)]
regress tests shouldn't set or modify MALLOC_OPTIONS unless they're actually very specific behaviour

document this accordingly in the guidelines section of the manpage

ok bluhm@

3 years agoChange copying arguments to that flags without arguments are inserted
nicm [Thu, 2 Sep 2021 07:11:03 +0000 (07:11 +0000)]
Change copying arguments to that flags without arguments are inserted
correctly and empty arguments lists do not crash. Fixes crash reported
by & ok mpi@.

3 years agothis is not a section 3 man page anymore
deraadt [Thu, 2 Sep 2021 06:46:32 +0000 (06:46 +0000)]
this is not a section 3 man page anymore

3 years agosome functionality requires pledge "proc"
deraadt [Thu, 2 Sep 2021 06:23:32 +0000 (06:23 +0000)]
some functionality requires pledge "proc"

3 years agoAllow snmpd(8) to send SNMPv3 traps.
martijn [Thu, 2 Sep 2021 05:41:02 +0000 (05:41 +0000)]
Allow snmpd(8) to send SNMPv3 traps.

OK jmatthew@

3 years agoAdd the NetBSD source code repository tag back to help future historians
job [Wed, 1 Sep 2021 21:45:10 +0000 (21:45 +0000)]
Add the NetBSD source code repository tag back to help future historians

3 years agoFix overflow / underflow check by moving it up before the return
job [Wed, 1 Sep 2021 21:43:51 +0000 (21:43 +0000)]
Fix overflow / underflow check by moving it up before the return

Also rename 'end' to 'suffix' for readability.

OK beck@

3 years agoUpdate project tag line, shorten some err() calls
job [Wed, 1 Sep 2021 20:18:54 +0000 (20:18 +0000)]
Update project tag line, shorten some err() calls

3 years agoImprove editing GPT partition type GUID's by rejecting partition
krw [Wed, 1 Sep 2021 20:08:32 +0000 (20:08 +0000)]
Improve editing GPT partition type GUID's by rejecting partition
id's that have no associated GUID, rather than disabling the
partition.

If the current partition type is a GUID with no corresponding
partition id, display and use that GUID as the default value.

Less surprising behaviour all round.

3 years agosmall unused/initialization improvements
deraadt [Wed, 1 Sep 2021 20:03:43 +0000 (20:03 +0000)]
small unused/initialization improvements

3 years agorepair strtonum idiom and improve error messaging
deraadt [Wed, 1 Sep 2021 20:01:14 +0000 (20:01 +0000)]
repair strtonum idiom and improve error messaging
ok job

3 years agoEnable making timeout(1)
job [Wed, 1 Sep 2021 19:55:53 +0000 (19:55 +0000)]
Enable making timeout(1)

OK deraadt@

3 years agoStyle nits
job [Wed, 1 Sep 2021 19:54:34 +0000 (19:54 +0000)]
Style nits

Contribution from Anton Lindqvist

3 years agoconsider two files sharing the same inode identical
halex [Wed, 1 Sep 2021 18:16:52 +0000 (18:16 +0000)]
consider two files sharing the same inode identical

This gives a substantial speedup when comparing directory
structures with many hardlinked files, e.g. when using
rsnapshot for incremental backup.

ok stsp@ millert@

3 years agoremove unused macro;
jmc [Wed, 1 Sep 2021 17:47:33 +0000 (17:47 +0000)]
remove unused macro;

3 years agoCase h is pointless
job [Wed, 1 Sep 2021 16:12:38 +0000 (16:12 +0000)]
Case h is pointless

Feedback from deraadt@

3 years agoFix indenting
job [Wed, 1 Sep 2021 16:11:30 +0000 (16:11 +0000)]
Fix indenting

Feedback from deraadt@

3 years agoUse ttopen in tty drivers open functions as ttysleep string, as the others do.
jan [Wed, 1 Sep 2021 16:10:39 +0000 (16:10 +0000)]
Use ttopen in tty drivers open functions as ttysleep string, as the others do.

ok patrick@

3 years agoSimplify code by replacing strtol() with strtonum()
job [Wed, 1 Sep 2021 16:09:54 +0000 (16:09 +0000)]
Simplify code by replacing strtol() with strtonum()

Feedback from deraadt@

3 years agopledge() timeout
job [Wed, 1 Sep 2021 16:04:40 +0000 (16:04 +0000)]
pledge() timeout

Feedback from deraadt@

3 years agoRemove sysexits.h reference and improve usage string.
job [Wed, 1 Sep 2021 16:00:48 +0000 (16:00 +0000)]
Remove sysexits.h reference and improve usage string.

Feedback from deraadt@

3 years agoinet_ntop(3) needs sys/socket.h for AF_INET / AF_INET6 so add the header
claudio [Wed, 1 Sep 2021 15:59:22 +0000 (15:59 +0000)]
inet_ntop(3) needs sys/socket.h for AF_INET / AF_INET6 so add the header
to the list. While here remove some of the headers from inet_net_ntop(3)
for balance.

3 years agoA couple commands don't need sys/param.h, but they do need sys/signal.h
deraadt [Wed, 1 Sep 2021 15:54:40 +0000 (15:54 +0000)]
A couple commands don't need sys/param.h, but they do need sys/signal.h

3 years agoneither ktrace(2) or utrace(2) require a caller to pull sys/param.h
deraadt [Wed, 1 Sep 2021 15:51:45 +0000 (15:51 +0000)]
neither ktrace(2) or utrace(2) require a caller to pull sys/param.h

3 years agoImport timeout(1) from NetBSD
job [Wed, 1 Sep 2021 15:50:33 +0000 (15:50 +0000)]
Import timeout(1) from NetBSD

The timeout(1) utility can be used to run commands with a time limit.

OK deraadt@ beck@

3 years agoAdd client side support for DNS configuration. Use RTM_PROPOSAL_STATIC
tobhe [Wed, 1 Sep 2021 15:30:06 +0000 (15:30 +0000)]
Add client side support for DNS configuration. Use RTM_PROPOSAL_STATIC
route messages to propose the name server to resolvd(8).
For now, iked will only propose a single name server from the first
established connection.

Automatic name server configuration is enabled by default for policies using
the 'iface' option.

discussed with deraadt@
ok for the DNS parts florian@
ok for the rest patrick@

3 years agoLet rpki-client(8) inform bgpd(8) when RPKI VRPs will expire.
job [Wed, 1 Sep 2021 15:21:10 +0000 (15:21 +0000)]
Let rpki-client(8) inform bgpd(8) when RPKI VRPs will expire.

This will help prevent machines loading outdated roa-sets.

OK claudio@

3 years agoremove sys/param.h use (few small repairs)
deraadt [Wed, 1 Sep 2021 15:19:00 +0000 (15:19 +0000)]
remove sys/param.h use (few small repairs)

3 years agoClarify maxlen is optional in roa-set
job [Wed, 1 Sep 2021 15:06:47 +0000 (15:06 +0000)]
Clarify maxlen is optional in roa-set

OK claudio@

3 years agoAs a first step towards safe signal handling, improve the h_int()
schwarze [Wed, 1 Sep 2021 14:28:15 +0000 (14:28 +0000)]
As a first step towards safe signal handling, improve the h_int()
and h_winch() signal handlers to make one single store to a
sig_atomic_t variable.  Note that the h_hup() and h_term() signal
handlers are still unsafe after this commit because they also set
the "killersig" (how fitting!) field in a global struct.

Despite storing information in static global variables rather than
in structs passed around as arguments, this patch does not cause a
change in behaviour because there is always exactly one GS object,
initialized using gs_init() called from the top of main(), and
screen_init() stores a pointer to this one and only GS object in
the .gp member of each and every SCR object.  Talk about useless
abstraction...

Problem pointed out by deraadt@.
Patch from Tim <trondd at kagu hyphen tsuchi dot com> on tech@.
OK deraadt@.

3 years agoPrevent lock ordering issue by raising ipl level of vcpu_pool to IPL_MPFLOOR.
mpi [Wed, 1 Sep 2021 14:03:24 +0000 (14:03 +0000)]
Prevent lock ordering issue by raising ipl level of vcpu_pool to IPL_MPFLOOR.

Reported-by: syzbot+c8905496cd61610f77e2@syzkaller.appspotmail.com
ok mlarkin@

3 years agocomment out the detailed description of SSL_get_servername(3),
schwarze [Wed, 1 Sep 2021 13:56:03 +0000 (13:56 +0000)]
comment out the detailed description of SSL_get_servername(3),
leaving only the basic description in the RETURN VALUES section;
tb@ pointed out LibreSSL does not currently provide all those guarantees,
and he also OK'ed this diff

3 years agoAdd lfence after ret in retpoline thunk.
mortimer [Wed, 1 Sep 2021 13:37:14 +0000 (13:37 +0000)]
Add lfence after ret in retpoline thunk.

Recommended by AMD white paper Software Techniques for Managing
Speculation on AMD Processors (9.17.20) mitigation V2-1.

Pointed out by bluhm@. ok bluhm@ kettenis@

3 years agoRergression for printing a @map after calling clear().
mpi [Wed, 1 Sep 2021 13:22:36 +0000 (13:22 +0000)]
Rergression for printing a @map after calling clear().

Adapted from a test case generated by AFL++.

ok jasper@

3 years agoHandle the case where map/hist can be read after calling clear().
mpi [Wed, 1 Sep 2021 13:21:24 +0000 (13:21 +0000)]
Handle the case where map/hist can be read after calling clear().

Fix a NULL-derference found by jasper@ with AFL++ (port coming soon!).

ok jasper@

3 years agoImplement roa-set data expiry. Every prefix in a roa-set can specify an
claudio [Wed, 1 Sep 2021 12:39:52 +0000 (12:39 +0000)]
Implement roa-set data expiry. Every prefix in a roa-set can specify an
optional expires timestamp. The rtr process is walking the roa-set every
5min and removes every prefix that is expired.
With this stale RPKI data will slowly disapear and not linger around.
OK job@

3 years agoRPKI only cares about *.{cer,crl,gbr,mft,roa} files. Use rsync --include
claudio [Wed, 1 Sep 2021 12:26:26 +0000 (12:26 +0000)]
RPKI only cares about *.{cer,crl,gbr,mft,roa} files. Use rsync --include
and --exclude to only fetch those files from the CA repositories.
OK job@

3 years agoremove unused functions and cleanup vmd.h
dv [Wed, 1 Sep 2021 11:08:21 +0000 (11:08 +0000)]
remove unused functions and cleanup vmd.h

Discussed with mlarkin@. These functions were implemented but never
used. While in vmd.h, fix the order to match current vmd(8) reality.

3 years agoAdd support for the more rare volume usage which differs compared to the
anton [Wed, 1 Sep 2021 10:41:39 +0000 (10:41 +0000)]
Add support for the more rare volume usage which differs compared to the
more common volume increment/decrement usages in which each volume
change direction is represented using a distinct usage. The volume usage
instead uses bits of the interrupt buffer to represent the wanted
volume. The same bits should be within the bounds given by the logical
min/max associated with the HID item. However, the volume is not
interpreted as an absolute value but rather just looking at the sign bit
in order to determine the volume change direction.

I couldn't find any documentation of this usage and the implementation is
therefore solely based on analysing actual data from Richard Toohey's
<richardjtoohey at gmail dot com> Dell keyboard.

3 years agoRename ucc_bits_to_usage() to ucc_bits_to_int() as it's about to be used
anton [Wed, 1 Sep 2021 10:40:19 +0000 (10:40 +0000)]
Rename ucc_bits_to_usage() to ucc_bits_to_int() as it's about to be used
in more than one context.

3 years agoOlder AMD CPUs that do not support IBRS need an lfence after ret
bluhm [Wed, 1 Sep 2021 09:50:21 +0000 (09:50 +0000)]
Older AMD CPUs that do not support IBRS need an lfence after ret
to stop speculation.  This seems to be necessary when the branch
predictor hits the ret for the first time.  In their white paper
to mitigate speculation attacks, AMD's retpoline example has an
explicit lfence.  Adjust our retpoline assembly macro in the kernel.
OK guenther@ mortimer@ deraadt@

3 years agoRemove from0 support. openrsync will not implement all bad ideas that
claudio [Wed, 1 Sep 2021 09:48:08 +0000 (09:48 +0000)]
Remove from0 support. openrsync will not implement all bad ideas that
were added to rsync. from0 is one of those and really not needed.
OK job@

3 years agoRemove assignment of value that is never read.
beck [Wed, 1 Sep 2021 09:42:28 +0000 (09:42 +0000)]
Remove assignment of value that is never read.

ok tb@

3 years agoFix bad logic I introduced before commit.
claudio [Wed, 1 Sep 2021 09:39:14 +0000 (09:39 +0000)]
Fix bad logic I introduced before commit.
Found by job@

3 years agollvm: Use Component in OpenBSD::getCompilerRT to find libraries
gnezdo [Wed, 1 Sep 2021 09:34:53 +0000 (09:34 +0000)]
llvm: Use Component in OpenBSD::getCompilerRT to find libraries

Clang uses runtime libraries for some advanced features like
sanitizers. Different systems have different preferences about file
placement. OpenBSD with this change would use this name for ASan:
/usr/lib/clang/11.1.0/lib/libclang_rt.asan.a

So far, no libraries are shipped, only their eventual location is chosen.

Discussed with deraadt@ and kettenis@, OK mortimer@

3 years agoRemove dead poweroff functions, as they not appear in other
jan [Wed, 1 Sep 2021 09:29:31 +0000 (09:29 +0000)]
Remove dead poweroff functions, as they not appear in other
serial drivers.

ok patrick@

3 years agoremove manual fiddling with MALLOC_OPTIONS from libc regress tests
jasper [Wed, 1 Sep 2021 09:26:32 +0000 (09:26 +0000)]
remove manual fiddling with MALLOC_OPTIONS from libc regress tests

these options should be set globally (sysctl) when running regress as opposed to having
individual tests set it, barring a few specific exceptions.

ok bluhm@

3 years agoDocument the http_proxy environment variable
claudio [Wed, 1 Sep 2021 08:17:37 +0000 (08:17 +0000)]
Document the http_proxy environment variable

3 years agoquietly attempt mounting of /var/log early, in case someone creates such
deraadt [Wed, 1 Sep 2021 08:15:53 +0000 (08:15 +0000)]
quietly attempt mounting of /var/log early, in case someone creates such
a partition to avoid /var overflow issues
ok benno beck

3 years agoAdd a regression test to verify that we call the callback in the same
beck [Wed, 1 Sep 2021 08:12:15 +0000 (08:12 +0000)]
Add a regression test to verify that we call the callback in the same
order on success for both the legacy and the new verifier, This avoids
problems as seen in perl's regression tests for some of the crazy things
net:ssleay does.

This is currently marked as expected to fail, it will be expected to
succeed after a forthcoming commit from me.

3 years agoAdd http_proxy support to rpki-client's http handler.
claudio [Wed, 1 Sep 2021 08:09:41 +0000 (08:09 +0000)]
Add http_proxy support to rpki-client's http handler.
OK tb@

3 years agoImitate how free(3) behaves and make map_clear() works on NULL map.
mpi [Wed, 1 Sep 2021 08:06:49 +0000 (08:06 +0000)]
Imitate how free(3) behaves and make map_clear() works on NULL map.

3 years agoAlways print non-empty map & hist on exit even if there's an END rule.
mpi [Wed, 1 Sep 2021 08:01:09 +0000 (08:01 +0000)]
Always print non-empty map & hist on exit even if there's an END rule.

Match bpftrace behavior.

3 years agoSupport for insert pid/tid/cpu builtins in map/hist.
mpi [Wed, 1 Sep 2021 07:35:21 +0000 (07:35 +0000)]
Support for insert pid/tid/cpu builtins in map/hist.

3 years agoFix ssh-rsa fallback for old PuTTY interop tests.
dtucker [Wed, 1 Sep 2021 03:16:06 +0000 (03:16 +0000)]
Fix ssh-rsa fallback for old PuTTY interop tests.

3 years agoAdd a function to skip remaining tests. Many tests skip tests for
dtucker [Wed, 1 Sep 2021 00:50:27 +0000 (00:50 +0000)]
Add a function to skip remaining tests.  Many tests skip tests for
various reasons but not in a consistent way and don't always clean
up, so add that and switch the tests that do that over.

3 years agoHonour netinet6 when generating symlinks to tags files
kn [Tue, 31 Aug 2021 23:53:42 +0000 (23:53 +0000)]
Honour netinet6 when generating symlinks to tags files

"make tags" needs "make links" to have tags available in subdirectories and
netinet6 has been missing all the time.

OK tb

3 years agoMake include bsd.prog.mk is supporting PROGS for a while. Allow
bluhm [Tue, 31 Aug 2021 23:33:05 +0000 (23:33 +0000)]
Make include bsd.prog.mk is supporting PROGS for a while.  Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@

3 years agoImplement suspend/resume for bwfm(4) with PCIe backend. We try to send the
patrick [Tue, 31 Aug 2021 23:05:11 +0000 (23:05 +0000)]
Implement suspend/resume for bwfm(4) with PCIe backend.  We try to send the
device into D3 and do a hot-resume if possible.  Otherwise we need to clean
up the resources to allow complete HW re-initialization to take place.

3 years agoregen
jmatthew [Tue, 31 Aug 2021 22:56:24 +0000 (22:56 +0000)]
regen

3 years agoAdd Aquantia USB ethernet devices
jmatthew [Tue, 31 Aug 2021 22:55:56 +0000 (22:55 +0000)]
Add Aquantia USB ethernet devices

from Brad originally

3 years agoClean up the list of chips upon detach and mark us uninitialized.
patrick [Tue, 31 Aug 2021 21:46:00 +0000 (21:46 +0000)]
Clean up the list of chips upon detach and mark us uninitialized.

3 years agoProperly deallocate some more structures upon detach, and make sure we're
patrick [Tue, 31 Aug 2021 21:13:24 +0000 (21:13 +0000)]
Properly deallocate some more structures upon detach, and make sure we're
not considered initialized anymore.

3 years agoInitialize some struct variables to make sure that upon reinit, caused by
patrick [Tue, 31 Aug 2021 21:02:09 +0000 (21:02 +0000)]
Initialize some struct variables to make sure that upon reinit, caused by
a suspend/resume cycle, the values are set to a sane default.

3 years agoInitialize ring read/write pointers to make sure that upon reinit, caused
patrick [Tue, 31 Aug 2021 20:58:51 +0000 (20:58 +0000)]
Initialize ring read/write pointers to make sure that upon reinit, caused
by a suspend/resume cycle, the pointers are set to a sane default.

3 years agoAdjust .Bl width
kn [Tue, 31 Aug 2021 20:28:45 +0000 (20:28 +0000)]
Adjust .Bl width

3 years agoSay autoconf not dhcp
kn [Tue, 31 Aug 2021 20:18:03 +0000 (20:18 +0000)]
Say autoconf not dhcp

Do not abuse "dhcp" to say "DHCP and SLAAC".
unwind.conf(5) does so but unwindctl(8) does not;  in fact, the latter
already has `status autoconf' to
    Show nameservers learned from dhclient(8), dhcpleased(8) or slaacd(8).

Adjust unwind's config manual and internal code accordingly;  still accept
the old keyword but do not document it.

hostname.if(5) already advises for `inet[6] autoconf' instead of `dhcp' and
other related daemons don't abuse the word "dhcp" like unwind does.

Feedback sthen
OK florian

3 years agoRemove some dead code that was missed in an earlier cleanup and
tb [Tue, 31 Aug 2021 20:14:40 +0000 (20:14 +0000)]
Remove some dead code that was missed in an earlier cleanup and
fix a stale comment.

Found by mortimer with clang 13's -Wunused-but-set-variable.

ok beck

3 years agoMake includes follow style(9).
florian [Tue, 31 Aug 2021 18:12:47 +0000 (18:12 +0000)]
Make includes follow style(9).

3 years agovmm(4): add ipi for vmclear, unlock kernel
dv [Tue, 31 Aug 2021 17:40:59 +0000 (17:40 +0000)]
vmm(4): add ipi for vmclear, unlock kernel

On Intel VMX hosts, when a guest migrates cpus, VMCS state needs
to be flushed to physical memory before being reloaded on the new
cpu. This diff adds a new ipi to allow a guest resuming on a new
cpu to signal to the old that it needs to vmclear.

To better surface the potential race conditions, unlock the kernel
after handling the ioctl to vmm and simplify the run loops for both
vmx and svm. This requires a new vcpu lock.

Tested by some on tech@. "go for it" @mlarkin

3 years agoOnly use the i8254 delay code if we are specifically using the i8254 as
patrick [Tue, 31 Aug 2021 15:53:36 +0000 (15:53 +0000)]
Only use the i8254 delay code if we are specifically using the i8254 as
delay func.  Otherwise simply delay for a second to calibrate the LAPIC.
Install the lapic delay func only if we were using the i8254 before as
delay func.

Discussed with the hackroom
ok kettenis@

3 years agoIdentify the paravirtual bus earlier, as we need to make sure that we have
patrick [Tue, 31 Aug 2021 15:52:59 +0000 (15:52 +0000)]
Identify the paravirtual bus earlier, as we need to make sure that we have
a working delay func ready before the first occurence of delay().  This is
necessary on Hyper-V Gen 2 VMs where we don't use the TSC.

Discussed with the hackroom
ok kettenis@

3 years agoWhen running on Hyper-V, make use of its timecounter as delay func in case
patrick [Tue, 31 Aug 2021 15:52:10 +0000 (15:52 +0000)]
When running on Hyper-V, make use of its timecounter as delay func in case
we're still using the i8254 for that.  On Hyper-V Gen 2 VMs there is no
i8254 we can trust, so we need some kind of fallback, especially if there
is no TSC either.

Discussed with the hackroom
ok kettenis@

3 years agoaplpinctrl(4)
kettenis [Tue, 31 Aug 2021 15:37:40 +0000 (15:37 +0000)]
aplpinctrl(4)

3 years agoSwap lock flags so that LK_EXCLUSIVE is first like in all other places.
claudio [Tue, 31 Aug 2021 15:31:28 +0000 (15:31 +0000)]
Swap lock flags so that LK_EXCLUSIVE is first like in all other places.

3 years agoDo pinctrl stuff.
kettenis [Tue, 31 Aug 2021 15:21:19 +0000 (15:21 +0000)]
Do pinctrl stuff.

ok patrick@

3 years agoAdd aplpinctrl(4), a driver for the Apple GPIO controller found on M1 SoCs.
kettenis [Tue, 31 Aug 2021 15:20:06 +0000 (15:20 +0000)]
Add aplpinctrl(4), a driver for the Apple GPIO controller found on M1 SoCs.

ok patrick@

3 years agomemset the pfds array in the poll loop and not only at the start.
claudio [Tue, 31 Aug 2021 15:18:53 +0000 (15:18 +0000)]
memset the pfds array in the poll loop and not only at the start.

3 years agoUse the TSC delay(9) backend earlier on machines where we can. Also use
kettenis [Tue, 31 Aug 2021 15:11:54 +0000 (15:11 +0000)]
Use the TSC delay(9) backend earlier on machines where we can.  Also use
the TSC for delays even if there is a skew between the TSCs of the cores
as this doesn't matter for delay(9).

Gets rid of te unreasonable clock speed reports on Intel Tiget Lake CPUs
where the i8254 behaves in weird ways.

ok patrick@, deraadt@, mlarkin@

3 years agoprinting the hibernate image size in MB is easier on the eyes
deraadt [Tue, 31 Aug 2021 14:45:25 +0000 (14:45 +0000)]
printing the hibernate image size in MB is easier on the eyes
ok mlarkin

3 years agoAdd "machine sysregs" command to DDB
mlarkin [Tue, 31 Aug 2021 14:37:49 +0000 (14:37 +0000)]
Add "machine sysregs" command to DDB

From Alex Wilson, Thanks!

3 years agoDefragment DTLS.
jsing [Tue, 31 Aug 2021 13:34:55 +0000 (13:34 +0000)]
Defragment DTLS.

In normal TLS, it is possible for record fragments to be sent that contain
one byte of alert or handshake message payload. In this case we have to
read and collate multiple message fragments before we can decide what to
do with the record.

However, in the case of DTLS, one record is effectively one packet and
while it is possible to send handshake messages across multiple
records/packets, the minimum payload is the DTLS handshake message header
(plus one byte of data if the handshake message has a payload) - without
this, there is insufficient information available to be able to reassemble
the handshake message. Likewise, splitting an alert across multiple DTLS
records simply does not work, as we have no way of knowing if we're
collating the same alert or two different alerts that we lost half of each
from (unfortunately, these details are not really specified in the DTLS
RFC).

This means that for DTLS we can expect to receive a full alert message
(a whole two bytes) or a handshake record with at least the handshake
message header (12 bytes). If we receive messages with less than these
lengths we discard them and carry on (which is what the DTLS code already
does).

Remove all of the pointless fragment handling code from DTLS, while also
fixing an issue where one case used rr->data instead of the handshake
fragment.

ok inoguchi@ tb@

3 years agoFix use of wrong pointer argument when freeing firmware paging info in iwx(4).
stsp [Tue, 31 Aug 2021 13:19:32 +0000 (13:19 +0000)]
Fix use of wrong pointer argument when freeing firmware paging info in iwx(4).

Found by mpi@ and gnezdo@
ok gnezdo@

3 years agoMake "relayctl reload" when agentx enabling is toggled in relayd.conf work
martijn [Tue, 31 Aug 2021 13:19:29 +0000 (13:19 +0000)]
Make "relayctl reload" when agentx enabling is toggled in relayd.conf work
consistently.

OK benno@

3 years agoRemove a nonsensical s->version == TLS1_VERSION from DTLS code.
jsing [Tue, 31 Aug 2021 13:14:43 +0000 (13:14 +0000)]
Remove a nonsensical s->version == TLS1_VERSION from DTLS code.

ok inoguchi@ tb@ (as part of a larger diff)

3 years ago'if' tests.
mpi [Tue, 31 Aug 2021 12:51:56 +0000 (12:51 +0000)]
'if' tests.

3 years agoBasic test, if (no else atm), support with a single statement.
mpi [Tue, 31 Aug 2021 12:51:24 +0000 (12:51 +0000)]
Basic test, if (no else atm), support with a single statement.