openbsd
18 months agoUnbreak vmm on Intel. Mistakenly enabled CET on non-CET systems.
dv [Wed, 26 Apr 2023 09:39:56 +0000 (09:39 +0000)]
Unbreak vmm on Intel. Mistakenly enabled CET on non-CET systems.

Found by anton@ & jsg@

18 months agoSome more EC2M cleanup
tb [Wed, 26 Apr 2023 09:31:12 +0000 (09:31 +0000)]
Some more EC2M cleanup

18 months agoRotate the console in amdgpu when there is an orientation quirk.
bentley [Wed, 26 Apr 2023 09:19:47 +0000 (09:19 +0000)]
Rotate the console in amdgpu when there is an orientation quirk.

ok jsg@

18 months agoGarbage collect test using the nseq command
tb [Wed, 26 Apr 2023 09:07:59 +0000 (09:07 +0000)]
Garbage collect test using the nseq command

reminded by anton

18 months agoRename dercache regress test to x509_asn1
job [Wed, 26 Apr 2023 08:58:03 +0000 (08:58 +0000)]
Rename dercache regress test to x509_asn1

Requested by jsing@

18 months agoFix typo in comment: default scalue values -> default scale values
bentley [Wed, 26 Apr 2023 08:38:51 +0000 (08:38 +0000)]
Fix typo in comment: default scalue values -> default scale values

18 months agoRemove e_old.c again
tb [Wed, 26 Apr 2023 08:25:37 +0000 (08:25 +0000)]
Remove e_old.c again

Also remove nonexistent symbols #defined to other symbols that confuse
some linkers in -portable.

This commit entails no ABI change on OpenBSD.

Discussed with jsing

18 months agoDeclare sendsyslog to match its man page
gnezdo [Wed, 26 Apr 2023 06:52:45 +0000 (06:52 +0000)]
Declare sendsyslog to match its man page

This simplifies syzkaller revival after the removal of __syscall.

OK bluhm, millert, deraadt

18 months agoAdd parent to nvgre in ifconfig.8.
asou [Wed, 26 Apr 2023 02:38:08 +0000 (02:38 +0000)]
Add parent to nvgre in ifconfig.8.

ok david@

18 months agoCheck for ProxyJump=none in CanonicalizeHostname logic.
djm [Wed, 26 Apr 2023 01:36:03 +0000 (01:36 +0000)]
Check for ProxyJump=none in CanonicalizeHostname logic.

Previously ssh would incorrectly refuse to canonicalise the hostname
if ProxyJump was explicitly set to "none" when CanonicalizeHostname=yes

bz3567; ok dtucker

18 months agoAlso set TSO flag on vlan interfaces.
jan [Wed, 26 Apr 2023 00:14:21 +0000 (00:14 +0000)]
Also set TSO flag on vlan interfaces.

with tweaks from bluhm, claudio and dlg

I fine with it from claudio
looks good to me from dlg

ok bluhm

18 months agoReinstate e_old.c it is still used by -portable
tb [Tue, 25 Apr 2023 23:16:31 +0000 (23:16 +0000)]
Reinstate e_old.c it is still used by -portable

18 months agoFix white space.
bluhm [Tue, 25 Apr 2023 22:56:28 +0000 (22:56 +0000)]
Fix white space.

18 months agoregen
kettenis [Tue, 25 Apr 2023 21:58:36 +0000 (21:58 +0000)]
regen

18 months agoAdd RK3588.
kettenis [Tue, 25 Apr 2023 21:57:29 +0000 (21:57 +0000)]
Add RK3588.

18 months agoAdd regress test for invalidation of DER cache in select X509 setter functions
job [Tue, 25 Apr 2023 21:51:44 +0000 (21:51 +0000)]
Add regress test for invalidation of DER cache in select X509 setter functions

18 months agoRemove documentation of BN_BLINDING_{g,s}et_thread_id
tb [Tue, 25 Apr 2023 20:07:55 +0000 (20:07 +0000)]
Remove documentation of BN_BLINDING_{g,s}et_thread_id

18 months agoe_old can also go
tb [Tue, 25 Apr 2023 20:06:35 +0000 (20:06 +0000)]
e_old can also go

18 months agoRemove the deprecated API from BN
tb [Tue, 25 Apr 2023 19:57:59 +0000 (19:57 +0000)]
Remove the deprecated API from BN

18 months agoGF2m bites the dust. It won't be missed.
tb [Tue, 25 Apr 2023 19:53:30 +0000 (19:53 +0000)]
GF2m bites the dust. It won't be missed.

