OpenBSD/src aPk53yzdistrib/arm64/ramdisk Makefile, distrib/loongson/ramdisk Makefile

   Move to "boot-only" media naming like other arch.  noticed by aja
   ok kn
VersionDeltaFile
1.35+3-3distrib/arm64/ramdisk/Makefile
1.35+2-2distrib/loongson/ramdisk/Makefile
+5-52 files

OpenBSD/src vFvwUvBsys/kern kern_srp.c

   fix srp_follow to close a window on use-after-free

   Use srp_enter() to get a new reference to the next element while
   keeping the current element alive. Afterwards the old reference can
   safely be released and the hazard in the caller provided srp_ref
   struct can be updated to the hazard of the new element.

   This is just in time for almost all the SRP code in the tree to go away.

   from Carsten Beckmann carsten_beckmann at genua.de
   ok jmatthew@
VersionDeltaFile
1.15+9-2sys/kern/kern_srp.c
+9-21 files

OpenBSD/src y0UpisHsys/arch/arm64/arm64 intr.c cpu.c, sys/arch/arm64/dev aplintc.c agintc.c

   wire up xcall support.
VersionDeltaFile
1.35+27-4sys/arch/arm64/arm64/intr.c
1.26+9-1sys/arch/arm64/include/intr.h
1.52+9-1sys/arch/arm64/include/cpu.h
1.20+5-1sys/arch/arm64/dev/aplintc.c
1.144+5-1sys/arch/arm64/arm64/cpu.c
1.64+5-1sys/arch/arm64/dev/agintc.c
+60-92 files not shown
+69-108 files

OpenBSD/src YFHVyM4sys/arch/arm64/dev bcm2836_intr.c

   only build and set up ipi handling on MULTIPROCESSOR kernels.

   this is consistent with the other interrupt controller drivers on arm64.
VersionDeltaFile
1.18+7-1sys/arch/arm64/dev/bcm2836_intr.c
+7-11 files

OpenBSD/src 4Ri9YtFsys/dev/pci/drm/amd/amdkfd kfd_svm.c

   drm/amdkfd: Fix GPU mappings for APU after prefetch

   From Harish Kasiviswanathan
   e71a1bafe6f68a9a406f7d59259643c4966f4bde in linux-6.12.y/6.12.62
   eac32ff42393efa6657efc821231b8d802c1d485 in mainline linux
VersionDeltaFile
1.24+2-0sys/dev/pci/drm/amd/amdkfd/kfd_svm.c
+2-01 files

OpenBSD/src VydcJZLshare/zoneinfo leapseconds.awk, share/zoneinfo/datfiles europe iso3166.tab

   Update to 2025cgtz from https://github.com/JodaOrg/global-tz
    o Baja California agreed with California’s DST rules in 1953 and in
      1961 through 1975, instead of observing standard time all year.
    o The leapseconds file contains commentary about the IERS and NIST
      last-modified and expiration timestamps for leap second data.
    o Commentary now also uses UTGF-8 characters.  This also affects
      data in iso3166.tab and zone1970.tab.
VersionDeltaFile
1.95+37-17share/zoneinfo/datfiles/europe
1.33+10-10share/zoneinfo/datfiles/iso3166.tab
1.51+6-8share/zoneinfo/datfiles/antarctica
1.82+7-5share/zoneinfo/datfiles/australasia
1.77+6-5share/zoneinfo/datfiles/africa
1.3+9-2share/zoneinfo/leapseconds.awk
+75-472 files not shown
+84-568 files

OpenBSD/src UwEuzXxgnu/usr.bin/texinfo/util install-info.c

   when using install-info on compressed info files, uncompress from stdin
   rather than passing "< filename" to the shell. from espie, ok tb.
   leaks, but so does the surrounding code.
VersionDeltaFile
1.10+12-3gnu/usr.bin/texinfo/util/install-info.c
+12-31 files

