openbsd
7 months agoAllow zero-length identity response
yasuoka [Sun, 24 Mar 2024 00:05:01 +0000 (00:05 +0000)]
Allow zero-length identity response

ok tobhe

7 months agoIn kq_del(), delete matching EV_ADD entries to prevent libevent from
yasuoka [Sat, 23 Mar 2024 22:51:49 +0000 (22:51 +0000)]
In kq_del(), delete matching EV_ADD entries to prevent libevent from
passing both EV_ADD and EV_DELETE for the same fd to kevent().

ok visa

7 months agoreaddir_r(3) was never necessary and has been deprecated by POSIX.
guenther [Sat, 23 Mar 2024 16:30:01 +0000 (16:30 +0000)]
readdir_r(3) was never necessary and has been deprecated by POSIX.
Document that in the manpage and stop using it internally.

ok deraadt@ millert@ jmc@

7 months agoRecognise Meinberg PCI510, from Maurice Janssen
sthen [Sat, 23 Mar 2024 10:38:02 +0000 (10:38 +0000)]
Recognise Meinberg PCI510, from Maurice Janssen

7 months agosync
sthen [Sat, 23 Mar 2024 10:36:37 +0000 (10:36 +0000)]
sync

7 months agoAdd Meinberg PCI510, from Maurice Janssen
sthen [Sat, 23 Mar 2024 10:35:50 +0000 (10:35 +0000)]
Add Meinberg PCI510, from Maurice Janssen

7 months agoRemove unused flags and arg2 members from X509_TRUST
tb [Sat, 23 Mar 2024 06:38:01 +0000 (06:38 +0000)]
Remove unused flags and arg2 members from X509_TRUST

ok jsing

7 months agoRemove unused flags argument from the trust handlers
tb [Sat, 23 Mar 2024 06:37:15 +0000 (06:37 +0000)]
Remove unused flags argument from the trust handlers

The public X509_check_trust() takes a flag parameter which we must leave
in place. However, we can stop passing the flag parameter around without
ever looking at it.

ok jsing

7 months agoExpand ASN range for LACNIC
job [Sat, 23 Mar 2024 04:18:56 +0000 (04:18 +0000)]
Expand ASN range for LACNIC

LACNIC received a new block of ASNs from IANA
https://mail.lacnic.net/pipermail/lacnog/2024-March/009690.html

OK tb@

7 months agoFix main() definition.
mvs [Sat, 23 Mar 2024 01:35:57 +0000 (01:35 +0000)]
Fix main() definition.

7 months agoIncrease /usr/src partition to 2GB - 5GB
jan [Fri, 22 Mar 2024 21:49:52 +0000 (21:49 +0000)]
Increase /usr/src partition to 2GB - 5GB

ok miod@, deraadt@, otto@ and bluhm@

7 months agoRemove padding from union inpaddru.
bluhm [Fri, 22 Mar 2024 21:48:38 +0000 (21:48 +0000)]
Remove padding from union inpaddru.

Alignment of IPv4 address with lower part of IPv6 address looks
like a leftover from times when IPv6 compatible addresses should
contain IPv4 addreses.  Better use a simple union for both IPv4 and
IPv6 addresses like everywhere else.  Use this type also for common
zero address.

OK mvs@

7 months agoadd "-V none" to prevent making any backups
jcs [Fri, 22 Mar 2024 19:22:23 +0000 (19:22 +0000)]
add "-V none" to prevent making any backups

from FreeBSD

ok bluhm deraadt

7 months agoFix chroot(2) call in control process.
bluhm [Fri, 22 Mar 2024 19:14:28 +0000 (19:14 +0000)]
Fix chroot(2) call in control process.

Use /var/empty as chroot directory.  Call chroot(2) before setresuid(2).
Do the error check correctly.  Call chdir(2) after chroot(2).

from spiros thanasoulas; with florian@ tb@; OK millert@

7 months agoMake local port which is bound during connect(2) unique per laddr.
bluhm [Fri, 22 Mar 2024 18:05:01 +0000 (18:05 +0000)]
Make local port which is bound during connect(2) unique per laddr.

