OpenBSD/src EOGNr6wsys/netinet in.c igmp.c, sys/netinet6 in6.c mld6.c

   Backout: Protect IGMP and MLD6 fast timer with rwlock.

   syzkaller found recursive calls with if_maddrlock.  in_addmulti()
   takes the lock, calls igmp_joingroup(), igmp_sendpkt(), ip_output().
   There in_hasmulti() takes the lock again.  Analog for mld6_sendpkt().

   Reported-by: syzbot+9ef22ca02dffcf088cf6 at syzkaller.appspotmail.com
   Reported-by: syzbot+de6bcf8e746b8a631885 at syzkaller.appspotmail.com
   Reported-by: syzbot+c366cf5e7c87ead7f4f7 at syzkaller.appspotmail.com
VersionDeltaFile
1.277+63-75sys/netinet6/in6.c
1.192+43-59sys/netinet/in.c
1.72+7-15sys/netinet6/mld6.c
1.95+5-17sys/netinet/igmp.c
1.84+4-10sys/netinet6/in6_var.h
1.46+4-10sys/netinet/in_var.h
+126-1863 files not shown
+135-1989 files

OpenBSD/src ZfrCJDCsys/uvm uvm_pdaemon.c

   Use an iterator in uvmpd_scan_active() to prevent a list corruption.

   Releasing the pageqlock without iterator wasn't safe.

   Suggested some time ago by claudio@, reported by and ok bluhm@
VersionDeltaFile
1.145+10-6sys/uvm/uvm_pdaemon.c
+10-61 files

OpenBSD/src YeSJNOlsbin/kbd kbd.8

   While it's clear from this man page that it's possible to list all
   encoding with the -l flag, there is no mention of the hidden .metaesc
   option. Also add reference to wskbd and wsconsctl, which can also be
   used to change the keyboard.encoding.

   ok op@
VersionDeltaFile
1.14+12-2sbin/kbd/kbd.8
+12-21 files

OpenBSD/src N7D2f19sys/netinet in.c igmp.c, sys/netinet6 in6.c mld6.c

   Protect IGMP and MLD6 fast timer with rwlock.

   Multicast interface addresses for IPv4 and IPv6 get their own per
   interface lock.  Protect the TAILQ if_maddrlist with rwlock
   if_maddrlock.  Also struct in_multi and in6_multi use this lock for
   their state and timer.  Sleeps in malloc and IP output are possible.
   Run IGMP and MLD6 fast timeout with shared instead of exclusive net
   lock.

   Reported-by: syzbot+3dcb7e0d63b11f6f341c at syzkaller.appspotmail.com
   OK mvs@
VersionDeltaFile
1.276+75-63sys/netinet6/in6.c
1.191+59-43sys/netinet/in.c
1.94+17-5sys/netinet/igmp.c
1.71+15-7sys/netinet6/mld6.c
1.45+10-4sys/netinet/in_var.h
1.83+10-4sys/netinet6/in6_var.h
+186-1263 files not shown
+198-1359 files

OpenBSD/src 4jwu8jZusr.sbin/httpd server.c server_fcgi.c

   fix scan-build dead stores findings

   - httpd.c:533 – q assigned but immediately overwritten in the loop
   - server.c:891 – inrd/inwr assigned, then reassigned, never actually needed
   - server_fcgi.c:678,690 – kv result unused

   OK stsp@
VersionDeltaFile
1.130+3-6usr.sbin/httpd/server.c
1.99+4-4usr.sbin/httpd/server_fcgi.c
1.76+2-2usr.sbin/httpd/httpd.c
+9-123 files

OpenBSD/src BYCL9dNregress/lib/libcrypto/man check_complete.pl

   check_complete: ASN1_LONG_UNDEF is now internal
VersionDeltaFile
1.42+0-1regress/lib/libcrypto/man/check_complete.pl
+0-11 files

OpenBSD/src Beh7NbZlib/libcrypto/asn1 x_long.c asn1.h

   Unexport ASN1_LONG_UNDEF

   This is another one of these weird magic values that nothing outside
   of libcrypto uses. Fix a confusing comment in long_i2c() while there.
   The skipping behavior is used in particular for omitting the optional
   length value in the non-standard OpenSSL-specific DHparam() ASN.1
   encoding.

   ok jsing kenjiro
VersionDeltaFile
1.23+7-3lib/libcrypto/asn1/x_long.c
1.95+1-4lib/libcrypto/asn1/asn1.h
+8-72 files

