OpenBSD/src 6oAhGQksys/dev/ic qwx.c

   Clear and reinitialize the HAL state in our softc when we resume.  While it
   may be ok to keep the state around during a normal suspend/resume, it is
   questionable to do so for unhibernate, where the hardware has been
   fully reset.  This fixes hangs when trying to bring down the interface
   (including when we do so for a suspend or reboot) after an unhibernate.

   ok stsp@
VersionDeltaFile
1.97+9-3sys/dev/ic/qwx.c
+9-31 files

OpenBSD/src 16M8AOCsys/uvm uvm_pmemrange.c

   Don't starve nowait failures behind a large queue of pmr requests.

   1.126 replaced ths flag used to indicate that a nowait allocation
   had failed with a static to be addded to the list for the page
   daemon to process in this case. ensuring the check is done with a lock
   instead of fiddling with a volatile.. ok fine.

   Unlike the previous flag, which was considered before processing the list,
   the static was added to to the tail of the list, therefore adding it behind a
   potentially large queue of pmr requests - which was already known
   to be a problem in version 1.107 as witnessed by this commit message:

    " Make sure low pages are deactivated first when there is a shortage of inactive
      pages.  Without this the system can have a ton of high pages on the active list
      and never swapout anything if there's a shortage of low pages."

   The previous flag could also have been set repeatedly by multipled nowait failures so
   repeated failures would always push the pagedaemon down this path instead of
   processing the list. This change also ensured that only one such "nowait" request

    [19 lines not shown]
VersionDeltaFile
1.80+6-2sys/uvm/uvm_pmemrange.c
+6-21 files

OpenBSD/src CXmdh6Csys/arch/armv7/marvell mvpcie.c, sys/dev/fdt qciic_fdt.c rkiic.c

   Make use of OF_is_enabled() instead of checking the status manually.

   ok kettenis@
VersionDeltaFile
1.7+3-10sys/arch/armv7/marvell/mvpcie.c
1.3+5-7sys/dev/fdt/qciic_fdt.c
1.8+5-7sys/dev/fdt/rkiic.c
1.15+5-7sys/dev/fdt/sxitwi.c
1.5+5-7sys/dev/fdt/mviic.c
1.6+5-7sys/dev/fdt/amliic.c
+28-4515 files not shown
+71-13121 files

OpenBSD/src bs50liysys/dev/ofw fdt.c openfirm.h

   Introduce OF_is_enabled(), a helper function to figure out whether the
   device tree node is available to use or not.  So far we have done this
   manually by explicitly checking for "disabled".  Nowadays though there's
   also "reserved" for devices that are there but shouldn't be touched, and
   at some point we might need to handle "fail", too.  We can't just check
   for "okay" as some device trees only have "ok" or not even a status
   property, which we should treat as "okay".

   ok kettenis@
VersionDeltaFile
1.36+16-1sys/dev/ofw/fdt.c
1.21+2-1sys/dev/ofw/openfirm.h
+18-22 files

OpenBSD/src zszD4Gssys/arch/arm64/arm64 cpu.c

   Only advertise HWCAP2_SVE2 (and other SVE features) if SVE is actually
   supprted.  The SVEver field in ID_AA64ZFR0_EL1 is also for streaming SVE
   mode, which is also known as SME.  An Apple decided to implement SME but
   not SVE on their M4 CPU cores.  So do what Linux does and only set these
   if HWCAP_SVE is set.

   ok jca@, patrick@, kurt@
VersionDeltaFile
1.146+25-13sys/arch/arm64/arm64/cpu.c
+25-131 files

OpenBSD/src FwloF1zshare/man/man5 port-modules.5

   mention MODCMAKE_LDFLAGS
VersionDeltaFile
1.281+4-1share/man/man5/port-modules.5
+4-11 files

OpenBSD/src oiZibkJshare/man/man5 port-modules.5

   sort cmake-related make variables alphabetically