18 months agoASN1_item_ndef_i2d also goes. discussed with deraadt
tb [Tue, 25 Apr 2023 19:52:25 +0000 (19:52 +0000)]
ASN1_item_ndef_i2d also goes. discussed with deraadt

18 months agobio_asn1: adjust for more recent churn
tb [Tue, 25 Apr 2023 19:48:24 +0000 (19:48 +0000)]
bio_asn1: adjust for more recent churn

18 months agoRemove commented version of OPENSSL_NO_EC2M
tb [Tue, 25 Apr 2023 19:34:06 +0000 (19:34 +0000)]
Remove commented version of OPENSSL_NO_EC2M

18 months agoRemove duplicate NID definitions
tb [Tue, 25 Apr 2023 19:32:19 +0000 (19:32 +0000)]
Remove duplicate NID definitions

18 months agoLIBRESSL_NEXT_API is no longer needed
tb [Tue, 25 Apr 2023 19:29:36 +0000 (19:29 +0000)]
LIBRESSL_NEXT_API is no longer needed

18 months agoRemove prototype of EC_GFp_nist_method()
tb [Tue, 25 Apr 2023 19:28:22 +0000 (19:28 +0000)]
Remove prototype of EC_GFp_nist_method()

18 months agoMove EC_KEY_{insert,set}_key_method_data() to internal-only
tb [Tue, 25 Apr 2023 19:26:45 +0000 (19:26 +0000)]
Move EC_KEY_{insert,set}_key_method_data() to internal-only

18 months agoMove low level BIO_new_NDEF API to internal-only
tb [Tue, 25 Apr 2023 19:08:30 +0000 (19:08 +0000)]
Move low level BIO_new_NDEF API to internal-only

18 months agoRemove proxy cert remnants
tb [Tue, 25 Apr 2023 19:01:01 +0000 (19:01 +0000)]
Remove proxy cert remnants

18 months agoRemove NETSCAPE_CERT_SEQUENCE
tb [Tue, 25 Apr 2023 18:57:57 +0000 (18:57 +0000)]
Remove NETSCAPE_CERT_SEQUENCE

18 months agoMove the policy STACK_OF stuff to pcy_int.h as well
tb [Tue, 25 Apr 2023 18:53:42 +0000 (18:53 +0000)]
Move the policy STACK_OF stuff to pcy_int.h as well

18 months agosync
tb [Tue, 25 Apr 2023 18:49:23 +0000 (18:49 +0000)]
sync

18 months agoRemove SXNET
tb [Tue, 25 Apr 2023 18:48:32 +0000 (18:48 +0000)]
Remove SXNET

Unused and no authorative information was found online in 2016

18 months agoMove truncated sha-2 and sha3 out of #ifdef wrappers
tb [Tue, 25 Apr 2023 18:39:12 +0000 (18:39 +0000)]
Move truncated sha-2 and sha3 out of #ifdef wrappers

18 months agoUse X509_STORE_CTX_get1_{certs,crls}() instead of an alias
tb [Tue, 25 Apr 2023 18:37:56 +0000 (18:37 +0000)]
Use X509_STORE_CTX_get1_{certs,crls}() instead of an alias

18 months agoX509_STORE_get1_{certs,crls} become X509_STORE_CTX_* also in
tb [Tue, 25 Apr 2023 18:33:50 +0000 (18:33 +0000)]
X509_STORE_get1_{certs,crls} become X509_STORE_CTX_* also in
Symbols.namespace

18 months agoX509_STORE_get1_{certs,crls} become X509_STORE_CTX_*
tb [Tue, 25 Apr 2023 18:32:42 +0000 (18:32 +0000)]
X509_STORE_get1_{certs,crls} become X509_STORE_CTX_*

This matches the OpenSSL 1.1 API a bit better.

18 months agoMove the policy tree code to internal-only
tb [Tue, 25 Apr 2023 18:28:05 +0000 (18:28 +0000)]
Move the policy tree code to internal-only

A few hooks remain in the legacy validator, which will soon be replaced
with something better. The rest of the tentacles are now largely contained.

18 months agoRename ps_refcnt to ps_threadcnt in struct process and implement
claudio [Tue, 25 Apr 2023 18:14:06 +0000 (18:14 +0000)]
Rename ps_refcnt to ps_threadcnt in struct process and implement
P_HASSIBLING() using this count.
OK mvs@ mpi@

