openbsd
18 months agoEnable MSI if the node contains an msi-map, like we already do in pciecam(4).
patrick [Mon, 24 Apr 2023 15:15:00 +0000 (15:15 +0000)]
Enable MSI if the node contains an msi-map, like we already do in pciecam(4).
This will make MSIs work on the Lenovo x13s as soon as an updated device tree
is installed.

Discussed with kettenis@

18 months agoMissing the optional default config is not an error
kn [Mon, 24 Apr 2023 15:12:14 +0000 (15:12 +0000)]
Missing the optional default config is not an error

/var/log/{messages,daemon} logs ENOENT as error on default configless vmd.
Only complain on explicitly passed files and print a debug hint under `-vv'
in case someone forgot to populate their /etc/vm.conf.

OK dv mlarkin

18 months agoUpdate qcpon(4) compatibles to match on qcom,pmk8350-pon, which is the updated
patrick [Mon, 24 Apr 2023 14:34:13 +0000 (14:34 +0000)]
Update qcpon(4) compatibles to match on qcom,pmk8350-pon, which is the updated
binding in Linux 6.3 device trees.  While there, remove retrieving the register
address, as the new binding has an additional register with doesn't work with
a single OF_getpropint(), and since we're not using it we don't need to keep it
around.

18 months ago"ls rogue" needs root; OK aja
kn [Mon, 24 Apr 2023 14:31:15 +0000 (14:31 +0000)]
"ls rogue" needs root;  OK aja

18 months agoAdd '-s' option to simply display the number of bytes available for the rdroot
krw [Mon, 24 Apr 2023 14:06:01 +0000 (14:06 +0000)]
Add '-s' option to simply display the number of bytes available for the rdroot
filesystem in the specified kernel.

No behaviour change to existing uses of rdsetroot.

Improved option handling & ok kn@

18 months agoHoist privilege checks further
kn [Mon, 24 Apr 2023 12:11:56 +0000 (12:11 +0000)]
Hoist privilege checks further

in6.c already has the privilege check as early as possible, make in.c match.

For unprivileged IPv4 ioctl calls with invalid args, this changes errno from
E* to EPERM.

OK bluhm

18 months agogtk-update-icon-cache moved from being a gtk+3 subpackage to a gtk+4 one.
ajacoutot [Mon, 24 Apr 2023 11:54:28 +0000 (11:54 +0000)]
gtk-update-icon-cache moved from being a gtk+3 subpackage to a gtk+4 one.

18 months agoEnable branch target control flow enforcement on arm64.
kettenis [Mon, 24 Apr 2023 10:22:48 +0000 (10:22 +0000)]
Enable branch target control flow enforcement on arm64.

ok robert@, deraadt@

18 months agoAbuse the wxallowed flag to decide whether we should enforce branch target
kettenis [Mon, 24 Apr 2023 10:22:06 +0000 (10:22 +0000)]
Abuse the wxallowed flag to decide whether we should enforce branch target
or not.  The idea is that since /usr/local has wxallowed by default this
will enable enforcement for base while leaving ports alone for now.  This
will help us transition to a state where ports are properly marked and
allow us to establish that base is really clean.

Also add an exception for chrome.  Chrome already appears to be clean on
arm64 and this exception can be easily modified for testing other ports.

This will screw over people that deliberately disable wxallowed on
/usr/local or who don't have a separate partition for /usr/local.  We
think that is an acceptable compromise for the next months.

ok robert@, deraadt@ (who came up with the idea)

18 months agoDon't check `so_sp' within sofree(). The following isspliced() and
mvs [Mon, 24 Apr 2023 09:20:09 +0000 (09:20 +0000)]
Don't check `so_sp' within sofree(). The following isspliced() and
issplicedback() already have this check.

ok bluhm@

18 months agoAdd initial support for Atlantic 2 hardware. Atlantic 2 has
jmatthew [Mon, 24 Apr 2023 09:18:55 +0000 (09:18 +0000)]
Add initial support for Atlantic 2 hardware.  Atlantic 2 has
much more complicated rx processing, and here we're doing the
bare minimum to get packets moving.  RSS is not implemented yet,
vlans and multicast (among others) probably don't work yet either.

tested by kettenis@ on an M2 Mac Mini, and by me on an AQC113
card provided by Brad
ok dlg@

18 months agoToggle IBT off during amd64 hibernate before dropping to real mode.
dv [Mon, 24 Apr 2023 09:04:03 +0000 (09:04 +0000)]
Toggle IBT off during amd64 hibernate before dropping to real mode.

Hibernate on IBT-capable MP systems broke when trying to quiesce
cpus. Instead of finding the locations of endbr64 in the asm indirect
jumps in acpi_wakecode.S, simply disable CR4.CET beforehand and
re-enable on resume.