in_pcbconnect() did not pass down the address it got from in_pcbselsrc()
to in_pcbpickport().  As a consequence local port numbers selected
during connect(2) were globally unique although they belong to
different addresses.  This strict uniqueness is not necessary and
wastes usable ports for outgoing connections.

To solve this, pass ina from in_pcbconnect() to in_pcbbind_locked().
This does not interfere how wildcard sockets are matched with
specific sockets during bind(2).  It only allows non-wildcard sockets
to share a local port during connect(2).

OK mvs@ deraadt@

7 months agoUse sorflush() instead of direct unp_scan(..., unp_discard) to discard
mvs [Fri, 22 Mar 2024 17:34:11 +0000 (17:34 +0000)]
Use sorflush() instead of direct unp_scan(..., unp_discard) to discard
dead unix(4) sockets.

The difference in direct unp_scan() and sorflush() is the mbuf(9) chain.
For the first case it is still linked to the `so_rcv', for the second it
is not. This is required to make `sb_mtx' mutex(9) the only `so_rcv'
sockbuf protection and remove socket re-locking from the most of
uipc_*send() paths. The unlinked mbuf(9) chain doesn't require any
protection, so this allows to perform sleeping unp_discard() lockless.

Also, the mbuf(9) chain of the discarded socket still contains addresses
of file descriptors and it is much safer to unlink it before FRELE()
them. This is the reason to commit this diff standalone.

ok bluhm

7 months agoRework the cease shutdown reason to work in both directions by looking
claudio [Fri, 22 Mar 2024 15:41:34 +0000 (15:41 +0000)]
Rework the cease shutdown reason to work in both directions by looking
at the ibuf payload passed to log_notification().
Because of this move ibuf_get_string() and the log_notification() call
in parse_notification().
OK tb@

7 months agocorrect history of /dev/mem and /dev/kmem
jsg [Fri, 22 Mar 2024 12:29:33 +0000 (12:29 +0000)]
correct history of /dev/mem and /dev/kmem

The history section (added in CSRG) claimed both first appeared in v6.
Looking at the manuals in the TUHS archive, /dev/mem was in v1 and
/dev/kmem was introduced in v5.

ok jan@

7 months agoRework parse_notification() to use the ibuf API for everything.
claudio [Fri, 22 Mar 2024 07:19:28 +0000 (07:19 +0000)]
Rework parse_notification() to use the ibuf API for everything.

While there fix the RFC5492 handling of ERR_OPEN_CAPA (the current code
has the logic inversed). ERR_OPEN_CAPA is there to signal that a needed
capability is missing in our OPEN message. Just add the handling of
ERR_OPEN_CAPA to log_notification().

Also rework the handling of the shutdown reason and move the printing
into log_notification().

OK tb@

7 months agoLimit NFS connections to originate from a reserved port.
claudio [Fri, 22 Mar 2024 07:15:04 +0000 (07:15 +0000)]
Limit NFS connections to originate from a reserved port.

For TCP connections do the check when adding the socket via nfssvc(2).
For UDP do the check early after soreceive().
On top of this limit the sockets added via nfssvc(2) to IPv4 TCP and UDP
sockets.
OK millert@ deraadt@

7 months agoSimplify X509_STORE_free()
tb [Fri, 22 Mar 2024 06:24:54 +0000 (06:24 +0000)]
Simplify X509_STORE_free()

This had an inlined version of sk_pop_free(). We can just call it the
right way.

ok jsing

7 months agoaucat: Allow any device sample encoding.
ratchov [Fri, 22 Mar 2024 06:20:48 +0000 (06:20 +0000)]
aucat: Allow any device sample encoding.

If the device doesn't support the aucat internal encoding,
then setup a conversion layer instead of failing. This allows
aucat to be used for audio equipment testing/debugging
without involving the full sndiod processing chain.

7 months agoaucat: Add a bytes-per-sample argument to allcobuf()
ratchov [Fri, 22 Mar 2024 06:06:06 +0000 (06:06 +0000)]
aucat: Add a bytes-per-sample argument to allcobuf()