18 months agoRemove i2d_PKCS7_NDEF from the hidden version as well
tb [Tue, 25 Apr 2023 18:13:25 +0000 (18:13 +0000)]
Remove i2d_PKCS7_NDEF from the hidden version as well

18 months agoRemove documentation for i2d_PKCS7_NDEF
tb [Tue, 25 Apr 2023 18:05:07 +0000 (18:05 +0000)]
Remove documentation for i2d_PKCS7_NDEF

18 months agoRemove i2d_PKCS7_NDEF
tb [Tue, 25 Apr 2023 18:04:03 +0000 (18:04 +0000)]
Remove i2d_PKCS7_NDEF

18 months agoBN_RECP_CTX moves to internal
tb [Tue, 25 Apr 2023 17:59:41 +0000 (17:59 +0000)]
BN_RECP_CTX moves to internal

18 months agoPut ERRORS and DIAGNOSTICS information in the sections where they belong.
schwarze [Tue, 25 Apr 2023 17:57:55 +0000 (17:57 +0000)]
Put ERRORS and DIAGNOSTICS information in the sections where they belong.
More details on RETURN VALUES and ERRORS.
Document all DIAGNOSTICS messages except the various malloc(3)-related
ones and except those that cannot actually occur but would merely report
violations of internal invariants.  Shorten some wordings in this section.

Using feedback from jmc@ and Ted Bullock.
OK jmc@ and nicm@ on an earlier version.

18 months agoRemove CTS mode
tb [Tue, 25 Apr 2023 17:54:10 +0000 (17:54 +0000)]
Remove CTS mode

ok jsing

18 months agoRemove TS_VERIFY_CTX_init()
tb [Tue, 25 Apr 2023 17:52:54 +0000 (17:52 +0000)]
Remove TS_VERIFY_CTX_init()

18 months agoRemove PEM wrappers for NETSCAPE_CERT_SEQUENCE
tb [Tue, 25 Apr 2023 17:51:36 +0000 (17:51 +0000)]
Remove PEM wrappers for NETSCAPE_CERT_SEQUENCE

18 months agoRemove the horror show that is bn_nist and ecp_nist
tb [Tue, 25 Apr 2023 17:42:07 +0000 (17:42 +0000)]
Remove the horror show that is bn_nist and ecp_nist

This code is full of problematic C and is also otherwise of questionable
quality. It is far from constant time and jsing informs me it also isn't
faster. Good riddance.

18 months agoRemove BN_init() documentation
tb [Tue, 25 Apr 2023 17:23:08 +0000 (17:23 +0000)]
Remove BN_init() documentation

18 months agoRemove BN_CTX_init() documentation
tb [Tue, 25 Apr 2023 17:21:51 +0000 (17:21 +0000)]
Remove BN_CTX_init() documentation

18 months agoRemove the no longer used BN_MONT_CTX_init()
tb [Tue, 25 Apr 2023 17:20:24 +0000 (17:20 +0000)]
Remove the no longer used BN_MONT_CTX_init()

18 months agoRemove a couple of temporary hacks
tb [Tue, 25 Apr 2023 17:17:21 +0000 (17:17 +0000)]
Remove a couple of temporary hacks

18 months agoMove a few now internal prototypes to bn_local.h
tb [Tue, 25 Apr 2023 17:13:06 +0000 (17:13 +0000)]
Move a few now internal prototypes to bn_local.h

18 months agoRemove old BN_one/BN_zero compat stuff
tb [Tue, 25 Apr 2023 17:01:21 +0000 (17:01 +0000)]
Remove old BN_one/BN_zero compat stuff

ok jsing

18 months agozlib: sync with src
tb [Tue, 25 Apr 2023 16:59:57 +0000 (16:59 +0000)]
zlib: sync with src

18 months agoUpdate libz to the HEAD of the develop branch
tb [Tue, 25 Apr 2023 16:59:10 +0000 (16:59 +0000)]
Update libz to the HEAD of the develop branch

This mostly moves from K&R prototypes to ANSI prototypes and includes a
handful of bug fixes that are nice to have. The corresponding sys commit
will allow us to undo some hacks that jca applied to make the kernel build
with clang 15.

discussed with deraadt

18 months agoRemove X9.31 support
tb [Tue, 25 Apr 2023 16:50:33 +0000 (16:50 +0000)]
Remove X9.31 support

ok jsing