This will also disable shadowstack, but there are no plans to use it.

"this approach is fine" deraadt@

18 months agodo a cache lookup as well in case a full pathname is passed to dlopen
robert [Mon, 24 Apr 2023 08:59:09 +0000 (08:59 +0000)]
do a cache lookup as well in case a full pathname is passed to dlopen

18 months agoSort X.509 error reasons, use next available error value, and align
job [Mon, 24 Apr 2023 08:39:06 +0000 (08:39 +0000)]
Sort X.509 error reasons, use next available error value, and align
error message with internal error code name.

OK tb@ jsing@

18 months agoRevert 1.32
job [Mon, 24 Apr 2023 08:09:29 +0000 (08:09 +0000)]
Revert 1.32

jsing@ noted that ASN1_OP_D2I_POST might not be the best place to
introduce this check (as could lead to pushing errors
(ASN1_R_AUX_ERROR) onto the stack). Additionally, without matching
validation on the encoding side brittleness is introduced.

18 months agohandle fixed-link configuration in the device tree.
dlg [Mon, 24 Apr 2023 01:33:32 +0000 (01:33 +0000)]
handle fixed-link configuration in the device tree.

if fixed-link is present, populate the interface baudrate and link
status (full duplex or half duplex), and then call the statch handler
to apply that config to the MAC. if fixed-link is specified then
do not attach a phy.

note that phy lookup and reset still occurs in case the device tree
still uses the deprecated snps,reset-gpio properties. the fixed
link port on the bpi r2 pro is connected to a switch chip (which
is not really a phy) that needs needs a reset provided by the
snps,reset-gpio handling. an improved device tree would have the
reset properties on the switch node so it could do its own reset,
but we can't have nice things can we?

tested on a nanopi r5s, which has a phy but no fixed-link config,
and a banana pi bpi-r2 pro, which has both (cos it has two dwqes,
one with a phy and one without).

18 months agoactually xr to iosf this time.
dlg [Mon, 24 Apr 2023 00:11:08 +0000 (00:11 +0000)]
actually xr to iosf this time.

with patience from jmc@

18 months agoAdjust some printfs in the attach code path to make more sense,
jmatthew [Sun, 23 Apr 2023 22:57:23 +0000 (22:57 +0000)]
Adjust some printfs in the attach code path to make more sense,
and include the mac address of the interface on the attach line.

ok dlg@

18 months agoPrepare for adding Atlantic 2 support by renaming functions and defines
jmatthew [Sun, 23 Apr 2023 22:48:03 +0000 (22:48 +0000)]
Prepare for adding Atlantic 2 support by renaming functions and defines
specific to Atlantic 1, shuffling some of the setup code, and adding
get_mac_addr to the firmware ops struct.

ok dlg@

18 months agoReplace X509v3_get_ext_count() with X509_get_ext_count()
job [Sun, 23 Apr 2023 21:49:15 +0000 (21:49 +0000)]
Replace X509v3_get_ext_count() with X509_get_ext_count()

Error introduced in 1.24

18 months agoIn the case of V1 certs, the extension count should be exactly 0
job [Sun, 23 Apr 2023 21:46:07 +0000 (21:46 +0000)]
In the case of V1 certs, the extension count should be exactly 0

OK tb@

18 months agoIf extensions are encountered on a X.509 V1 cert, mark as invalid
job [Sun, 23 Apr 2023 21:39:19 +0000 (21:39 +0000)]
If extensions are encountered on a X.509 V1 cert, mark as invalid

While there, explicitly check for 0 - as X509_get_version() is a wrapper
around the less than beloved ASN1_INTEGER_get().

OK tb@

18 months agoAdd compliance checks for the X.509 version field
job [Sun, 23 Apr 2023 21:31:16 +0000 (21:31 +0000)]
Add compliance checks for the X.509 version field

Check whether the X.509 version is in the range of valid version
values, and also checks whether the version is consistent with fields
new to those versions (such as X.509 v3 extensions).

X.690 section 11.5 states: "The encoding of a set value or a sequence
value shall not include an encoding for any component value which is
equal to its default value." However, enforcing version 1 (value 0) to
be absent reportedly caused some issues as recent as July 2020, so
accept version 1 even if it is explicitly encoded.

OK tb@ beck@

18 months agoDon't create IBT .plt if there are no PLT entries. Cherry picked from
kettenis [Sun, 23 Apr 2023 21:08:26 +0000 (21:08 +0000)]
Don't create IBT .plt if there are no PLT entries.  Cherry picked from
upstream.  Fixes several issues including problems with ld.bfd when it
sees such a .plt in an object file that is getting linked into a binary.

ok deraadt@

18 months agosync
deraadt [Sun, 23 Apr 2023 19:22:08 +0000 (19:22 +0000)]
sync