VersionDeltaFile
1.280+10-10share/man/man5/port-modules.5
+10-101 files

OpenBSD/src 09CMc5tshare/man/man5 port-modules.5

   mention USE_NINJA for cmake.port.mk
VersionDeltaFile
1.279+11-6share/man/man5/port-modules.5
+11-61 files

OpenBSD/src adXJuw8sys/net80211 ieee80211_output.c

   announce PMF support only if the access point supports PMF

   Fixes association to buggy access points which will not initiate WPA with
   us if the PMF-capable bit is set in our assoc requests.

   Problem reported by mvs@
VersionDeltaFile
1.145+16-3sys/net80211/ieee80211_output.c
+16-31 files

OpenBSD/src jQydC76sys/net80211 ieee80211_output.c ieee80211_var.h

   update ieee80211_classify to RFC8325 and rate-limit high-prio QoS packets

   The previous implementation based on RFC2474 did not rate-limit high-prio
   packets and had no high-prio mapping for DSCP_EF, which is used by ssh(1).

   The goal of this change is to send DSCP_EF with high QoS priority at the
   wifi layer, without allowing misbehaving applications to send too many
   such packets at once.

   Access points usually send a beacon every 100ms, and everything else must
   happen in-between beacons. Which means, with 2ms per Tx op, a channel will
   start becoming completely blocked if an application can grab about 50 VO Tx
   opportunities per beacon.

   To balance this with typing latency, we need to consider that users are
   typing comfortably at a latency between 20-200ms.

   Based on this, let's aim for roughly 50ms typing latency. Which means we
   want to allow up to 2 VO Tx OPs per 100ms. Beyond this threshold we mark

    [3 lines not shown]
VersionDeltaFile
1.144+82-18sys/net80211/ieee80211_output.c
1.113+3-1sys/net80211/ieee80211_var.h
+85-192 files

