FreeBSD/src ca66129crypto/openssl/apps testrsa.h, crypto/openssl/crypto/cast cast_s.h

openssl: update to 3.0.21

This change is a security release which resolves several issues with OpenSSL 3.0,
the highest severity issue being ranked "High". Users are strongly encouraged to
update to this release.

More information about the release (from a high level) can be found in
the release notes [1].

Tested with:    (make tinderbox; spotchecks on dev hosts)

1. https://github.com/openssl/openssl/blob/openssl-3.0.21/NEWS.md

- :main and :stable/15 run OpenSSL 3.5 and :stable/14, et al runs
  OpenSSL 3.0.
- This is not a merge commit because our pre-receive checkers still
  don't allow direct MFVs without going through :main first.
- This is a direct commit to stable/14.
DeltaFile
+449-4,467crypto/openssl/apps/testrsa.h
+284-2,821crypto/openssl/test/pkcs12_format_test.c
+224-2,214crypto/openssl/test/evp_extra_test2.c
+257-2,049crypto/openssl/crypto/cast/cast_s.h
+248-1,965crypto/openssl/fuzz/server.c
+129-1,793crypto/openssl/test/siphash_internal_test.c
+1,591-15,309913 files not shown
+5,374-22,558919 files

FreeBSD/src 14e93e3sys/dev/mxge if_mxge.c

mxge(4): Fix a typo in a source code comment

- s/deterimine/determine/

MFC after:      3 days
DeltaFile
+1-1sys/dev/mxge/if_mxge.c
+1-11 files

FreeBSD/src 9d10b4dusr.bin/xinstall xinstall.c install.1

install: drop obsolete file size limit for -C

Removes the file size limit for -C comparisons. The limit was
meant to prevent oversized mmap allocations, which is no longer
relevant as mmap is no longer used here (removed by
a0439a1b820fa0e742c00d095f5f5c06f5f19432, review D44809).
Credit to bdrewery.
See: https://reviews.freebsd.org/D57230

Reviewed by:    bdrewery, glebius, ziaee
Approved by:    glebius (mentor)
Obtained from:  Fudo Security
MFC after:      2 weeks
Sponsored by:   Fudo Security
Differential Revision:  https://reviews.freebsd.org/D57503
DeltaFile
+45-60usr.bin/xinstall/xinstall.c
+2-11usr.bin/xinstall/install.1
+1-1usr.bin/xinstall/Makefile
+48-723 files

FreeBSD/src 64b053ftests/sys/posixshm memfd_test.c

memfd_test: skip hugetlb testcase when large page requests are not supported

Fixes this CI test failure: https://ci.freebsd.org/view/Test/job/FreeBSD-main-riscv64-test/16606/testReport/junit/sys.posixshm/memfd_test/hugetlb/

Reviewed by:    kevans
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57289
DeltaFile
+5-2tests/sys/posixshm/memfd_test.c
+5-21 files

FreeBSD/src b61ab2dshare/man/man5 src.conf.5, share/mk src.opts.mk

src.opts.mk: enable OPENSSL_KTLS by default on riscv64

1e649491b8567151270095fda3bce8faea394952 enabled KERN_TLS in
riscv/conf/GENERIC, but didn't enable OPENSSL_KTLS.

This passes all testcases in the sys/kern/ssl_sendfile suite and
fixes CI failures seen here:
https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/16606/testReport/sys.kern/ssl_sendfile/

PR:     293810
Fixes:  1e649491b8567151270095fda3bce8faea394952
MFC after:      3 days
Reviewed by:    gallatin, ngie
Differential Revision:  https://reviews.freebsd.org/D57316
DeltaFile
+3-3share/man/man5/src.conf.5
+2-2share/mk/src.opts.mk
+5-52 files

FreeBSD/src 1e25cdalib/libc/riscv gd_qnan.h

libc: fix strtold NaN representation on riscv

Regenerate gd_qnan.h on riscv using the qnan.c
config tool found in contrib/gdtoa.

This fixes the following tests in CI:
lib/libc/stdio/scanfloat_test:infinities_and_nans
lib/libc/stdlib/strtod_test:strtold_nan

Reviewed by:    jrtc27
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57405
DeltaFile
+3-3lib/libc/riscv/gd_qnan.h
+3-31 files

FreeBSD/src 9f2a38clib/libc/tests/secure fortify_uio_test.c generate-fortify-tests.lua

libc/fortify_uio_test: replace stdin in base readv tests

This fixes the readv_before_end and preadv_before_end test
timeout failures on riscv.