18 months agoFix the client test and the tlsext test to work with randomized
tb [Sun, 23 Apr 2023 18:59:41 +0000 (18:59 +0000)]
Fix the client test and the tlsext test to work with randomized
TLS extensions (this involves unrandomizing the extension order
for the tests that rely on golden numbers.

18 months agoRandomize the order of TLS extensions
tb [Sun, 23 Apr 2023 18:51:53 +0000 (18:51 +0000)]
Randomize the order of TLS extensions

On creation of an SSL using SSL_new(), randomize the order in which the
extensions will be sent. There are several constraints: the PSK extension
must always come last. The order cannot be randomized on a per-message
basis as the strict interpretation of the standard chosen in the CH hashing
doesn't allow changing the order between first and second ClientHello.

Another constraint is that the current code calls callbacks directly on
parsing an extension, which means that the order callbacks are called
depends on the order in which the peer sent the extensions. This results
in breaking apache-httpd setups using virtual hosts with full ranomization
because virtual hosts don't work if the SNI is unknown at the time the
ALPN callback is called. So for the time being, we ensure that SNI always
precedes ALPN to avoid issues until this issue is fixed.

This is based on an idea by David Benjamin
https://boringssl-review.googlesource.com/c/boringssl/+/48045

Input & ok jsing

18 months agocope with more s/XCR0/XFEATURE renames
anton [Sun, 23 Apr 2023 18:38:55 +0000 (18:38 +0000)]
cope with more s/XCR0/XFEATURE renames

18 months agoMan page update for EVP_sha512_224() and EVP_sha512_256()
job [Sun, 23 Apr 2023 18:24:01 +0000 (18:24 +0000)]
Man page update for EVP_sha512_224() and EVP_sha512_256()

OK tb@

18 months agoLink c2sp test to build
tb [Sun, 23 Apr 2023 13:47:35 +0000 (13:47 +0000)]
Link c2sp test to build

18 months agoImport C2SP/CCTV test
tb [Sun, 23 Apr 2023 13:43:46 +0000 (13:43 +0000)]
Import C2SP/CCTV test

This currently only covers Ed25519 using the c2sp-testvectors package
and checks that our Ed25519 implementation behaves as expected from a
"ref10" implementation.

This test has Go and c2sp-testvectors as a hard dependency. It will
optionally pick up any OpenSSL package installed on the system and
test that as well.

https://github.com/C2SP/CCTV
https://github.com/C2SP/CCTV/tree/main/ed25519

18 months agoIn filemode, if an ASPA contains information for only 1 AFI, supplement the other
job [Sun, 23 Apr 2023 13:19:34 +0000 (13:19 +0000)]
In filemode, if an ASPA contains information for only 1 AFI, supplement the other

OK claudio@

18 months agovmd(8): teach vmm process how to exec.
dv [Sun, 23 Apr 2023 12:11:37 +0000 (12:11 +0000)]
vmd(8): teach vmm process how to exec.

Use execvp(2) to launch vm children with new address spaces.
Consequently, introduces use of unveil(2) into the vmm and vm
processes.

This imposes the requirement of launching vmd with absolute paths,
similar to sshd(8).

ok mlarkin@

18 months agoDrop some extra parentheses
tb [Sun, 23 Apr 2023 11:52:14 +0000 (11:52 +0000)]
Drop some extra parentheses

18 months agoFlowspec show support an address family argument. Copy the description
claudio [Sun, 23 Apr 2023 11:42:45 +0000 (11:42 +0000)]
Flowspec show support an address family argument. Copy the description
from the very similar 'network show'.

18 months agoDrop a superfluous isneg check.
tb [Sun, 23 Apr 2023 11:39:56 +0000 (11:39 +0000)]
Drop a superfluous isneg check.

18 months agoFor FLOWSPEC_SHOW conver the AID form regular inet/inet6 to flowspec versions.
claudio [Sun, 23 Apr 2023 11:39:51 +0000 (11:39 +0000)]
For FLOWSPEC_SHOW conver the AID form regular inet/inet6 to flowspec versions.
OK tb@

18 months agoAdd the same AID filter to prefix_flowspec_dump() like in the other
claudio [Sun, 23 Apr 2023 11:39:10 +0000 (11:39 +0000)]
Add the same AID filter to prefix_flowspec_dump() like in the other
prefix/rib dump functions.
OK tb@

18 months agoAdd missing NULL check for BN_new()
tb [Sun, 23 Apr 2023 11:34:57 +0000 (11:34 +0000)]
Add missing NULL check for BN_new()

18 months agoDocument flowspec commands
claudio [Sun, 23 Apr 2023 11:29:57 +0000 (11:29 +0000)]
Document flowspec commands
OK tb@ jmc@

18 months agoInitialize ishex and isneg at the top and drop some elses
tb [Sun, 23 Apr 2023 11:25:21 +0000 (11:25 +0000)]
Initialize ishex and isneg at the top and drop some elses

18 months agoStop setting ri->ri_bs to prevent a panic caused by rasops accessing its
patrick [Sun, 23 Apr 2023 10:29:35 +0000 (10:29 +0000)]
Stop setting ri->ri_bs to prevent a panic caused by rasops accessing its
uninitialized content.  When we rasops_init() with RI_VCONS, a new screen
is allocated.  If ri->ri_bs is set, this will be copied.  Otherwise a new
one will be allocated and filled with ASCII spaces.  Copying the ri->ri_bs
is useful in case we have an early console which contents we want to keep.
As we do not have an early console here, there's no point in setting it at
the moment.

With this my Hetzner arm64 VM doesn't panic anymore.

ok jcs@ kettenis@

18 months agoAlign hex_to_string with OpenSSL 1.1 behavior
tb [Sun, 23 Apr 2023 10:19:52 +0000 (10:19 +0000)]
Align hex_to_string with OpenSSL 1.1 behavior

This is a bit of a strange one. When this function was moved and renamed,
somehow checks for NULL pointers and 0 length were lost. Whether that was
due to great review missing it or great review suggesting it, is unclear.

Now the function can actually legitimately be called with a length of 0
(as ASN.1 OCTET STRINGS can have length 0) and "" is the appropriate
representation for that, so the fix is to allocate a 0 octet. That much
was correct. What was completely missed is that a long can be negative
which will then still lead to an out-of-bounds access. So fix that as
well.

Finally, don't malloc 3 * len + 1 without overflow checking. Rather
use calloc's internal checks. The + 1 isn't really needed anyway.

All this is still really gross and can be done much more cleanly and
safely with CBB/CBS. This will done later once we have better regress
coverage.

ok jsing

18 months agox509_utl.c: Use correct spelling of NULL
tb [Sun, 23 Apr 2023 09:58:38 +0000 (09:58 +0000)]
x509_utl.c: Use correct spelling of NULL

18 months agoXr to iosf(4). pci(4) needed an Xr to dwiic(4) too.
dlg [Sun, 23 Apr 2023 08:04:59 +0000 (08:04 +0000)]
Xr to iosf(4). pci(4) needed an Xr to dwiic(4) too.

pointed out by jmc@

18 months agorename sc_tick to sc_phy_tick. no functional change.
dlg [Sun, 23 Apr 2023 06:22:15 +0000 (06:22 +0000)]
rename sc_tick to sc_phy_tick. no functional change.

18 months agounbreak tree by coping with recent s/XCR0/XFEATURE rename
anton [Sun, 23 Apr 2023 05:37:55 +0000 (05:37 +0000)]
unbreak tree by coping with recent s/XCR0/XFEATURE rename

18 months agoenable iosf(4)
dlg [Sun, 23 Apr 2023 00:50:29 +0000 (00:50 +0000)]
enable iosf(4)

this should help some braswell and bay trail machines. it definitely
helps my dell wyse 3040 avoid locking up.

ok kettenis@ patrick@

18 months agoiosf(4) implements functionality that was stubbed out in drm
dlg [Sun, 23 Apr 2023 00:49:04 +0000 (00:49 +0000)]
iosf(4) implements functionality that was stubbed out in drm

18 months agoadd a manpage for iosf(4)
dlg [Sun, 23 Apr 2023 00:44:44 +0000 (00:44 +0000)]
add a manpage for iosf(4)

18 months agoadd support for coordinating i2c bus access with iosf(4)
dlg [Sun, 23 Apr 2023 00:33:02 +0000 (00:33 +0000)]
add support for coordinating i2c bus access with iosf(4)

if the acpi node has a _SEM property, add wrappers around the i2c
bus acquire and release handlers to try and call the iosf provided
hardware semaphore ops. this means bus accesses can be coordinate
with other parts of the platform such as the punit.

this stops my Dell Wyse 3040 from locking up.

ok kettenis@ patrick@

18 months agoadd iosf(4), a driver for the Intel OnChip System Fabric
dlg [Sun, 23 Apr 2023 00:20:26 +0000 (00:20 +0000)]
add iosf(4), a driver for the Intel OnChip System Fabric

The OnChip System Fabric is mostly an implementation detail on a
bunch of Intel SoC platforms we usually don't care about, except
on some of these machines there are devices shared between the
kernel and the platform that need to coordinate. The iosf(4) driver
allows the kernel to talk via a mailbox interface to take and
release a semaphore that the hardware also uses to lock around
accesses to some components.

There are two ways to talk to the mailbox interface, one via mmio
ops on an INT33BD acpi device. The other is via magic pci conf space
operations on the pci host device. This provides a generic iosf
driver with attachment glue for both acpi and pci so either can be
used. According to linux, the pci ops are a lot more reliable and
less buggy, so if both acpi and pci are available we will prefer
the pci ops after they attach.

I found this because I got a Dell Wyse 3040, which is a cherry
trail/braswell system that has an acpitz(4) which talks to a tipmic(4)
device attached to dwiic(4) on acpi. This box almost always locked
up by the time it got to showing the console login prompt, and it
turns out one of the reasons for this is because acpitz was touching
the tipmic device at the same time the powerunit on the platform
was also trying to use it. The tipmic device lists the iosf mailbox
as a dependency, and the dwiic controller has a _SEM property, both
of which indicate we should use an iosf device to coordinate iic
ops when talking to the tipmic.

This adds the code, but doesn't wire it into dwiic or the build yet.

help from patrick@ jsg@ kettenis@
ok kettenis@ patrick@

18 months agoclockintr_cpu_init: don't update cached uptime
cheloha [Sun, 23 Apr 2023 00:08:36 +0000 (00:08 +0000)]
clockintr_cpu_init: don't update cached uptime

clockintr_advance() now calls nsecuptime(9) when called outside
clockintr_dispatch().  There is no need for clockintr_cpu_init() to
update the queue's cached uptime (cq->cq_uptime) to ensure it is
fresh.

18 months agoclockintr_advance: don't use cached uptime when called outside of dispatch
cheloha [Sun, 23 Apr 2023 00:01:40 +0000 (00:01 +0000)]
clockintr_advance: don't use cached uptime when called outside of dispatch

When clockintr_advance() is eventually used by outside callers, there
will be no way to know how fresh cq_uptime is.  If we're not running
in the dispatch loop, we need to call nsecuptime(9) to get a high-res
uptime before advancing a clockintr.

18 months agoclockintr, ddb(4): label non-pending clock interrupts "idle"
cheloha [Sat, 22 Apr 2023 23:51:27 +0000 (23:51 +0000)]
clockintr, ddb(4): label non-pending clock interrupts "idle"

"idle" is more obvious than "est" and requires no knowledge of the
implementation.

18 months agoCall pfkeyv2_sysctl_policydumper() with shared netlock. It performs
mvs [Sat, 22 Apr 2023 20:51:56 +0000 (20:51 +0000)]
Call pfkeyv2_sysctl_policydumper() with shared netlock. It performs
read-olny access to netlock protected data, so the radix tree will
not be modified during spd_table_walk() run.

Also change netlock assertion within spd_table_add() and
ipsec_delete_policy() to exclusive. These are correlating functions
which modifies radix tree, so make us sure spd_table_walk() run with
shared netlock is safe.

Feedback and ok by bluhm@

18 months agoDocument the change in default to comma plus space but leave out the
tb [Sat, 22 Apr 2023 20:51:26 +0000 (20:51 +0000)]
Document the change in default to comma plus space but leave out the
compat nonsense

18 months agoFix UTF-8 issuer printing
tb [Sat, 22 Apr 2023 20:50:26 +0000 (20:50 +0000)]
Fix UTF-8 issuer printing

If no field separator is specified, default to using the comma plus space
separation, unless the compat flag is set.

Fixes an a bug with printing issuers and other things that contain UTF-8

Reported by Jean-Luc Duprat
The very simple fix ix is a joint effort by Henson and Levitte
Fixes libressl/portable issue #845

ok jsing

18 months agovmd(8): fix vm send/receive due to invalid hva's.
dv [Sat, 22 Apr 2023 19:47:35 +0000 (19:47 +0000)]
vmd(8): fix vm send/receive due to invalid hva's.

Moving some of the virtio devices to zero-copy approaches required
tracking the host-side virtual address for the gpa of virtqueues.
Upon a send/receive they are invalid as the restoring system will
most likely use a different address space layout.

Recompute the hva's on receive and NULL them on send.

ok mlarkin@

18 months agoRename the XCR0_* #defines to XFEATURE_* and add the new supervisor-state
guenther [Sat, 22 Apr 2023 18:27:28 +0000 (18:27 +0000)]
Rename the XCR0_* #defines to XFEATURE_* and add the new supervisor-state
features: while all are appropriate for xsaves/xrstors, the
supervisor-state features aren't for xcr0 but rather for the new XSS_MSR,
making the current names kinda confusing.

Add #defines for masking bits for xcr0 vs XSS.

Add and report the new XSAVE_XFD xsave subfeature bit.

ok mlarkin@

18 months agoTeach the disassembler about xrstors, xsavec, and xsaves
guenther [Sat, 22 Apr 2023 18:26:17 +0000 (18:26 +0000)]
Teach the disassembler about xrstors, xsavec, and xsaves

ok mlarkin@

18 months agoImprove bn_montgomery_multiply_words()
jsing [Sat, 22 Apr 2023 14:31:44 +0000 (14:31 +0000)]
Improve bn_montgomery_multiply_words()

Pull a number of invariants into variables, which avoids repeated loading
from memory on architectures where sufficient registers are available.
Also keep track of the per-iteration carry in a variable, rather than
unnecessarily reading from and writing to memory.

This gives a reasonable performance gain on some architectures (e.g. armv7)

18 months agoProvide initial regress for BN_{asc,dec,hex}2bn()/BN_bn2{dec,hex}()
jsing [Sat, 22 Apr 2023 14:03:03 +0000 (14:03 +0000)]
Provide initial regress for BN_{asc,dec,hex}2bn()/BN_bn2{dec,hex}()

18 months agoreduce the delays used in the mii/mdio bus ops
dlg [Sat, 22 Apr 2023 06:36:35 +0000 (06:36 +0000)]
reduce the delays used in the mii/mdio bus ops

this produces a significant speed up.

say you're reading 40ish mib counters off a port on switch chip,
where each counter read relies on multiple mdio operations. it took
well over a second to read the counters off a port in my my initial
version. after optimising the switch reads i got that down to a bit
under a second. after this change in dwqe i can read counters off
5 ports in about 0.03 seconds.

ok patrick@

18 months agouse if_baudrate and if_link_state for mac config, not mii media values
dlg [Sat, 22 Apr 2023 05:01:44 +0000 (05:01 +0000)]
use if_baudrate and if_link_state for mac config, not mii media values

the phy code sets if_baudrate and if_link_state, so the information
needed to config the mac on the chip is there anyway. it also has
the benefit that the driver doesnt have to understand every type
of media (eg, 1000baseTX vs 1000baseSX) because they're both the
same speed and that's what matters when configuring the chip and
the clocks etc.

this is a step toward being able to use a fixed-link node in the
device tree instead of a phy, as is found on the banana pi bpi-r2
pro on the gmac connected to a switch chip.

18 months agorevert vlan(4) inherits TSO flags
dlg [Sat, 22 Apr 2023 04:39:46 +0000 (04:39 +0000)]
revert vlan(4) inherits TSO flags

tb reports amd64 RAMDISK doesn't build with it.

also, vlan_flags_from_parent doesn't look right right. it iterates
over ifnetlist, which is all interfaces in the system, but appears
to assume they're all vlan interfaces and so uses a vlan_softc *
to inspect their if_softc pointers.

18 months agocms_io: sort includes
tb [Fri, 21 Apr 2023 20:36:07 +0000 (20:36 +0000)]
cms_io: sort includes

18 months agocms_io: reverse polarity of an if statement to unindent
tb [Fri, 21 Apr 2023 20:33:37 +0000 (20:33 +0000)]
cms_io: reverse polarity of an if statement to unindent

18 months agocms_io: Remove a stupid else branch
tb [Fri, 21 Apr 2023 20:30:53 +0000 (20:30 +0000)]
cms_io: Remove a stupid else branch

If you can initialize with functions, you can also initialize with
constants...

18 months agoRewrap some lines. No binary change
tb [Fri, 21 Apr 2023 20:08:23 +0000 (20:08 +0000)]
Rewrap some lines. No binary change

18 months agoUnwrap a line
tb [Fri, 21 Apr 2023 19:08:47 +0000 (19:08 +0000)]
Unwrap a line

18 months agoclockintr: prepare to hoist clockqueue_init() out of clockintr_cpu_init()
cheloha [Fri, 21 Apr 2023 16:35:20 +0000 (16:35 +0000)]
clockintr: prepare to hoist clockqueue_init() out of clockintr_cpu_init()

Reorganize the initialization block in clockintr_cpu_init() so that it
doesn't break when clockqueue_init() is called separately:

- If CQ_INTRCLOCK is not set, this is the first clockintr_cpu_init()
  call and we can install the intrclock given as argument.

- If any of the internal clock interrupt handles are NULL, this is the
  first clockintr_cpu_init() call and we need to establish them.

18 months agoclockintr: refactor clockintr_queue initialization into clockqueue_init()
cheloha [Fri, 21 Apr 2023 15:49:37 +0000 (15:49 +0000)]
clockintr: refactor clockintr_queue initialization into clockqueue_init()

We need to be able to initialize a given struct clockintr_queue before
clockintr_cpu_init() is called.  This will allow the primary CPU to
establish clock interrupts on other CPUs' queues before those CPUs
have finished booting.

So, move the clockintr_queue structure initialization code out of
clockintr_cpu_init() into a new function, clockqueue_init().
clockqueue_init() sets CQ_INIT the first time it is called.
Subsequent calls do nothing.

18 months agoclockintr_cpu_init: avoid CQ_INIT flag when scheduling cq_hardclock
cheloha [Fri, 21 Apr 2023 15:33:00 +0000 (15:33 +0000)]
clockintr_cpu_init: avoid CQ_INIT flag when scheduling cq_hardclock

The meaning of the CQ_INIT flag is about to change.  Soon, we won't be
able to use it to decide whether a given clockintr_cpu_init() call is
the first on a given CPU.

Instead, use the value of cl_expiration.  If it's zero, we know this
is the first clockintr_cpu_init() call on this CPU.

18 months agovlan(4) inherits TSO flags
jan [Fri, 21 Apr 2023 14:31:41 +0000 (14:31 +0000)]
vlan(4) inherits TSO flags

tested by Hrvoje Popovski

with tweaks from bluhm and claudio

encouraged from deraadt
ok bluhm

18 months agomg: fix space_to_tabstop
op [Fri, 21 Apr 2023 14:14:13 +0000 (14:14 +0000)]
mg: fix space_to_tabstop

Since the import of mg in the tree, space_to_tabstop used curbp->w_doto
(the byte offset in the current line) as mean to deduce the current
column for indentation.  This is wrong because it doesn't account for
tab, control characters and octets > 127 (which are all rendered with
more than one column.)  Use instead getcolpos().

ok tb@

18 months agoDelete incomplete and unreferenced 'miniroot' entries from
krw [Fri, 21 Apr 2023 14:09:52 +0000 (14:09 +0000)]
Delete incomplete and unreferenced 'miniroot' entries from
arm64 and macppc disktab.

18 months agomg: allow to change the tab width
op [Fri, 21 Apr 2023 13:39:36 +0000 (13:39 +0000)]
mg: allow to change the tab width

This makes the tab width customizable per-buffer.  The new function
`set-tab-width' changes it for the current buffer or the default value
for new buffers if called with a prefix argument (or from the startup
file.)

The default tab width is still 8 column.

Together with the newly resurrected no-tab-mode, allows to use mg for a
variety of programming languages and coding styles.

Note that it's not possible to call set-tab-width with auto-execute in
the startup file due to limitations in how auto-execute and the parser
work.

ok tb@

18 months agoIf gapdummy.c is compiled with -fcf-protection=branch, clang 13
bluhm [Fri, 21 Apr 2023 13:24:20 +0000 (13:24 +0000)]
If gapdummy.c is compiled with -fcf-protection=branch, clang 13
creates and additional section .note.gnu.property.  With that the
linker creates a section .plt in gap.o.  In the end, a .plt section
is also present in the kernel.  There it does not make sense.  As
a quick fix explcitly disable cf protection when compiling gapdummy.c
to gapdummy.o.  There is no code to protect anyway.
OK deraadt@

18 months agos2i_ASN1_INTEGER: make error conditions more explicit, a few more tweaks
tb [Fri, 21 Apr 2023 13:08:16 +0000 (13:08 +0000)]
s2i_ASN1_INTEGER: make error conditions more explicit, a few more tweaks

18 months agos2i_ASN1_INTEGER.3: minor fixes
tb [Fri, 21 Apr 2023 12:28:47 +0000 (12:28 +0000)]
s2i_ASN1_INTEGER.3: minor fixes

Fix botched Xr and be more precise about errors by being less precise.
Add a BUGS section.

18 months agoAdjust ext community handling to support the generic transitive communities
claudio [Fri, 21 Apr 2023 10:49:01 +0000 (10:49 +0000)]
Adjust ext community handling to support the generic transitive communities
introduced with flowspec.
OK tb@

18 months agoAdjust ext community handling to support the generic transitive communities
claudio [Fri, 21 Apr 2023 10:48:33 +0000 (10:48 +0000)]
Adjust ext community handling to support the generic transitive communities
introduced with flowspec.
OK tb@

18 months agoMissing space noticed by Pablo Mendez Hernandez
claudio [Fri, 21 Apr 2023 10:47:07 +0000 (10:47 +0000)]
Missing space noticed by Pablo Mendez Hernandez

18 months agoSync common code with bgpctl with the version from there.
claudio [Fri, 21 Apr 2023 09:28:14 +0000 (09:28 +0000)]
Sync common code with bgpctl with the version from there.
OK tb@

18 months agoImplement flowspec add and delete to add/remove flowspec rules dynamically.
claudio [Fri, 21 Apr 2023 09:12:41 +0000 (09:12 +0000)]
Implement flowspec add and delete to add/remove flowspec rules dynamically.
OK tb@

18 months agoUncomment and document X.509 verifier error codes
tb [Fri, 21 Apr 2023 06:45:56 +0000 (06:45 +0000)]
Uncomment and document X.509 verifier error codes

These are in actual use, so their meaning should be documented.
The remaining commented codes are unused outside of x509_txt.c
except for X509_V_ERR_INVALID_NON_CA which looks used at first
glance, but it is actually in an unreachable path of the legacy
verifier.

18 months agoRemove some (soon to be) outdated documentation
tb [Fri, 21 Apr 2023 06:34:37 +0000 (06:34 +0000)]
Remove some (soon to be) outdated documentation

The documentation of the BN_MOD_CTX has been out of sync with reality
for decades. The structure is now opaque, so its members should not be
documented this way. They internals aren't important for the rest of
the page.

BN_MOD_CTX_init() will soon be removed. It's useless unless you like
leaks.

18 months agoremove duplicate include
jsg [Fri, 21 Apr 2023 06:19:40 +0000 (06:19 +0000)]
remove duplicate include
ok otto@

18 months agoRemove the now unused x509_enum.c
tb [Fri, 21 Apr 2023 06:14:42 +0000 (06:14 +0000)]
Remove the now unused x509_enum.c

18 months agoMove the CRL reason method into x509_bitst.c
tb [Fri, 21 Apr 2023 06:11:56 +0000 (06:11 +0000)]
Move the CRL reason method into x509_bitst.c

The CRL extension handler is completely misplaced in x509_enum.c.
Move it to x509_bitst.c until we find a better home for it. This
way it is next to the other two extension methods that have the
extra usr_data contortion.

18 months agoMove i2s_ASN1_ENUMERATED_TABLE() next to i2s_ASN1_ENUMERATED()
tb [Fri, 21 Apr 2023 06:07:10 +0000 (06:07 +0000)]
Move i2s_ASN1_ENUMERATED_TABLE() next to i2s_ASN1_ENUMERATED()

These functions probably belong into asn1/ but they definitely don't
belong into separate files.

18 months agoTweak whitespace gone wrong
tb [Fri, 21 Apr 2023 06:00:24 +0000 (06:00 +0000)]
Tweak whitespace gone wrong

18 months agoStop using ENUMERATED_NAMES
tb [Fri, 21 Apr 2023 05:56:51 +0000 (05:56 +0000)]
Stop using ENUMERATED_NAMES

This is a public alias for the also public BIT_STRING_BITNAME. The
ENUMERATED_NAMES type is used exactly twice, namely on two lines in this
file. This is silly.

18 months agodrm/amd/pm: correct SMU13.0.7 max shader clock reporting
jsg [Fri, 21 Apr 2023 03:49:31 +0000 (03:49 +0000)]
drm/amd/pm: correct SMU13.0.7 max shader clock reporting

From Horatio Zhang
1f93ed9a684173bbe2cff58cdf135f8ea53156f2 in linux-6.1.y/6.1.25
85e0689eb6b10cd3b2fb455d1b3f4d4d0b13ff78 in mainline linux

18 months agodrm/amd/pm: correct SMU13.0.7 pstate profiling clock settings
jsg [Fri, 21 Apr 2023 03:47:24 +0000 (03:47 +0000)]
drm/amd/pm: correct SMU13.0.7 pstate profiling clock settings

From Horatio Zhang
8464a01508f40a5a65db2036b7137618ee195307 in linux-6.1.y/6.1.25
f06b8887e3ef4f50098d3a949aef392c529c831a in mainline linux

18 months agodrm/amdgpu/gfx: set cg flags to enter/exit safe mode
jsg [Fri, 21 Apr 2023 03:45:40 +0000 (03:45 +0000)]
drm/amdgpu/gfx: set cg flags to enter/exit safe mode

From Jane Jian
8c1e247907b999fbd3bbcb0ad2074949fb0f55ae in linux-6.1.y/6.1.25
e06bfcc1a1c41bcb8c31470d437e147ce9f0acfd in mainline linux

18 months agodrm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs
jsg [Fri, 21 Apr 2023 03:44:04 +0000 (03:44 +0000)]
drm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs

From YuBiao Wang
b4efb6af93ca755f5469114adfd7f26bb944962c in linux-6.1.y/6.1.25
033c56474acf567a450f8bafca50e0b610f2b716 in mainline linux

18 months agodrm/amdgpu: add mes resume when do gfx post soft reset
jsg [Fri, 21 Apr 2023 03:42:20 +0000 (03:42 +0000)]
drm/amdgpu: add mes resume when do gfx post soft reset

From Tong Liu01
df27bcd0cf2b365d78f3875404de2ffb98651768 in linux-6.1.y/6.1.25
4eb0b49a0ad3e004a6a65b84efe37bc7e66d560f in mainline linux

18 months agodrm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
jsg [Fri, 21 Apr 2023 03:40:34 +0000 (03:40 +0000)]
drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F

From Hans de Goede
1fe2ed70c054b141550d397685ca4c32a321c0ae in linux-6.1.y/6.1.25
03aecb1acbcd7a660f97d645ca6c09d9de27ff9d in mainline linux