18 months agoRemove the no longer used BN_CTX_init()
tb [Tue, 25 Apr 2023 16:41:29 +0000 (16:41 +0000)]
Remove the no longer used BN_CTX_init()

ok jsing

18 months agoExclusive net lock or mutex arp_mtx protect the llinfo_arp fields.
bluhm [Tue, 25 Apr 2023 16:24:25 +0000 (16:24 +0000)]
Exclusive net lock or mutex arp_mtx protect the llinfo_arp fields.
So kernel lock is only needed for changing the route rt_flags.  In
arpresolve() protect rt_llinfo lookup and llinfo_arp modification
with arp_mtx.  Grab kernel lock for rt_flags reject modification
only when needed.
Tested by Hrvoje Popovski; OK patrick@ kn@

18 months agoBump LibreSSL version to 3.8.0
tb [Tue, 25 Apr 2023 16:15:37 +0000 (16:15 +0000)]
Bump LibreSSL version to 3.8.0

18 months agoRemove the nseq command
tb [Tue, 25 Apr 2023 16:11:02 +0000 (16:11 +0000)]
Remove the nseq command

18 months agoDocument most command constants.
schwarze [Tue, 25 Apr 2023 15:59:45 +0000 (15:59 +0000)]
Document most command constants.
They are part of the public API, may be needed for implementing custom BIO
types, and application programmers need to avoid clashing with them.

18 months agoUpdate Wycheproof.go to exercise truncated SHA-2 and SHA-3
tb [Tue, 25 Apr 2023 15:56:56 +0000 (15:56 +0000)]
Update Wycheproof.go to exercise truncated SHA-2 and SHA-3

18 months agosync
tb [Tue, 25 Apr 2023 15:55:26 +0000 (15:55 +0000)]
sync

18 months agoBump majors after symbol addition and removal
tb [Tue, 25 Apr 2023 15:54:19 +0000 (15:54 +0000)]
Bump majors after symbol addition and removal

18 months agoUpdate Symbols.list after symbol addition and removal
tb [Tue, 25 Apr 2023 15:52:41 +0000 (15:52 +0000)]
Update Symbols.list after symbol addition and removal

18 months agoComment out a few now unused files from Makefile
tb [Tue, 25 Apr 2023 15:51:31 +0000 (15:51 +0000)]
Comment out a few now unused files from Makefile

18 months agoUse proper fix for the recent x400Address issue
tb [Tue, 25 Apr 2023 15:51:04 +0000 (15:51 +0000)]
Use proper fix for the recent x400Address issue

From David Benjamin (BoringSSL)

ok beck

18 months agoTemporarily define LIBRESSL_NEXT_API in opensslfeatures.h
tb [Tue, 25 Apr 2023 15:50:09 +0000 (15:50 +0000)]
Temporarily define LIBRESSL_NEXT_API in opensslfeatures.h

18 months agoDefine OPENSSL_NO_DEPRECATED and OPENSSL_NO_EC2M in opensslfeatures.h
tb [Tue, 25 Apr 2023 15:49:42 +0000 (15:49 +0000)]
Define OPENSSL_NO_DEPRECATED and OPENSSL_NO_EC2M in opensslfeatures.h

ok beck jsing

18 months agoWire up truncated SHA-2, SHA-3 and related things
tb [Tue, 25 Apr 2023 15:48:48 +0000 (15:48 +0000)]
Wire up truncated SHA-2, SHA-3 and related things

from jsing

18 months agoRemove no longer necessary compat #defines
tb [Tue, 25 Apr 2023 15:47:29 +0000 (15:47 +0000)]
Remove no longer necessary compat #defines

18 months agoAdd NIDs for truncated SHA-2, SHA-3 and related things
tb [Tue, 25 Apr 2023 15:46:54 +0000 (15:46 +0000)]
Add NIDs for truncated SHA-2, SHA-3 and related things

From jsing

18 months agoWhen configuring a new address on an interface, an upstream router
phessler [Tue, 25 Apr 2023 15:41:17 +0000 (15:41 +0000)]
When configuring a new address on an interface, an upstream router
doesn't know where to send traffic.  This will send an unsolicited
neighbor advertisement, as described in RFC9131, to the all-routers
multicast address so all routers on the same link will learn the path
back to the address.

This is intended to speed up the first return packet on an IPv6 interface.

OK florian@

18 months agobn_mod_exp: temporarily add a prototype for BN_mod_exp_recp()
tb [Tue, 25 Apr 2023 15:34:07 +0000 (15:34 +0000)]
bn_mod_exp: temporarily add a prototype for BN_mod_exp_recp()