See https://ci.freebsd.org/job/FreeBSD-main-riscv64-test/lastCompletedBuild/testReport/lib.libc.secure/fortify_uio_test/readv_before_end/

Reviewed by:    kevans, emaste
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57420
DeltaFile
+18-0lib/libc/tests/secure/fortify_uio_test.c
+2-0lib/libc/tests/secure/generate-fortify-tests.lua
+20-02 files

FreeBSD/src 432ac5csys/netpfil/pf pf.c

pf: free match rules after exiting critical section

This fixes a panic reported on armv7:

sys/netpfil/pf/counters:match_block  ->  panic: free: called with spinlock or critical section held
[...]
vpanic() at vpanic
         pc = 0xc0321b5c  lr = 0xc02f7b5c (free+0x140)
         sp = 0xc8c858bc  fp = 0xc8c858e0
         r4 = 0xe2fad648  r5 = 0xe402ce78
         r6 = 0xc8c859e8  r7 = 0x0000001c
         r8 = 0xc8c858b4  r9 = 0xc0321b5c
        r10 = 0xc8c858bc
free() at free+0x140
         pc = 0xc02f7b5c  lr = 0xe2f4f920 ($a+0x5f8)
         sp = 0xc8c858e8  fp = 0xc8c85930
         r4 = 0xe402ce68  r5 = 0xc8c8599c
         r6 = 0xffffffff r10 = 0x0000001c
[...]

    [8 lines not shown]
DeltaFile
+4-4sys/netpfil/pf/pf.c
+4-41 files

FreeBSD/src 331613dsys/kern kern_fail.c

Pause failpoint: replace mtx_sleep with tsleep

Eliminate panic when re-setting a paused failpoint to pause
(address of feq_mtx changes whilst in mtx_sleep, triggering
assertion when reacquiring mtx).

Reviewed by:    rlibby
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2267
DeltaFile
+3-8sys/kern/kern_fail.c
+3-81 files

FreeBSD/src 75a94aeusr.sbin/inetd inetd.8 inetd.c

inetd: Add missing argument to the -p flag description

While here, use the more specific "pidfile" consistently instead of
ambiguous "filename".

Reviewed by:    ziaee
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D57531
DeltaFile
+3-3usr.sbin/inetd/inetd.8
+1-1usr.sbin/inetd/inetd.c
+4-42 files

FreeBSD/src 48d20fdinclude assert.h

libc: Fix assert() sanitiser for C++ contextual bool conversion

Replace the `(bool(*)(bool))` probe in `__assert_sanitize()` with an unevaluated
conditional expression, so types with `explicit operator bool()` that require a
contextually converted constant expression of type `bool` are handled correctly.

Ergo, arity check is now performed separately via `__assert_sanitize_arity()`, a
unary template whose parameter pack must bind to exactly on argument after
`__VA_ARGS__` is substituted into the call.

Also align NDEBUG with C23 requirements.

Reported by:    dim, aokblast
Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Reviewed by:    aokblast, fuz
MFC after:      1 week
Fixes:          867b51452ea78ece0b312a387e63fdbc2a11056a
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2265
DeltaFile
+9-29include/assert.h
+9-291 files

FreeBSD/src 694baf8include stdalign.h

libc: Suppress <stdalign.h> content for C23 and later

C23 deprecates <stdalign.h> and specifies that the header shall
provide no content (§7.15.1).

Signed-off-by:  Faraz Vahedi <kfv at kfv.io>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2223
MFC after:      1 month
Reviewed by:    imp, fuz
DeltaFile
+4-0include/stdalign.h
+4-01 files

FreeBSD/src 6365c45sys/sys elf_common.h

elf_common: Add FDO package metadata note type

Reviewed by:    fuz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57525
DeltaFile
+3-0sys/sys/elf_common.h
+3-01 files

FreeBSD/src 0881f6csecure/lib/libcrypto/man/man3 BIO_s_bio.3 d2i_X509.3, sys/crypto/openssl/powerpc chachap10-ppc.S

crypto/openssl: update artifacts to match 3.5.7 release

MFC after:      3 days
MFC with:       1523ccfd9
DeltaFile
+85-3secure/lib/libcrypto/man/man3/BIO_s_bio.3
+46-4sys/crypto/openssl/powerpc64/chachap10-ppc.S
+46-4sys/crypto/openssl/powerpc/chachap10-ppc.S
+46-4sys/crypto/openssl/powerpc64le/chachap10-ppc.S
+24-16secure/lib/libcrypto/man/man3/d2i_X509.3
+19-10secure/lib/libcrypto/man/man3/SSL_CTX_set_session_id_context.3
+266-41901 files not shown
+1,274-996907 files