OpenBSD/src 4QsdOoXsys/dev/ic bcmgenet.c

   Stop doing `if_timer' modifications. We don't set `if_watchdog' handler
   so the watchdog timeout is not used. However, `if_timer' is prtected with
   kernel lock and this makes upcoming genet_start() unlocking useless.

   If someone want to implement watchdog for bse(4), it should be done in
   mp-safe way, may be with preceding if_slowtimo reworking.

   No objections from kettenis.
VersionDeltaFile
1.10+2-8sys/dev/ic/bcmgenet.c
+2-81 files

OpenBSD/src qvrid1Esys/dev/ic bcmgenet.c

   Do not check ifp->if_flags and ifq_is_oactive() within genet_start().
   Our caller, the interface queues layer, already did this.

   No objections from kettenis.
VersionDeltaFile
1.9+1-6sys/dev/ic/bcmgenet.c
+1-61 files

OpenBSD/src MomHCLYsys/net80211 ieee80211_node.c

   initialize TIDs 4-7 for net80211 TX aggregation

   802.11 QoS has 8 user priorities, of which we only use 4 in our current
   mapping from EDCA categories to Tx aggregation queues. We will soon update
   this mapping for better QoS behaviour and use Tx aggregation on TIDs 4-7.

   ok phessler@
VersionDeltaFile
1.208+45-5sys/net80211/ieee80211_node.c
+45-51 files

OpenBSD/src LJU4iiUusr.bin/tmux screen-write.c

   Redraw pane borders when entering or leaving alternate screen, from Mike
   Jonkmans in GitHub issue 4788.
VersionDeltaFile
1.244+7-3usr.bin/tmux/screen-write.c
+7-31 files

OpenBSD/src Iixsy37usr.bin/tmux format.c

   Do not use client if there isn't one, GitHub issue 4789.
VersionDeltaFile
1.341+4-2usr.bin/tmux/format.c
+4-21 files

OpenBSD/src V1xku7Ulib/libcrypto/asn1 x_pubkey.c

   ASN.1 templates: make internal *_PUBKEY_it static
VersionDeltaFile
1.40+5-5lib/libcrypto/asn1/x_pubkey.c
+5-51 files

OpenBSD/src CEyizRalib/libcrypto/asn1 x_pubkey.c x_name.c

   ASN.1 templates: make ASN1_EXTERN_FUNCS static

   These are used directly only as part of the ASN.1 item in the same file.
VersionDeltaFile
1.39+5-5lib/libcrypto/asn1/x_pubkey.c
1.47+2-2lib/libcrypto/asn1/x_name.c
+7-72 files

OpenBSD/src gN1CtBAbin/ed glbl.c buf.c

   remove unneeded includes; ok deraadt@
VersionDeltaFile
1.21+1-5bin/ed/glbl.c
1.26+1-5bin/ed/buf.c
1.27+1-4bin/ed/io.c
1.15+1-3bin/ed/undo.c
1.71+1-3bin/ed/main.c
1.19+1-3bin/ed/sub.c
+6-231 files not shown
+7-257 files

OpenBSD/src 8PvHsCWsys/net pf.c

   refactor the matching of sk->sk_states entries in pf_find_state()

   ive been looking at and trying to comprehend this code for what
   feels like months of my life, and the af-to handling in particular.
   it wasn't until i found the PF_AFRT handling in pf_test that it
   suddenly clicked.

   i figure it doesnt hurt to pull the code here apart a bit and put
   some comments in place to help future travellers.

   ok sashan@
VersionDeltaFile
1.1229+30-11sys/net/pf.c
+30-111 files

OpenBSD/src 70uhTn9sys/arch/powerpc/include intr.h

   remove unused set_sint() define; ok miod@
VersionDeltaFile
1.58+1-4sys/arch/powerpc/include/intr.h
+1-41 files

OpenBSD/src pUFpIGUsys/uvm uvm_pdaemon.c

   Do not force the page daemon to sleep when there are outstanding paging requests.

   This partially reverts the changes made in rev 1.131

   Currently, this serializes the processing of pmr requests when
   scheduling pageouts into only processing one pmr request. while there
   appears to be a desire not to "over swap" this also I believe means
   we can "under swap" if we can not schedule enough pageouts to
   satisfy this request, at which point I believe we can miss wakeups
   under load - especially if the pmr request can not be satisfied
   and remains on the list.

   I think the intent here can be achieved, but not without some
   careful rework first. The current method of only waking up one
   sleeper on any pmr request is very different from how this
   code worked in the past and very different from the rest of the
   kernel, where processes compete for freed resources to progress
   the entire system forward. Serializing only one pmr requestor
   to be woken up after every round of potentally sceheduling a bunch

    [7 lines not shown]
VersionDeltaFile
1.147+2-2sys/uvm/uvm_pdaemon.c
+2-21 files

OpenBSD/src g7SdJD8sys/uvm uvm_pdaemon.c

   Revert the change made in rev 1.126 of uvm_pdaemon.c

   While the commit message was

   "Do not try to release memory if all we need is balancing the page lists."

   This is not what this actually did. It also removed the minumum amount of
   pages that the page daemon would attempt to free, and most importantly,
   it would make the page daemon potentially go back to sleep when woken
   wihtout waking the sleepers that went to sleep waiting for it to free
   memory and wake them up.

   Since *someone* probably went to sleep when waking the page daemon, and
   today we have no idea if that sleeper's request could have been satisfied
   by the page daemon's free page reserve (as we have no idea how fragmented
   the free pages are, or where they are in memory) this is currently dangerous.

   While the "hack" of freeing up 16 pages every time it is woken is indeed
   a hack, it does mean that something that is failing to allocate will force

    [17 lines not shown]
VersionDeltaFile
1.146+7-30sys/uvm/uvm_pdaemon.c
+7-301 files

OpenBSD/src sQ4jMJsregress/lib/libcrypto/mlkem mlkem768_encap_tests.txt

   unusally -> unusually
VersionDeltaFile
1.2+10-10regress/lib/libcrypto/mlkem/mlkem768_encap_tests.txt
+10-101 files

OpenBSD/src vHx5c01lib/libcrypto/asn1 a_bitstr.c

   a_bitstr: remove parentheses in return statements

   no binary change
VersionDeltaFile
1.48+5-5lib/libcrypto/asn1/a_bitstr.c
+5-51 files

OpenBSD/src l8bhxSKusr.bin/ssh channels.c

   rewrite SOCKS4/4A/5 parsing code to use sshbuf functions instead
   of manual pointer fiddling. Should make the code safer and easier
   to read. feedback/ok markus@
VersionDeltaFile
1.453+198-191usr.bin/ssh/channels.c
+198-1911 files

OpenBSD/src MtTsidFlib/libcrypto/asn1 a_bitstr.c, regress/lib/libcrypto/asn1 Makefile

   i2c_ASN1_BIT_STRING() vs ASN1_STRING_FLAG_BITS_LEFT

   A nasty quirk in the bit string handling is that the serialization
   produced by i2d_ASN1_BIT_STRING() depends on whether the the magic
   ASN1_STRING_FLAG_BITS_LEFT is set.

   If ASN1_STRING_FLAG_BITS_LEFT is set, the number of unused bits is
   carried in a->flags & 0x07 and the remainder of the bit string is
   in a->data. This is terrible and undocumented but handled correctly.

   If ASN1_STRING_FLAG_BITS_LEFT is not set, all trailing zero bits are
   (intended to be) chopped off with all sorts of hilarious side effects.
   I broke this quite thoroughly when I incorrectly ported an overflow
   check from BoringSSL in:
   https://github.com/openbsd/src/commit/f81cc285d2aed8b36615119a306533696f3eb66c

   The result is that we currently return ret = a->length + 1 for both NULL
   and non-NULL pp. The calls to asn1_ex_i2c() in asn1_i2d_ex_primitive()
   thus report consistent lengths back, making it succeed.

    [21 lines not shown]
VersionDeltaFile
1.47+9-10lib/libcrypto/asn1/a_bitstr.c
1.30+1-3regress/lib/libcrypto/asn1/Makefile
+10-132 files

OpenBSD/src JCkRR2gregress/lib/libcrypto/asn1 asn1basic.c

   asn1basic: add missing test from BoringSSL's test suite

   This is another test that fails due to the bug in i2c_ASN1_BIT_STRING().
VersionDeltaFile
1.20+31-0regress/lib/libcrypto/asn1/asn1basic.c
+31-01 files

OpenBSD/src ZREk4weregress/lib/libcrypto/asn1 asn1basic.c Makefile

   asn1basic: switch test to expect correct encoding

   This test fails, so mark the asn1basic test as an expected failure
VersionDeltaFile
1.19+3-3regress/lib/libcrypto/asn1/asn1basic.c
1.29+3-1regress/lib/libcrypto/asn1/Makefile
+6-42 files

OpenBSD/src pMj5zi3regress/lib/libcrypto/asn1 asn1basic.c

   asn1basic: add example showing current bogus encoding

   There is a bug in i2c_ASN1_BIT_STRING() resulting in nonsense encoding of
   some BIT STRINGs with trailing zeroes if ASN1_STRING_FLAG_BITS_LEFT is not
   set (a rare corner case). This test currently passes when it shouldn't.
VersionDeltaFile
1.18+38-1regress/lib/libcrypto/asn1/asn1basic.c
+38-11 files

OpenBSD/src ZcaJ6xGlib/libcrypto/asn1 a_bitstr.c

   i2c_ASN1_BIT_STRING(): zap nonsensical comment

   The /* should not happen */ happens if a->data is all zeroes (where
   there used to be an OOB access a few years back), which is a legitimate
   BIT STRING, so this is just nonsense.

   ok jsing kenjiro
VersionDeltaFile
1.46+2-2lib/libcrypto/asn1/a_bitstr.c
+2-21 files