No behavior change.

7 months agopledge: Allow the AUDIO_GETDEV ioctl in "audio"
ratchov [Fri, 22 Mar 2024 05:54:25 +0000 (05:54 +0000)]
pledge: Allow the AUDIO_GETDEV ioctl in "audio"

ok deraadt, kn, phessler

7 months agoReplace protocol literal strings and strlen() calls with defined constants
job [Fri, 22 Mar 2024 03:38:12 +0000 (03:38 +0000)]
Replace protocol literal strings and strlen() calls with defined constants

OK tb@ claudio@

7 months agoNever bindings use the phy-handle property instead of the phy property.
patrick [Thu, 21 Mar 2024 23:12:33 +0000 (23:12 +0000)]
Never bindings use the phy-handle property instead of the phy property.

ok kettenis@

7 months agoAvoid redundant allocation in ikev2_prfplus()
tobhe [Thu, 21 Mar 2024 22:08:49 +0000 (22:08 +0000)]
Avoid redundant allocation in ikev2_prfplus()

from markus@

7 months agoFix white space. OK tobhe@
bluhm [Thu, 21 Mar 2024 16:46:04 +0000 (16:46 +0000)]
Fix white space.  OK tobhe@

7 months agoWrite padding character into the right position.
nicm [Thu, 21 Mar 2024 12:10:57 +0000 (12:10 +0000)]
Write padding character into the right position.

7 months agoReduce escape-time default to 10 milliseconds, 500 is far too long for
nicm [Thu, 21 Mar 2024 11:53:11 +0000 (11:53 +0000)]
Reduce escape-time default to 10 milliseconds, 500 is far too long for
modern terminals and networks. Case made by Kurtis Rader in GitHub issue
3844.

7 months agoAdd -M to always turn mouse on in a menu, GitHub issue 3779.
nicm [Thu, 21 Mar 2024 11:51:32 +0000 (11:51 +0000)]
Add -M to always turn mouse on in a menu, GitHub issue 3779.

7 months agoLook for feature code 21 for DECSLRM and 28 for DECFRA in the device
nicm [Thu, 21 Mar 2024 11:47:55 +0000 (11:47 +0000)]
Look for feature code 21 for DECSLRM and 28 for DECFRA in the device
attributes and also accept level 1 (there is no hardware with this but
some emulators may use it). Pointed out by James Holderness.

7 months agoUse -p for default paste-buffer command in buffer mode, it will only do
nicm [Thu, 21 Mar 2024 11:32:49 +0000 (11:32 +0000)]
Use -p for default paste-buffer command in buffer mode, it will only do
anything if the application asked for it. From Gregory Anders.

7 months agoDo not notify window-layout-changed if the window is about to be
nicm [Thu, 21 Mar 2024 11:30:42 +0000 (11:30 +0000)]
Do not notify window-layout-changed if the window is about to be
destroyed (since it may have been freed by the time the notify happens),
from Romain Francoise in GitHub issue 3860.

7 months agoRevert detach-client part of last, did not intend this to go in.
nicm [Thu, 21 Mar 2024 11:27:18 +0000 (11:27 +0000)]
Revert detach-client part of last, did not intend this to go in.

7 months agoDo not consider a selection present if it is empty, from Michael Grant
nicm [Thu, 21 Mar 2024 11:26:28 +0000 (11:26 +0000)]
Do not consider a selection present if it is empty, from Michael Grant
(GitHub issue 3869). Also a typo fix from GitHub issue 3877.

7 months agoDo not exit the master process if a client TCP connection fails to be
claudio [Thu, 21 Mar 2024 10:58:15 +0000 (10:58 +0000)]
Do not exit the master process if a client TCP connection fails to be
added.
OK millert@

7 months agoRemove now unused certificates (which are also soon to expire).
jsing [Thu, 21 Mar 2024 08:17:23 +0000 (08:17 +0000)]
Remove now unused certificates (which are also soon to expire).