OpenBSD/src QtkG6mGsys/arch/sparc64/sparc64 pmap.c

   Protect the array that keeps track of which MMU contexts are in use with
   a mutex.  Also disable the context stealing code.  It isn't mpsafe and we
   should have more than enough MMU contexts to never need to steal one with
   the current (hard) limites on the number of processes.

   This enables some code that checks that a context that is being freed no
   longer has live entries in the TSB.  This code is somewhat expensive so
   we may want to disable it again in the not too distant future.

   ok deraadt@
VersionDeltaFile
1.127+23-5sys/arch/sparc64/sparc64/pmap.c
+23-51 files

OpenBSD/src pBwvxQSsys/arch/sparc64/sparc64 ipifuncs.c

   The sun4v_send_ipi() function completely blocks interrupts.  This may
   result in failures if there is lots of IPI traffic between CPUs as
   CPUs that are busy sending an IPI won't be able to process incoming IPIs.
   Instead of blocking interrupts, use splhigh() to protect the per-CPU state
   involved in sending IPIs.

   The sun4v_broadcast_ipi() function did not block interrupts and therefore
   lacked protection of the per-CPU state.  This means an IPI sent from an
   interrupt handler could overwrite the state, resulting in TLB flushes being
   sent to the wrong CPUs or with the wrong parameters.  Use splhigh() here
   as well.  This seems to fix (some) of the recent instability seen on
   sparc64 after changes to how we tear down exiting processes.

   ok deraadt@
VersionDeltaFile
1.23+13-7sys/arch/sparc64/sparc64/ipifuncs.c
+13-71 files

OpenBSD/src wvQY22clibexec/snmpd/snmpd_metrics mib.c

   fix a memory leak
   found with clang scan-build, ok martijn@
VersionDeltaFile
1.10+2-1libexec/snmpd/snmpd_metrics/mib.c
+2-11 files

OpenBSD/src k5tD9Khsys/net if_tun.c

   don't call pf_pkt_addr_changed, it's not needed against a new mbuf.

   this means we don't need NPF and pfvar.h

   found by jsg@
VersionDeltaFile
1.256+1-5sys/net/if_tun.c
+1-51 files

OpenBSD/src n57Pp7lsys/dev/usb if_urndisreg.h

   Increase urndis(4) buffer size to 16K.
   Fixes USB tethering issues with Galaxy S20 and S23.

   tested by ratchov@
   ok dlg@ armani@
VersionDeltaFile
1.21+2-2sys/dev/usb/if_urndisreg.h
+2-21 files

OpenBSD/src RVxZgCvsys/arch/arm64/dev smmu_acpi.c

   Skip attaching SMMUv3 on Qualcomm devices like we do for SMMUv2.
VersionDeltaFile
1.11+10-1sys/arch/arm64/dev/smmu_acpi.c
+10-11 files

OpenBSD/src p62VNZcsys/arch/arm64/dev smmu.c

   Fix SMMUv3 StreamID boundary check.  For a StreamID size of 32-bits, the
   upper boundary crosses into 64-bit, so we need to use 1ULL for comparison.
   This fixes use of PCI on Radxa Orion O6 (with SMMUv3 manually enabled).
VersionDeltaFile
1.25+2-2sys/arch/arm64/dev/smmu.c
+2-21 files

OpenBSD/src rw5noG6regress/usr.sbin/bgpd/unittests chash_test.c

   Check that CH_DESTROY works. Also for now check that after CH_DESTROY
   a CH_INSERT still works. This is because the table will be reinitalized
   on first call but it may be something that could change in the long run.
VersionDeltaFile
1.2+7-1regress/usr.sbin/bgpd/unittests/chash_test.c
+7-11 files

OpenBSD/src c7FaJ8busr.sbin/bgpd rde_adjout.c rde_peer.c

   Fix memory leak of the CH tables used by the per-peer pending queues.

   Define CH_DESTROY() and use it in peer_delete() via adjout_peer_free()
   to cleanup the lookup tables used by the pending attribute and prefix
   queues. Also rename adjout_prefix_flush_pending() to
   adjout_peer_flush_pending() since that function does no longer work
   with struct adjout_prefix entries.

   OK tb@