FreeBSD/src 1523ccfcrypto/openssl/apps testrsa.h, crypto/openssl/crypto/cast cast_s.h

MFV: openssl 3.5.7

This change is a security release which resolves several issues with OpenSSL 3.5,
the highest severity issue being ranked "High". Users are strongly encouraged to
update to this release.

More information about the release (from a high level) can be found in
the release notes [1].

1. https://github.com/openssl/openssl/blob/openssl-3.5.7/NEWS.md

All conflicts were resolved with `--theirs`, taking the release diff
over the local diff; the conflicts occurred due to preemptive security
fixes applied by so@ in e508c343.

MFC after:      3 days (the important security issues have been
preemptively addressed)
Merge commit '3a71a35ad9dad0e5d2cad8efecc8ba9d57c42d43'


    [6 lines not shown]
DeltaFile
+854-8,335crypto/openssl/test/quic_record_test.c
+449-4,467crypto/openssl/apps/testrsa.h
+380-3,027crypto/openssl/fuzz/dtlsserver.c
+284-2,821crypto/openssl/test/pkcs12_format_test.c
+224-2,214crypto/openssl/test/evp_extra_test2.c
+257-2,049crypto/openssl/crypto/cast/cast_s.h
+2,448-22,913196 files not shown
+7,603-35,267202 files

FreeBSD/src 4bdcff5sys/powerpc/booke machdep_e500.c, sys/powerpc/include spr.h

powerpc/booke: Add watchdog driver

The Book-E watchdog is effectively a state machine based around an AND
mask of the timebase register.  A single bit (0-63) is watched in the
timebase register, and when it transitions (by counting *or* by
programmatically setting) an exception is triggered.  The first
exception triggers a core interrupt.  The second is programmable.
In our case, we panic on the first and reset on second.
DeltaFile
+71-0sys/powerpc/booke/machdep_e500.c
+3-0sys/powerpc/include/spr.h
+74-02 files

FreeBSD/src d08cb1dsys/dev/watchdog watchdog.c

watchdog: Fix a couple type issues

* Force the type of the literal `1` passed to nstosbt() to ensure it's a
  64-bit type (or larger).  Otherwise it gets inconveniently typed to
  int, resulting in truncation.
* Use `flsll()` when converting sbt to power-of-2-nanoseconds to fix
  32-bit compatibility.

PR:             292616
Obtained from:  Hewlett Packard Enterprise
Fixes:  26d6617f3 ("watchdog: Convert to using sbintime_t format")
MFC after:      3 days
DeltaFile
+2-2sys/dev/watchdog/watchdog.c
+2-21 files

FreeBSD/src 4d8fde8usr.sbin/ppp fsm.c

ppp: Reject FSM messages whose length is smaller than the message header

PR:             271843
Reported by:    Robert Morris <rtm at lcs.mit.edu>
Reviewed by:    des, emaste
Differential Revision:  https://reviews.freebsd.org/D57139
DeltaFile
+6-0usr.sbin/ppp/fsm.c
+6-01 files

FreeBSD/src 7e97189usr.sbin/ppp chap.c chap.h

ppp: Permit CHAP challenges up to 255 bytes

RFC 1994 does not place any limit on the length of the value field in
challenge messages except that the length is a single octet which
bounds the maximum length to 255.

NB: I'm not sure why the local[] and peer[] arrays contain room for an
authentication name (AUTHLEN) in addition to a challenge value/response,
but I've just left that in place.

PR:             271955
Reported by:    Robert Morris <rtm at lcs.mit.edu>
Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D57138
DeltaFile
+2-2usr.sbin/ppp/chap.c
+2-2usr.sbin/ppp/chap.h
+1-1usr.sbin/ppp/defs.h
+5-53 files

FreeBSD/src b5a8b93usr.sbin/ppp id.c

ppp: Don't fetch a non-existent variadic argument

Only fetch the optional mode argument to ID0open to pass to open(2) if
O_CREAT is present in the flags argument.  It is UB to fetch an
argument that doesn't exist.  On CHERI this UB results in a fault.

Reviewed by:    brooks
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D57137
DeltaFile
+4-1usr.sbin/ppp/id.c
+4-11 files

FreeBSD/src 0492dbesys/fs/cd9660 cd9660_rrip.c

cd9660: Don't parse RRIP records whose length overflows the sector boundary

PR:             272896
Reported by:    Robert Morris <rtm at lcs.mit.edu>
Reviewed by:    des, emaste
Differential Revision:  https://reviews.freebsd.org/D57135
DeltaFile
+18-8sys/fs/cd9660/cd9660_rrip.c
+18-81 files