7 months agoadd uao_read_to_iosys_map() alternative to shmem_read_to_iosys_map()
jsg [Thu, 21 Mar 2024 05:14:35 +0000 (05:14 +0000)]
add uao_read_to_iosys_map() alternative to shmem_read_to_iosys_map()

7 months agounstub intel_uc_fw_copy_rsa()
jsg [Thu, 21 Mar 2024 05:06:42 +0000 (05:06 +0000)]
unstub intel_uc_fw_copy_rsa()

7 months agomention that SR-IOV virtual functions work too
jmatthew [Thu, 21 Mar 2024 04:10:37 +0000 (04:10 +0000)]
mention that SR-IOV virtual functions work too

7 months agoClear spinner after each cycle
afresh1 [Thu, 21 Mar 2024 01:02:29 +0000 (01:02 +0000)]
Clear spinner after each cycle

Otherwise we can get left with a piece of the spinner if all firmware
gets updates and don't print a "kept" value.

While here, replace \010 with the ksh supported \b, as suggested by cheloha@

Noticed by deraadt@

7 months agoFix build with bitmap_copy() on i386 by adding const qualifier.
bluhm [Wed, 20 Mar 2024 22:52:44 +0000 (22:52 +0000)]
Fix build with bitmap_copy() on i386 by adding const qualifier.

OK jsg@

7 months agoRename the remaining pmod to mod
tb [Wed, 20 Mar 2024 22:11:07 +0000 (22:11 +0000)]
Rename the remaining pmod to mod

7 months agopmod -> mod in CONF_IMODULE
tb [Wed, 20 Mar 2024 22:08:22 +0000 (22:08 +0000)]
pmod -> mod in CONF_IMODULE

Hungarian notation occasionally helps, but only if it is done consistently.
Steve and consistency... cf e.g the last few commits. Accordingly,
Hensonian Hungarian notation is a complete disaster. Start cleaning this
mess up.

7 months agotmod -> mod
tb [Wed, 20 Mar 2024 21:53:57 +0000 (21:53 +0000)]
tmod -> mod

requested by jsing

7 months agomd -> imod for CONF_IMODULEs
tb [Wed, 20 Mar 2024 21:51:23 +0000 (21:51 +0000)]
md -> imod for CONF_IMODULEs

A CONF_IMODULE is neither an EVP_MD nor a CONF_MODULE, so call it imod
instead of md or mod.

7 months agomd -> mod for CONF_MODULEs
tb [Wed, 20 Mar 2024 21:49:00 +0000 (21:49 +0000)]
md -> mod for CONF_MODULEs

A CONF_MODULE is no EVP_MD, so call it mod instead of md.

7 months agoChange return type of module_add()
tb [Wed, 20 Mar 2024 21:41:09 +0000 (21:41 +0000)]
Change return type of module_add()

There is one caller of this function which returns module_add() != NULL.
Make the function return an int instead.

suggested by and ok jsing

7 months agoImplement imodule_free() and call it from module_finish()
tb [Wed, 20 Mar 2024 21:31:31 +0000 (21:31 +0000)]
Implement imodule_free() and call it from module_finish()

ok jsing

7 months agoMake module_free() NULL safe
tb [Wed, 20 Mar 2024 21:21:03 +0000 (21:21 +0000)]
Make module_free() NULL safe

ok jsing

7 months agofix ORCPT handling
op [Wed, 20 Mar 2024 17:52:43 +0000 (17:52 +0000)]
fix ORCPT handling

due to a swapped strlcpy() arguments we don't save the ORCPT argument
after validation.  There's no buffer overflow since dsn_orcpt is zeroed.
Spotted by Tassilo Philipp, thanks!

ok millert gilles

7 months agoUse the new certificates/chains in regress.
jsing [Wed, 20 Mar 2024 10:38:05 +0000 (10:38 +0000)]
Use the new certificates/chains in regress.

The new certificates are more representative of the real world. The old
certificates use weak algorithms and expire in the very near future. Most
of our regress has already been switched over, this changes the remainder.

Thanks to Bernhard M. Wiedemann for reminding us of the upcoming expiry.

ok tb@