VersionDeltaFile
1.12+29-21usr.sbin/bgpd/rde_adjout.c
1.62+4-4usr.sbin/bgpd/rde_peer.c
1.332+3-2usr.sbin/bgpd/rde.h
1.5+2-1usr.sbin/bgpd/chash.h
+38-284 files

OpenBSD/src dRY8f0Susr.sbin/bgpd chash.c

   fix double free

   found with clang scan-build, ok claudio@
VersionDeltaFile
1.7+1-2usr.sbin/bgpd/chash.c
+1-21 files

OpenBSD/src O5UUHikusr.bin/openssl speed.c

   speed: make hmac(sha256) the default hmac

   MD5 is obsolete. Use a sha256 hash for the HMAC benchmark.

   ok tb@ beck@
VersionDeltaFile
1.50+4-4usr.bin/openssl/speed.c
+4-41 files

OpenBSD/src DNPTq3Bsys/netinet ip_output.c, sys/netinet6 ip6_output.c

   init error to 0 in ip_output_ipsec_send()

   Avoids clang scan-build (false positive) uninitialised var warning.
   ok bluhm@
VersionDeltaFile
1.416+2-2sys/netinet/ip_output.c
1.304+2-2sys/netinet6/ip6_output.c
+4-42 files

OpenBSD/src xmtRMwJsys/net pf.c

   special case mbufs without a ifidx set in pf_match_rcvif.

   this avoids generating a log message saying pf_match_rcvif can't
   resolve an interface if there's no interface to resolve.

   my if_get_smr change in pf_match_rcvif made a lot of logging appear
   on sthen and jesper wallin's firewalls.
VersionDeltaFile
1.1225+4-1sys/net/pf.c
+4-11 files

OpenBSD/src Sj9Esrousr.bin/systat inetname.c

   add missing KAME hack in netstat view

   'systat netstat' would show fe80:1::1:34691 while
   'netstart -n -f inet6' gave fe80::1%rge0.34691 as expected.

   Copy over the infamously scope_id trick from netstat(1) to fix
   displaying IPv6 addresses with embedded interface identifiers.

   OK florian claudio bluhm
VersionDeltaFile
1.4+11-1usr.bin/systat/inetname.c
+11-11 files

OpenBSD/src rrTfjlnusr.sbin/bgpd rde.c rde_adjout.c

   Perpare the adjout_prefix_dump upcalls for the next round of Adj-RIB-Out rework.

   Both the peer and the pt_entry are now passed to the upcall since these
   values will be removed from struct adjout_prefix.
   Adjust all upcalls accordingly and also adjust other code parts of the
   'show rib out' control message handling. Since now the pt_entry is passed
   to the callbacks the other code also should do direct pt_lookup calls.
   With this adjout_prefix_lookup() and adjout_prefix_match() become unused.

   In up_generate_default() the adjout_prefix_lookup() can be removed and
   replaced with a adjout_prefix_first() call after the pte is fetched.

   OK tb@
VersionDeltaFile
1.675+36-33usr.sbin/bgpd/rde.c
1.11+10-49usr.sbin/bgpd/rde_adjout.c
1.331+7-8usr.sbin/bgpd/rde.h
1.61+4-8usr.sbin/bgpd/rde_peer.c
1.189+2-2usr.sbin/bgpd/rde_update.c
+59-1005 files

OpenBSD/src 4AJhVgIusr.bin/fstat fstat.c fstat.1

   fstat: display close-on-fork flag as 'f' in R/W column

   Initial diff from Ricardo Branco with fixes from guenther and me.

   ok guenther jca millert
VersionDeltaFile
1.104+7-5usr.bin/fstat/fstat.c
1.60+3-1usr.bin/fstat/fstat.1
+10-62 files