18 months agobn_test: temporarily add prototypes for reciprocal functions
tb [Tue, 25 Apr 2023 15:33:25 +0000 (15:33 +0000)]
bn_test: temporarily add prototypes for reciprocal functions

This is a hack needed until bn_local.h is updated

18 months agobn_test: BN_one() will become void, so stop checking it
tb [Tue, 25 Apr 2023 15:32:33 +0000 (15:32 +0000)]
bn_test: BN_one() will become void, so stop checking it

18 months agobn_primes: the NIST primes will go away, so remove their tests
tb [Tue, 25 Apr 2023 15:30:03 +0000 (15:30 +0000)]
bn_primes: the NIST primes will go away, so remove their tests

18 months agoThe bio_asn1 test will need to be linked statically after the bump
tb [Tue, 25 Apr 2023 15:29:17 +0000 (15:29 +0000)]
The bio_asn1 test will need to be linked statically after the bump

18 months agoRemove CTS test
tb [Tue, 25 Apr 2023 15:19:28 +0000 (15:19 +0000)]
Remove CTS test

18 months agoCTS support will go away, so unhook corresponding regress
tb [Tue, 25 Apr 2023 15:18:59 +0000 (15:18 +0000)]
CTS support will go away, so unhook corresponding regress

18 months agoDo not attempt to write to read-only softraid
kn [Tue, 25 Apr 2023 14:48:16 +0000 (14:48 +0000)]
Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.

Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.

i386 BIOS.  Crank minor.
Tested inside amd64 vmm.

18 months agodrop empty lines around disk crypto '?' help text
kn [Tue, 25 Apr 2023 14:20:13 +0000 (14:20 +0000)]
drop empty lines around disk crypto '?' help text

18 months agoEnable softraid(4) in the ramdisk kernel aka. make disk crypto install work
kn [Tue, 25 Apr 2023 14:04:47 +0000 (14:04 +0000)]
Enable softraid(4) in the ramdisk kernel aka. make disk crypto install work

GENERIC, efiboot and installboot(8) all have softraid enabled, the manual
already documents boot support for riscv64, "just" bsd.rd lacks it.
(thought I had committed this months ago...)

SiFive HiFive Unmatched A00.

OK patrick

18 months agoDo not attempt to write to read-only softraid
kn [Tue, 25 Apr 2023 14:00:35 +0000 (14:00 +0000)]
Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.

Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.

sparc64 ofwboot.  Crank minor.
Tested on T4-2 guest domain with root on softraid.

18 months agotiny markup fix: add missing Ic before `group' in the `agentx' rule
op [Tue, 25 Apr 2023 13:36:01 +0000 (13:36 +0000)]
tiny markup fix: add missing Ic before `group' in the `agentx' rule

OK martijn@

18 months agomark up `mode' in -f description
op [Tue, 25 Apr 2023 13:32:20 +0000 (13:32 +0000)]
mark up `mode' in -f description

18 months agovmctl(8): no longer needs vmmvar.h
dv [Tue, 25 Apr 2023 12:51:07 +0000 (12:51 +0000)]
vmctl(8): no longer needs vmmvar.h

Finally! We can remove kernel headers from vmctl.

ok mlarkin@

18 months agovmm(4)/vmd(8): pull struct members out of vmm ioctl create struct.
dv [Tue, 25 Apr 2023 12:46:13 +0000 (12:46 +0000)]
vmm(4)/vmd(8): pull struct members out of vmm ioctl create struct.

The object sent to vmm(4) contained file paths and details the
kernel does not need for cpu virtualization as device emulation is
in userland. Effectively, "pull up" the struct members from the
vm_create_params struct to the parent vmop_create_params struct.

This allows us to clean up some of vmd(8) and simplify things for
switching to having vmctl(8) open the "kernel" file (SeaBIOS, bsd.rd,
etc.) to allow users to boot recovery ramdisk kernels.

ok mlarkin@

18 months agoDo not grab the `vmmaplk' recursively, prevent a self-deadlock.
mpi [Tue, 25 Apr 2023 12:36:30 +0000 (12:36 +0000)]
Do not grab the `vmmaplk' recursively, prevent a self-deadlock.