7 months agoCleanup AID handling.
claudio [Wed, 20 Mar 2024 09:35:46 +0000 (09:35 +0000)]
Cleanup AID handling.

- Loops over all valid AID should start with AID_MIN and go up to AID_MAX - 1
   e.g. for (i = AID_MIN; i < AID_MAX; i++)
  If for some reason AID_UNSPEC must be handled make that explicit in the
  for loop.

- aid2afi() now returns an error for AID_UNSPEC since there is no valid
  AFI SAFI combo for AID_UNSPEC.

- Add additional checks for AID_MIN where currently only AID_MAX was checked.
  This affects imsg for route refresh and graceful restart.

- Simplify add-path capability handling. Only the negotiated add_path capa
  sets the flag for AID_UNSPEC to help code to quickly check if any add-path
  is active.

OK tb@

7 months agoRemove some else statements in if () else if () chains that don't need
claudio [Wed, 20 Mar 2024 09:26:42 +0000 (09:26 +0000)]
Remove some else statements in if () else if () chains that don't need
to be written this way. Makes the code more readable.
OK tb@

7 months agoaucat: Add generic channel mapping in place of -j and -c options.
ratchov [Wed, 20 Mar 2024 08:42:11 +0000 (08:42 +0000)]
aucat: Add generic channel mapping in place of -j and -c options.

The argument to the -m option specifies the source and destination
channel ranges to be mapped. Compatibility is maintained: if -m
is not used, the -c and -j options still work.

Help and suggestions from Jan Stary <hans@stare.cz>, thanks.

7 months agoremove i915_gem_object_map() removed in linux 5.10
jsg [Wed, 20 Mar 2024 06:11:41 +0000 (06:11 +0000)]
remove i915_gem_object_map() removed in linux 5.10

7 months agoswitch ggtt from agp_map to io_mapping
jsg [Wed, 20 Mar 2024 06:02:19 +0000 (06:02 +0000)]
switch ggtt from agp_map to io_mapping

reduces the diff to linux, no functional change

7 months agoadd io_mapping_map_atomic_wc()
jsg [Wed, 20 Mar 2024 05:44:19 +0000 (05:44 +0000)]
add io_mapping_map_atomic_wc()

7 months agoRun most of regress explicitly in filemode to avoid hitting location checks
job [Wed, 20 Mar 2024 04:39:10 +0000 (04:39 +0000)]
Run most of regress explicitly in filemode to avoid hitting location checks

with tb@

7 months agoCheck whether filename and SIA match
job [Wed, 20 Mar 2024 04:36:30 +0000 (04:36 +0000)]
Check whether filename and SIA match

Verify whether the filename as presented by the publication point (which
is unsigned information) matches the filename in the SIA attribute
(which is signed information). Based on RFC 6487 section 4.8.8.

with and OK tb@

7 months agounstub i915_ttm_io_mem_pfn()
jsg [Wed, 20 Mar 2024 04:28:39 +0000 (04:28 +0000)]
unstub i915_ttm_io_mem_pfn()

7 months agohandle ttm_sg_tt_init() not being called before ttm_tt_fini()
jsg [Wed, 20 Mar 2024 03:02:24 +0000 (03:02 +0000)]
handle ttm_sg_tt_init() not being called before ttm_tt_fini()

Check that dmamap and segs are non-NULL as not all drivers call
ttm_sg_tt_init().

7 months agounstub i915_ttm_memcpy_init() i915_ttm_move_memcpy()
jsg [Wed, 20 Mar 2024 03:00:21 +0000 (03:00 +0000)]
unstub i915_ttm_memcpy_init() i915_ttm_move_memcpy()

7 months agoinit bus_space tags in ttm struct
jsg [Wed, 20 Mar 2024 02:58:40 +0000 (02:58 +0000)]
init bus_space tags in ttm struct

7 months agoenable io_mapping paths for lmem
jsg [Wed, 20 Mar 2024 02:56:49 +0000 (02:56 +0000)]
enable io_mapping paths for lmem