OpenBSD/src v3yxDPcsys/arch/amd64/amd64 pmap.c, sys/arch/i386/i386 pmap.c

   These files contain both MP and non-MP versions of the shoot functions
   seperated by #else.  The MP versions contain the code from the non-MP
   versions verbatim.  This adds and #ifdef MULTIPROCESSOR into the MP
   versions makes minor adjustments.  This style will avoid future errors.
   I already almost introduced one..
VersionDeltaFile
1.185+34-102sys/arch/amd64/amd64/pmap.c
1.232+31-47sys/arch/i386/i386/pmap.c
+65-1492 files

OpenBSD/src ZtwlbOwsys/arch/amd64/amd64 pmap.c, sys/arch/i386/i386 pmap.c

   A better name for the "wait" variable is "targets"; the shoot operation
   targets cpus who need to do shootdowns.
VersionDeltaFile
1.184+19-19sys/arch/amd64/amd64/pmap.c
1.231+19-19sys/arch/i386/i386/pmap.c
+38-382 files

OpenBSD/src KOPA2XWsys/arch/amd64/amd64 pmap.c

   change tlb_shoot_wait to int, like on i386, because we don't support more
   than 64 cpus (limited by the mask), and definately less than 4 billion
   ok kettenis
VersionDeltaFile
1.183+8-8sys/arch/amd64/amd64/pmap.c
+8-81 files

OpenBSD/src FoXLfkzusr.bin/openssl openssl.c

   openssl: list SHA-3 digests in help output

   Register sha3-{224,256,384,512} as dgst commands so they appear in
   openssl help. Without this, SHA-3 support is easy to miss and looks
   unsupported from the command line.

   ok tb jsing
VersionDeltaFile
1.41+5-1usr.bin/openssl/openssl.c
+5-11 files

OpenBSD/src TEEX67Xusr.bin/openssl dgst.c

   openssl dgst: drop unused cfg.m

   Remove an unused intermediate EVP_MD pointer and assign digests
   directly to cfg.md.

   ok tb joel
VersionDeltaFile
1.22+2-5usr.bin/openssl/dgst.c
+2-51 files

OpenBSD/src cppeX2Qusr.sbin/relayd relayd.c

   fix scan-build dead stores findings

   OK stsp
VersionDeltaFile
1.196+3-4usr.sbin/relayd/relayd.c
+3-41 files

OpenBSD/src TcBhlasusr.sbin/relayd relay_http.c

   fix missing initialisation

   It is possible that "request_method" is checked without having been
   initialised in line 439.

   OK kirill@ stsp@
VersionDeltaFile
1.92+2-2usr.sbin/relayd/relay_http.c
+2-21 files

OpenBSD/src CZfl9RWlib/libcrypto/mlkem mlkem_internal.c mlkem.c

   mlkem: clear a few (pointers to) secrets

   The ML-KEM code is doing a pretty poor job at cleaning up secrets it no
   longer needs. This commit clears a few stack-based arrays containing
   secrets or not obviously public information and stack-based structs
   containing pointers to secrets.

   ok jsing kenjiro
VersionDeltaFile
1.5+37-9lib/libcrypto/mlkem/mlkem_internal.c
1.6+10-4lib/libcrypto/mlkem/mlkem.c
+47-132 files

OpenBSD/src oXN8dwFlib/libcrypto/mlkem mlkem_internal.c mlkem_key.c, regress/lib/libcrypto/mlkem mlkem_tests.c mlkem_iteration_tests.c

   Rename RANK{768,1024} to MLKEM{768,1024}_RANK

   RANK768 and RANK1024 are awfully short and generic names for public
   constants. Before we make it worse with similarly named constants for
   ML-DSA, let's fix this. This follows the naming convention used by the
   other macros in the mlkem code.

   ok kenjiro jsing
VersionDeltaFile
1.4+19-19lib/libcrypto/mlkem/mlkem_internal.c
1.5+13-13lib/libcrypto/mlkem/mlkem_key.c
1.11+11-11regress/lib/libcrypto/mlkem/mlkem_tests.c
1.9+9-9lib/libcrypto/mlkem/mlkem.h
1.5+6-6lib/libcrypto/mlkem/mlkem.c
1.9+5-5regress/lib/libcrypto/mlkem/mlkem_iteration_tests.c
+63-633 files not shown
+72-729 files

OpenBSD/src ZdPkb4Fshare/man/man1 dpb.1

   document wipe-all
VersionDeltaFile
1.35+5-2share/man/man1/dpb.1
+5-21 files

OpenBSD/src Huuv7q4usr.sbin/relayd carp.c

   relayd: fix dead store and unindent carp_demote_init

   Found by scan-build:
   carp.c:64:7: warning: Although the value stored to 'c' is used in the
   enclosing expression, the value is never actually read from 'c'
   [deadcode.DeadSt ores]
      64 |         if ((c = carp_group_find(group)) == NULL)

   Feedback from Crystal Kolipe and tb@, OK tb@