FreeBSD/src f2f67dfsys/dev/mii miidevs smscphy.c

mii: Fix SMSC name

The LAN8700 / LAN8710 PHYs were Standard Microsystems Corporation (SMSC)
parts.  I presume SMC was chosen as an abbreviation, but the company
always used SMSC as its short name.

SMSC was acquired by Microchip in 2012.  I kept the pre-acquisition
name, as NetBSD (from where we obtained miidevs) uses SMSC.

Reviewed by:    adrian
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56819

(cherry picked from commit 89c883c09ab5e0fdca7ac5dfe74fcc46b7669eb5)
DeltaFile
+4-4sys/dev/mii/miidevs
+2-2sys/dev/mii/smscphy.c
+6-62 files

FreeBSD/src b203a37sys/compat/linuxkpi/common/include/linux pm_qos.h

linuxkpi: Make pm_qos.h self-contained

Include <linux/types.h> for `false`.  This is needed by amdgpu somewhere
between Linux 6.12 and 6.15.

Reviewed by:    Minsoo Choo <minsoo at minsoo.io>, bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57415

(cherry picked from commit 67df313015906d84d90df8e37795885e81cf8da5)
DeltaFile
+2-0sys/compat/linuxkpi/common/include/linux/pm_qos.h
+2-01 files

FreeBSD/src 4b57028usr.bin/xinstall xinstall.c, usr.bin/xinstall/tests install_test.sh

xinstall: Do not allow -l and -s together

Cannot strip the target if creating a link.

Reviewed by:    des
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57398

(cherry picked from commit 521afce6a859c1d7ac9674e8f21ff45418becaf5)
DeltaFile
+6-0usr.bin/xinstall/xinstall.c
+3-0usr.bin/xinstall/tests/install_test.sh
+9-02 files

FreeBSD/src 166532eusr.bin/xinstall install.1

install.1: Convert link flags to a table

The five link flags get lost in prose.

Reviewed by:    ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57418

(cherry picked from commit 248dd56d2dea03e4723e8225b890d02fcc10973f)
DeltaFile
+13-10usr.bin/xinstall/install.1
+13-101 files

FreeBSD/src 8853447usr.bin/xinstall/tests install_test.sh

xinstall: Add test for -d -s not allowed together

Reviewed by:    des
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57403

(cherry picked from commit 4908bea5b7f5de70032e201e718958ef40bc3b03)
DeltaFile
+7-0usr.bin/xinstall/tests/install_test.sh
+7-01 files

FreeBSD/src 5ccda21usr.bin/xinstall install.1

install.1: Document options incompatible with -s

Reported by:    des
Reviewed by:    ziaee
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57409

(cherry picked from commit b49021b49a78ca6a9e3a1a59c5aa6f2fec503afb)
DeltaFile
+5-1usr.bin/xinstall/install.1
+5-11 files

FreeBSD/src ab8ceaalib/libc/stdlib hcreate.3

hcreate(3): fix incorrect claim that hdestroy frees keys

The man page incorrectly stated that hdestroy() calls free(3) for
each comparison key. The implementation (hdestroy_r.c) only frees
the internal table structure, not the user-provided keys or data.
This matches POSIX, which says hdestroy "shall dispose of the
search table" without mentioning key deallocation.

Update the description to clarify that the caller is responsible
for freeing any memory associated with table entries.

PR: 291240
Signed-off-by: Kit Dallege <xaum.io at gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2095
DeltaFile
+6-5lib/libc/stdlib/hcreate.3
+6-51 files

FreeBSD/src 05a02d3usr.bin/mail mail.1

mail(1): fix temporary file path in FILES section

The FILES section listed /tmp/R* but the source code uses
/tmp/mail.R* (e.g. mail.RsXXXXXXXXXX, mail.ReXXXXXXXXXX,
mail.RxXXXXXXXXXX) as the mkstemp template prefix.

PR: 289980
Signed-off-by: Kit Dallege <xaum.io at gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2103
DeltaFile
+2-2usr.bin/mail/mail.1
+2-21 files

FreeBSD/src 3a71a24sbin/etherswitchcfg etherswitchcfg.8

etherswitchcfg(8): document atu commands

Add documentation for the ATU (Address Translation Unit) commands
that were implemented but not documented in the man page:

- atu dump: display the MAC address table
- atu flush all: clear all dynamic ATU entries
- atu flush port <n>: clear ATU entries for a specific port

Also add atu to the SYNOPSIS section.

PR: 275413
Signed-off-by: Kit Dallege <xaum.io at gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2096
DeltaFile
+20-1sbin/etherswitchcfg/etherswitchcfg.8
+20-11 files