Change the semantic of vm_map_busy() to be able to completely unlock the
`vmmaplk' instead of downgrading it to a read lock in mlock(2).  This is
necessary because uvm_fault_wire() tries to re-grab the same lock.

We now keep track of the thread currently holding the vmmap busy to ensure
it can relock & unbusy the vmmap.  The new pattern becomes:

....vm_map_lock(map);
....vm_map_busy(map); /* prevent other threads to grab an exclusive lock */
....vm_map_unlock(map);
....
..../*
.... * Do some stuff generally requiring a tsleep(9).
.... */
....
....vm_map_lock(map);
....vm_map_unbusy(map); /* allow other threads to make progress after unlock */
....vm_map_unlock(map);

Fix adapted from NetBSD's r1.249 of uvm/uvm_map.c.  Issue reported by
Jacqueline Jolicoeur exposed by a "wallet refresh" of the Monero App.
Panic hand-copied below:

sleep_finish()
rw_enter()
uvmfault_lookup()
uvm_fault_check()
uvm_fault()
uvm_fault_wire()
uvm_map_pageable_wire()
sys_mlock()

ok kettenis@

18 months agoCreate & use variables MRDISKTYPE and MRMAKEFSARGS like all the other build
krw [Tue, 25 Apr 2023 12:13:15 +0000 (12:13 +0000)]
Create & use variables MRDISKTYPE and MRMAKEFSARGS like all the other build
makefiles.

Fixes & ok kn@

No intentional functional change.

18 months agoEnable power management for PCI devices.
patrick [Tue, 25 Apr 2023 11:36:55 +0000 (11:36 +0000)]
Enable power management for PCI devices.

ok kettenis@

18 months agoAdd suspend/resume support to pwmbl(4), so that when suspending the x13s
patrick [Tue, 25 Apr 2023 11:21:01 +0000 (11:21 +0000)]
Add suspend/resume support to pwmbl(4), so that when suspending the x13s
the display turns off and it actually looks like it's properly suspended.

ok kettenis@ tobhe@

18 months agoDisable keyboard backlight on Apple Silicon laptops on suspend,
tobhe [Tue, 25 Apr 2023 11:12:38 +0000 (11:12 +0000)]
Disable keyboard backlight on Apple Silicon laptops on suspend,
restore on wakeup.

ok patrick@ kettenis@

18 months agoThe #ifdef missed a few NETSCAPE_CERT things
tb [Tue, 25 Apr 2023 11:03:37 +0000 (11:03 +0000)]
The #ifdef missed a few NETSCAPE_CERT things

18 months agoRemove v3_sxnet from the standard extensions
tb [Tue, 25 Apr 2023 10:56:58 +0000 (10:56 +0000)]
Remove v3_sxnet from the standard extensions

18 months agoInvalidate ITS caches during suspend/resume cycle to commit the changes
patrick [Tue, 25 Apr 2023 10:35:48 +0000 (10:35 +0000)]
Invalidate ITS caches during suspend/resume cycle to commit the changes
to the LPIs.  So far we have only flipped the enable bit in the shared
memory, but it turns out that the state is actually cached in the ITS.
We have to send an invalidation to flush it, both after disabling and
enabling the LPI.  We probably also should do it after establishing an
interrupt, and especially when disestablishing, e.g. for PCIe hotplug.

Since we do not currently store the device/event IDs we cannot do a
targeted invalidation and have to fall back to sending one that clears
the whole cache to each ITS.  In the future we should keep some more
state per established LPI.

Furthermore we currently keep a list of LPIs in each ITS instance, which
means in case we have multiple ITS we will re-use LPI numbers.  But since
there's no relevant HW so far that has those, there's no rish to fix that.

This fixes suspend/resume on x13s with NVMe+MSI.

ok kettenis@

18 months agoInvalidate the DER cache earlier on in X509 setter functions
job [Tue, 25 Apr 2023 10:18:39 +0000 (10:18 +0000)]
Invalidate the DER cache earlier on in X509 setter functions

Note that it is important to invalidate the cache before returning,
as the return might bubble up an error.

OK tb@ jsing@

18 months agoDo not attempt to write to read-only softraid
kn [Tue, 25 Apr 2023 10:11:20 +0000 (10:11 +0000)]
Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.

Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.

amd64 EFI bits, other architectues to come.  Crank minor.

"seems sensible" jsing

18 months agoDo not attempt to write to read-only softraid
kn [Tue, 25 Apr 2023 10:06:12 +0000 (10:06 +0000)]
Do not attempt to write to read-only softraid

Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.

Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.

amd64 BIOS bits first, rest to come.  Crank minor.

"seems sensible" jsing