VersionDeltaFile
1.13+20-21usr.sbin/relayd/carp.c
+20-211 files

OpenBSD/src Ip0l1nrsys/kern init_main.c

   copyright++;
VersionDeltaFile
1.331+2-2sys/kern/init_main.c
+2-21 files

OpenBSD/src Ygg3EZmlib/libcrypto/x509 x509.h

   x509.h: annotate why X509_PKEY cannot be made opaque
VersionDeltaFile
1.126+2-1lib/libcrypto/x509/x509.h
+2-11 files

OpenBSD/src kIFMD51sys/netinet tcp_output.c

   unifdef m_copypack() use

   These ifdefs date back to 1990 in CSRG (SCCS rev 7.20).
   m_copypack() never existed in CSRG releases as far as I can tell.

   ok deraadt@ mvs@
VersionDeltaFile
1.158+1-18sys/netinet/tcp_output.c
+1-181 files

OpenBSD/src Gz03Uvfbin/ksh ksh.1

   Correct POSIX ISBN.  1-55937-255-9 was mistakenly changed to
   1-55937-266-9 when the page was converted to mdoc in rev 1.15
   ok millert@
VersionDeltaFile
1.223+3-3bin/ksh/ksh.1
+3-31 files

OpenBSD/src 5n2VDGJregress/lib/libcrypto/x509 x509_extensions_test.c

   constaints -> constraints
VersionDeltaFile
1.4+2-2regress/lib/libcrypto/x509/x509_extensions_test.c
+2-21 files

OpenBSD/src Bs2shuYlib/libcrypto/asn1 asn1.h, lib/libcrypto/man ASN1_STRING_TABLE_get.3

   Remove STABLE_FLAGS_MALLOC

   Formerly used by ASN1_STRING_TABLE_{add,cleanup}() which were removed two
   years ago. Annotate why STABLE_NO_MASK stays: as usual, security/xca ends
   up being the sole consumer of some nonsense. Apparently it needs its own
   reimplementation of ASN1_STRING_set_by_NID(), another removable public API
   that should never have been exposed.

   ok kenjiro
VersionDeltaFile
1.94+3-2lib/libcrypto/asn1/asn1.h
1.6+2-3lib/libcrypto/man/ASN1_STRING_TABLE_get.3
+5-52 files

OpenBSD/src IRNVASiusr.sbin/rpki-client main.c

   rpki-client: clean up msgbufs when we no longer need them

   ok claudio
VersionDeltaFile
1.303+7-1usr.sbin/rpki-client/main.c
+7-11 files

OpenBSD/src Ve60VWdlib/libcrypto/modes gcm128_i386.c

   Require SSE in order to use gcm_{gmult,ghash}_4bit_mmx().

   Contrary to naming, the '"June" MMX version' of gcm_ghash_4bit_mmx() uses
   SSE, while the 'pure-MMX "May" version' does not. This detail got missed
   when I was untangling OPENSSL_IA32_SSE2.

   Found the hard way by Tate Baldwin and Dennis Camera.
VersionDeltaFile
1.2+2-2lib/libcrypto/modes/gcm128_i386.c
+2-21 files

OpenBSD/src Q0J8gWelib/libcrypto/arch/i386 crypto_cpu_caps.c crypto_arch.h

   Provide CRYPTO_CPU_CAPS_I386_SSE
VersionDeltaFile
1.7+4-2lib/libcrypto/arch/i386/crypto_cpu_caps.c
1.14+2-1lib/libcrypto/arch/i386/crypto_arch.h
+6-32 files

OpenBSD/src 2YhgoDrusr.sbin/rpki-client filemode.c

   rpki-client: plug a leak in filemode

   When displaying an rsync:// uri, filemode would load the file into the
   buf pointer which is never freed. Surprisingly, various static analysis
   tools fail to notice this.

   ok job
VersionDeltaFile
1.74+5-2usr.sbin/rpki-client/filemode.c
+5-21 files

OpenBSD/src 2tkkHxIsys/netinet6 ip6_var.h

   remove unused ip6_sendredirect extern
   the variable is ip6_sendredirects, which has another extern here
VersionDeltaFile
1.129+1-2sys/netinet6/ip6_var.h
+1-21 files

OpenBSD/src tW0Q4xRsys/netinet tcp_timer.h

   remove unused tcp_ttl extern, var replaced by ip_defttl in 1993
VersionDeltaFile
1.28+1-2sys/netinet/tcp_timer.h
+1-21 files