7 months agounstub xehp_load_dss_mask()
jsg [Wed, 20 Mar 2024 02:54:40 +0000 (02:54 +0000)]
unstub xehp_load_dss_mask()

7 months agoadd bitmap_intersects() bitmap_from_arr32()
jsg [Wed, 20 Mar 2024 02:51:06 +0000 (02:51 +0000)]
add bitmap_intersects() bitmap_from_arr32()

7 months agounstub i915_gem_object_map_pfn()
jsg [Wed, 20 Mar 2024 02:48:20 +0000 (02:48 +0000)]
unstub i915_gem_object_map_pfn()

7 months agoadd replacements for io_mapping_init_wc() paths
jsg [Wed, 20 Mar 2024 02:47:24 +0000 (02:47 +0000)]
add replacements for io_mapping_init_wc() paths

7 months agostart implementing io_mapping
jsg [Wed, 20 Mar 2024 02:44:57 +0000 (02:44 +0000)]
start implementing io_mapping

7 months agoadd vmap_pfn()
jsg [Wed, 20 Mar 2024 02:42:17 +0000 (02:42 +0000)]
add vmap_pfn()

7 months agoin vga_get_uninterruptible() return early if behind a bridge
jsg [Wed, 20 Mar 2024 02:38:35 +0000 (02:38 +0000)]
in vga_get_uninterruptible() return early if behind a bridge

remove KASSERT() that triggered on dg2

7 months agoMove the OPENSSL_init() stub from o_init.c to crypto_init.c
tb [Tue, 19 Mar 2024 19:27:33 +0000 (19:27 +0000)]
Move the OPENSSL_init() stub from o_init.c to crypto_init.c

7 months agoRemove OPENSSL/CRYPTO_realloc documentation
tb [Tue, 19 Mar 2024 17:48:57 +0000 (17:48 +0000)]
Remove OPENSSL/CRYPTO_realloc documentation

7 months agoRemove X509_ALGOR_set_md() documentation
tb [Tue, 19 Mar 2024 17:34:05 +0000 (17:34 +0000)]
Remove X509_ALGOR_set_md() documentation

As far as LibreSSL is concerned, this terrible API is pushing up the
daisies.

7 months agoRename parent to issuer in struct auth
tb [Tue, 19 Mar 2024 05:04:13 +0000 (05:04 +0000)]
Rename parent to issuer in struct auth

Parent is confusing and issuer is the appropriate terminology. This is
a mechanical diff. The only remaining uses of 'parent' in this code
base now mean 'parent process'.

discussed with beck and job
ok job

7 months agocount if_enqueue/ifq_enqueue errors as oqdrops.
dlg [Tue, 19 Mar 2024 03:49:11 +0000 (03:49 +0000)]
count if_enqueue/ifq_enqueue errors as oqdrops.

this helps narrow down where some "output failures" on sec interfaces
occur.

based on discussion with jason tubnor

7 months agoImplement Spectre-V4 mitigations. The only real effect of this change is
kettenis [Mon, 18 Mar 2024 21:57:22 +0000 (21:57 +0000)]
Implement Spectre-V4 mitigations.  The only real effect of this change is
that we now make a firmware call to enable the mitigations if the
firmware tells us mitigations are implemented and needed.  But according
to the specification these mitigations should be enabled by default.
The open source TF-A implementation only implements mitigations for older
Cortex-A76 cores.  Newer Cortex-A76 revisions are not vulnerable and as
far as I can tell we only support SoCs with the newer cores.

ok patrick@

7 months agoPass PHY OF node to the MII layer for use by PHY drivers.
patrick [Mon, 18 Mar 2024 21:37:44 +0000 (21:37 +0000)]
Pass PHY OF node to the MII layer for use by PHY drivers.

7 months agoReduce dmesg spam and only print about resource conflicts for resources
kettenis [Mon, 18 Mar 2024 21:20:46 +0000 (21:20 +0000)]
Reduce dmesg spam and only print about resource conflicts for resources
that are actually enabled.

ok dlg@, deraadt@