OpenBSD/src To4Yhgusys/kern kern_lock.c subr_witness.c, sys/sys mutex.h

   replace the cas spinlock in kernel mutexes with a "parking" lock.

   this is motivated because cas based locks are unfair, meaning that
   no effort is made by the algorithm to try and give CPUs access to
   the critical section in the order that they tried to acquire them.
   cas based locks can also generate a lot of work for the cache
   subsystem on a computer because every cpu ends up hammering the
   same cacheline.

   the combination of these effects for heavily contended mutexes can
   get some systems into a situation where they don't make progress,
   and are effectively livelocked.

   this parking mutex mitigates against these problems.

   it's called parking because it was very heavily influnced by what's
   described in https://webkit.org/blog/6161/locking-in-webkit/. the
   big influence is that the lock itself only has to record it's state,
   but the machinery for waiting for the lock is external to the lock.

    [82 lines not shown]
VersionDeltaFile
1.85+262-51sys/kern/kern_lock.c
1.26+10-7sys/sys/mutex.h
1.58+2-2sys/kern/subr_witness.c
+274-603 files

OpenBSD/src SBcBRuRsys/arch/riscv64/conf GENERIC

   Enable USBVERBOSE like we do on other modern architectures

   ok jsg@, mlarkin@, jca@
VersionDeltaFile
1.56+2-1sys/arch/riscv64/conf/GENERIC
+2-11 files

OpenBSD/src abbUGhLusr.sbin/bgpd rde_adjout.c rde.h

   PREFIX_ADJOUT_FLAG_DEAD is no longer needed and can be replaced with
   a check that the attrs pointer is NULL. Refactor the code now a bit
   since the logic got a bit simpler.

   OK tb@
VersionDeltaFile
1.10+10-19usr.sbin/bgpd/rde_adjout.c
1.330+2-4usr.sbin/bgpd/rde.h
+12-232 files

OpenBSD/src oFjrO4asys/kern sys_process.c, sys/sys ptrace.h

   Extend ptrace(2) PT_GET_THREAD_* to include thread names.
   Use a new define larger then _MAXCOMLEN to avoid that define from
   propagating to ptrace.h. Ensure that pts_name is large enough with
   a compile time assert.

   okay claudio@ jca@
VersionDeltaFile
1.107+5-2sys/kern/sys_process.c
1.17+4-1sys/sys/ptrace.h
+9-32 files

OpenBSD/src NhiRmn4lib/libcrypto/x509 x509.h

   x509.h: add missing spaces after ,
VersionDeltaFile
1.125+63-63lib/libcrypto/x509/x509.h
+63-631 files

OpenBSD/src pE8Ozh1regress/usr.sbin/bgpd/unittests bitmap_test.c Makefile

   Add some unit tests for the bitmap api.
VersionDeltaFile
1.1+125-0regress/usr.sbin/bgpd/unittests/bitmap_test.c
1.15+3-1regress/usr.sbin/bgpd/unittests/Makefile
+128-12 files

OpenBSD/src 11TgC0zusr.sbin/bgpd bitmap.c bgpd.h

   Introduce a bitmap API that scales dynamically up but is also minimal for
   the common case.

   Functions include:
   - set, test, clear: set, test and clear a bit in the map
   - empty: check if a bitmap is empty (has no bit set).
   - id_get: return the lowest free id in map
   - id_put: return an id to the map, aka clear
   - init, reset: initialize and free a map

   The first 127 elements are put directly into struct bitmap without further
   allocation. For maps with more than 127 elements external memory is allocated
   in the set function. This memory is only freed by reset which must be called
   before an object is removed containing a bitmap.
   It is not possible to set bit 0 of a bitmap since that bit is used to
   differentiate between access modes. In my use cases this is perfectly fine
   since most code already treats 0 in a special way.

   OK tb@
VersionDeltaFile
1.1+229-0usr.sbin/bgpd/bitmap.c
1.526+17-1usr.sbin/bgpd/bgpd.h
1.45+2-1usr.sbin/bgpd/Makefile
+248-23 files