7 months agoAdd support for the new layout of the CCSIDR_EL1 register that was
kettenis [Mon, 18 Mar 2024 18:35:21 +0000 (18:35 +0000)]
Add support for the new layout of the CCSIDR_EL1 register that was
introduced in Armv8.3 when the CCIDX feature is advertised.  This
makes us properly detect the cache size on newer CPU cores like
Neoverse N2, at least when emulated by QEMU.

ok jsg@

7 months agoTypecast char argument to isxdigit() to unsigned char since isxdigit()
claudio [Mon, 18 Mar 2024 14:54:52 +0000 (14:54 +0000)]
Typecast char argument to isxdigit() to unsigned char since isxdigit()
only works that way correctly.
OK deraadt@

7 months agoDouble PEER_DESCR_LEN to 64 characters since 32 is a bit on the short side.
claudio [Mon, 18 Mar 2024 10:49:24 +0000 (10:49 +0000)]
Double PEER_DESCR_LEN to 64 characters since 32 is a bit on the short side.
OK sthen@, deraadt@, dlg@, tb@

7 months agoUse same markup for origin-set arguments as for roa-set. The maxlen argument
claudio [Mon, 18 Mar 2024 10:16:50 +0000 (10:16 +0000)]
Use same markup for origin-set arguments as for roa-set. The maxlen argument
is optional.
OK tb@

7 months agofix markup of _PATH_DEFPATH (Li -> Dv); ok jmc
op [Mon, 18 Mar 2024 08:50:54 +0000 (08:50 +0000)]
fix markup of _PATH_DEFPATH (Li -> Dv); ok jmc

7 months agoimprove the MDA documentation
op [Mon, 18 Mar 2024 08:48:50 +0000 (08:48 +0000)]
improve the MDA documentation

 - add a pointer to the section when documenting the `mda' keyword
 - rename the section to MDA COMMANDS
 - document also what happens when the MDA doesn't exit with status 0
 - add the missing environment variables
 - sort the variables
 - minor other tweaks to the text

with several improvements from jmc, ok jmc

7 months agoexpose per port information via kstats.
dlg [Mon, 18 Mar 2024 06:14:50 +0000 (06:14 +0000)]
expose per port information via kstats.

the most interesting information exposed here is the number of times
a port changes state according to the lacp state machine. if a port
is flapping, it's hard to see if you only look at the current state.
getting a count of changes over time makes problems a lot more
visible and therefore fixable.

this also exposes counters around how the lacp protocol packets.
all of these can be useful when trying to line up behaviors with
another system (eg, a switch).

ok jmatthew@

7 months agouse high bits from the mbuf flowid to pick a port to transmit on.
dlg [Mon, 18 Mar 2024 06:05:23 +0000 (06:05 +0000)]
use high bits from the mbuf flowid to pick a port to transmit on.

a port here is a physical interface used by an aggr.

this leaves the low bits for a physical interface to use to pick a
tx ring. without this, aggr used low bits for port selection, which
takes bits away from the ring selection, which can lead to uneven
distribution of packets over tx rings.

ive been running this in production for well over a year now.

7 months agoDo UNP_CONNECTING and UNP_BINDING flags check in uipc_listen() and
mvs [Sun, 17 Mar 2024 19:47:08 +0000 (19:47 +0000)]
Do UNP_CONNECTING and UNP_BINDING flags check in uipc_listen() and
return EINVAL if set. This prevents concurrent solisten() thread to make
this socket listening while socket is unlocked.

Reported-by: syzbot+4acfcd73d15382a3e7cf@syzkaller.appspotmail.com
ok mpi

7 months agoThe feature is called SSBS instead of SBSS.
kettenis [Sun, 17 Mar 2024 13:05:40 +0000 (13:05 +0000)]
The feature is called SSBS instead of SBSS.

7 months agoAnnotate RSA-PSS SHA parameter encoding as wrong
tb [Sun, 17 Mar 2024 07:10:00 +0000 (07:10 +0000)]
Annotate RSA-PSS SHA parameter encoding as wrong

A historic blunderfest in the ASN.1 module for RSA-PSS led to very
confusing text in various RFCs. davidben and my current reading of
this is that parameters for SHA-* should be encoded as an ASN.1 NULL
rather than omitted. The use of X509_ALGOR_set_evp_md() leads to them
being omitted, and is therefore counter to the specification (but
allowed. We should fix this. For now, leave a reminder.

See https://boringssl-review.googlesource.com/c/boringssl/+/67088
for a lot more details.

ok davidben

7 months agoUse VERW to mitigate the RFDS (Register File Data Sampling) vulnerability
guenther [Sun, 17 Mar 2024 05:49:41 +0000 (05:49 +0000)]
Use VERW to mitigate the RFDS (Register File Data Sampling) vulnerability
present in Intel Atom CPUs, reordering some ASM in return-to-userspace and
start/resume-vmx-guest to reduce the number of kernel values still live in
registers when VERW is used.  This mitigation requires updated firmware which
has affected CPUs report RFDS_CLEAR in dmesg.

Firmware packaging by jsg@ and sthen@
Logic for interpreting intel's flags by jsg@ after lots of discussion
   between him, deraadt@, and I
ok deraadt@

7 months agoRemove unused enum rsc_resourceblock_tag
tb [Sun, 17 Mar 2024 01:44:59 +0000 (01:44 +0000)]
Remove unused enum rsc_resourceblock_tag

This was used in rsc.c prior to the switch to ASN.1 templates.

ok job

7 months agoSome PHYs need board-specific initializations, e.g. to correctly configure
patrick [Sun, 17 Mar 2024 00:06:43 +0000 (00:06 +0000)]
Some PHYs need board-specific initializations, e.g. to correctly configure
LED settings, which might be stored in the marvell,reg-init property.  With
these applied, the LEDs on the SolidRun ClearFog CN9130 Base work correctly.

ok kettenis@

7 months agoRemove ugly parens and thereby fix KNF
tb [Sat, 16 Mar 2024 21:42:20 +0000 (21:42 +0000)]
Remove ugly parens and thereby fix KNF

7 months agoSet the HCR_API and HCR_APK bits in the HCR_EL2 when CPUs boot in EL2.
kettenis [Sat, 16 Mar 2024 20:46:28 +0000 (20:46 +0000)]
Set the HCR_API and HCR_APK bits in the HCR_EL2 when CPUs boot in EL2.
Otherwise using PAC instructions in EL1 will trigger a trap into EL2
that we don't handle.

ok jsg@, deraadt@

7 months agoFix signed integer overflow in bnrand()
tb [Sat, 16 Mar 2024 20:42:33 +0000 (20:42 +0000)]
Fix signed integer overflow in bnrand()

If more bits than INT_MAX - 7 are requested, the calculation of number
of bytes required to store the bignum triggers undefined behavior due to
signed integer overflow. This will typically result in bytes becoming
negative which will then make malloc() fail. If the ulimit should be
high enough to make malloc() succeed, there is a bad out of bounds write
in case bottom is set (an odd number was requested).

On jsing's request this does not deal with another bug which we could
catch with a similar check due to BN_bn2bin() failing later on as the
number of words in a BIGNUM is some fraction of INT_MAX.

ok jsing

7 months agobtrace(8): cache ELF symbols in sorted array
cheloha [Sat, 16 Mar 2024 17:42:37 +0000 (17:42 +0000)]
btrace(8): cache ELF symbols in sorted array

Currently, every kelf_snprintsym() call performs a linear search
through the .symtab for a symbol matching the given PC.  The search is
expensive and seems to be a major source of dropped profiling events.

Storing all STT_FUNC .symtab entries and their names in a sorted array
cuts search time from O(n) to O(lg n).  In practice, the faster
lookups seem to dramatically reduce the profiling drop rate.

With tweaks from mpi@.

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

ok mpi@

7 months agorecognise Cortex-A520AE (Hayes AE), Cortex-A720AE (Hunter AE)
jsg [Sat, 16 Mar 2024 09:15:04 +0000 (09:15 +0000)]
recognise Cortex-A520AE (Hayes AE), Cortex-A720AE (Hunter AE)