FreeBSD/src a97ed3ashare/man/man4 vt.4

vt.4: Sprinkle mdoc macros

Now that we have angle bracket characters for all common display sizes,
sprinkle in the correct macros for the structures in this page. While
here, fix a mdoc typo, a linter warning, and switch a parenthetical to
a much smoother appositive.

MFC after:      3 days
Fixes:          7cd6da268a8f (vt.4: Style pass)
DeltaFile
+35-35share/man/man4/vt.4
+35-351 files

FreeBSD/src 0d602f9contrib/spleen spleen-32x64.bdf spleen-16x32.bdf

contrib/spleen: Update to 2.2.O

This release adds several new characters critical to the manual pages
that were previously missing on high-dpi displays: em-dash, en-dash,
hyphen, angle brackets, white square, dagger, and double dagger. It
also features improved alignment for numerous characters in different
sizes.

Thanks:         Fredric Cambus
MFC after:      3 days
Discussed with: emaste
DeltaFile
+703-64contrib/spleen/spleen-32x64.bdf
+371-20contrib/spleen/spleen-16x32.bdf
+337-27contrib/spleen/spleen-12x24.bdf
+213-6contrib/spleen/spleen-8x16.bdf
+24-0contrib/spleen/ChangeLog
+12-3contrib/spleen/README.md
+1,660-1203 files not shown
+1,669-1299 files

FreeBSD/src 147eec5. spleen-32x64.bdf spleen-16x32.bdf

Vendor import of Spleen font 2.2.0
DeltaFile
+703-64spleen-32x64.bdf
+371-20spleen-16x32.bdf
+337-27spleen-12x24.bdf
+213-6spleen-8x16.bdf
+24-0ChangeLog
+12-3README.md
+1,660-1203 files not shown
+1,669-1299 files

FreeBSD/src 21d665dbin/sh jobs.c, bin/sh/tests/execution bg14.0 Makefile

sh: Fix job pointer invalidation with trapsasync

Calling dotrap() can do almost anything, including reallocating the
jobtab array. Convert the job pointer to an index before calling
dotrap() and then restore a proper job pointer afterwards.

PR:             290330
Reported by:    bdrewery
Reviewed by:    bdrewery
Differential Revision:  https://reviews.freebsd.org/D53793

(cherry picked from commit f44ac8cc9c10d7305223a10b8dbd8e234388cc73)
DeltaFile
+9-0bin/sh/tests/execution/bg14.0
+5-1bin/sh/jobs.c
+1-0bin/sh/tests/execution/Makefile
+15-13 files

FreeBSD/src c0dcdc3bin/sh jobs.c, bin/sh/tests/builtins wait11.0 Makefile

sh: Fix a double free in a rare scenario with pipes

The command
  sh -c 'sleep 3 | sleep 2 & sleep 3 & kill %1; wait %1'
crashes (with appropriate sanitization such as putting
MALLOC_CONF=abort:true,junk:true in the environment or compiling with
-fsanitize=address).

What happens here is that waitcmdloop() calls dowait() with a NULL job
pointer, instructing dowait() to freejob() if it's a non-interactive
shell and $! was not and cannot be referenced for it. However,
waitcmdloop() then uses fields possibly freed by freejob() and calls
freejob() again.

This only occurs if the job being waited for is identified via % syntax
($! has never been referenced for it), it is a pipeline with two or more
elements and another background job has been started before the wait
command. That seems special enough for a bug to remain. Test scripts
written by Jilles would almost always use $! and not % syntax.

    [15 lines not shown]
DeltaFile
+6-0bin/sh/tests/builtins/wait11.0
+2-1bin/sh/jobs.c
+1-0bin/sh/tests/builtins/Makefile
+9-13 files

FreeBSD/src 5f95e0ebin/sh jobs.c, bin/sh/tests/execution bg14.0 Makefile

sh: Fix job pointer invalidation with trapsasync

Calling dotrap() can do almost anything, including reallocating the
jobtab array. Convert the job pointer to an index before calling
dotrap() and then restore a proper job pointer afterwards.

PR:             290330
Reported by:    bdrewery
Reviewed by:    bdrewery
Differential Revision:  https://reviews.freebsd.org/D53793

(cherry picked from commit f44ac8cc9c10d7305223a10b8dbd8e234388cc73)
DeltaFile
+9-0bin/sh/tests/execution/bg14.0
+5-1bin/sh/jobs.c
+1-0bin/sh/tests/execution/Makefile
+15-13 files

FreeBSD/src 6c24c79bin/sh jobs.c, bin/sh/tests/builtins wait11.0 Makefile

sh: Fix a double free in a rare scenario with pipes

The command
  sh -c 'sleep 3 | sleep 2 & sleep 3 & kill %1; wait %1'
crashes (with appropriate sanitization such as putting
MALLOC_CONF=abort:true,junk:true in the environment or compiling with
-fsanitize=address).

What happens here is that waitcmdloop() calls dowait() with a NULL job
pointer, instructing dowait() to freejob() if it's a non-interactive
shell and $! was not and cannot be referenced for it. However,
waitcmdloop() then uses fields possibly freed by freejob() and calls
freejob() again.

This only occurs if the job being waited for is identified via % syntax
($! has never been referenced for it), it is a pipeline with two or more
elements and another background job has been started before the wait
command. That seems special enough for a bug to remain. Test scripts
written by Jilles would almost always use $! and not % syntax.

    [15 lines not shown]
DeltaFile
+6-0bin/sh/tests/builtins/wait11.0
+2-1bin/sh/jobs.c
+1-0bin/sh/tests/builtins/Makefile
+9-13 files

FreeBSD/src d78cbf4sys/arm/arm elf_machdep.c machdep.c, sys/arm/include ifunc.h

arm: Implement kernel ifunc

Add kernel ifunc support on arm.

MFC after :     3 weeks
Reviewed by:    kib (previous version)
Differential Revision:  https://reviews.freebsd.org/D54970
DeltaFile
+21-3sys/arm/include/ifunc.h
+7-1sys/arm/arm/elf_machdep.c
+2-3sys/conf/kern.pre.mk
+2-3sys/arm/arm/machdep.c
+1-1sys/kern/link_elf.c
+1-0sys/sys/elf_common.h
+34-116 files

FreeBSD/src fdbb675tests/sys/fs/fusefs Makefile

Account for the ctl test needing the ctl(4) module

This testcase does not function unless the /dev/ctl/... node exists,
which is created by the ctl(4) module. Require the ctl(4) module to be
loaded so the test can be executed.

MFC after: 1 week
Differential Revision:  https://reviews.freebsd.org/D54518

(cherry picked from commit da59b3147b01203bb18bcd03cce7a6d5916e87c3)
DeltaFile
+3-0tests/sys/fs/fusefs/Makefile
+3-01 files

FreeBSD/src 43dc4b3tests/sys/fs/fusefs Makefile

Account for the ctl test needing the ctl(4) module

This testcase does not function unless the /dev/ctl/... node exists,
which is created by the ctl(4) module. Require the ctl(4) module to be
loaded so the test can be executed.

MFC after: 1 week
Differential Revision:  https://reviews.freebsd.org/D54518

(cherry picked from commit da59b3147b01203bb18bcd03cce7a6d5916e87c3)
DeltaFile
+3-0tests/sys/fs/fusefs/Makefile
+3-01 files

FreeBSD/src 1f5795bshare/man/man4 vt.4, share/syscons/fonts INDEX.fonts

INDEX.fonts: Minor maintenance

+ Mention relevance of this file in the vt manual screen.font entry
+ The vidfont manual is in section one, not eight
+ Remove leftover blank line from freebsd tag removal

MFC after:      3 days
DeltaFile
+3-0share/man/man4/vt.4
+1-2share/syscons/fonts/INDEX.fonts
+1-2share/vt/fonts/INDEX.fonts
+1-2stand/fonts/INDEX.fonts
+6-64 files

FreeBSD/src f43d0accrypto/openssl BSDmakefile

crypto/openssl: fix importing new versions from pristine trees

Prior to this change, CC was not being passed through to Configure,
which was resulting in failures when Configure was running compiler
checks.

Pass through CC via `WRK_ENV` to Configure so the compiler is defined
properly as part of the initial build.

MFC after:      1 month
Fixes:          d18058b7b850 ("crypto/openssl: apply polish to new vendor import process")
Differential Revision:  https://reviews.freebsd.org/D52595

(cherry picked from commit 52c4b76d1dd385fbe33b78172e39a10749b83d13)
DeltaFile
+6-1crypto/openssl/BSDmakefile
+6-11 files

FreeBSD/src f5828b8sys/sys param.h

Bump `__FreeBSD_version` for ee6882e6b1287aa9

While the change in ee6882e6b1287aa9 was likely benign, this commit is
playing it safe by updating __FreeBSD_version, per the libcrypto
dependencies change, as libcrypto now explicitly depends on libpthread
and has threading support explicitly enabled.

This is a direct commit to stable/15.
DeltaFile
+1-1sys/sys/param.h
+1-11 files

FreeBSD/src ee6882esecure/lib/libcrypto Makefile, secure/lib/libcrypto/modules Makefile.inc

OpenSSL: update Makefiles to reflect 3.5.1 release

This is a targeted effort to update the INCS and SRCS entries for
libcrypto, the legacy provider, and libssl to match what upstream
(OpenSSL) builds in their respective libraries.

The number of stylistic changes were kept at a minimum.

Another incoming change will reformat this file to make future
maintenance easier.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D52554

(cherry picked from commit d5984d5f29a7c717b88ccd17a85a747792403cdf)
DeltaFile
+30-19secure/lib/libcrypto/Makefile
+36-5secure/lib/libcrypto/modules/legacy/Makefile
+0-7secure/lib/libcrypto/modules/Makefile.inc
+1-1secure/lib/libssl/Makefile
+1-1share/mk/src.libnames.mk
+68-335 files

FreeBSD/src 490474eusr.sbin/freebsd-update freebsd-update.sh

freebsd-update: sort options alphabetically

This helps future developers when adding additional options handlers in the
surrounding blocks.

This is effectively a no-op.

MFC after:      1 month

(cherry picked from commit 0adec3d7ec96105c402ff2286e402ad63c845066)
DeltaFile
+4-4usr.sbin/freebsd-update/freebsd-update.sh
+4-41 files

FreeBSD/src 28966fcusr.sbin/freebsd-update freebsd-update.sh

freebsd-update: sort options alphabetically

This helps future developers when adding additional options handlers in the
surrounding blocks.

This is effectively a no-op.

MFC after:      1 month

(cherry picked from commit 0adec3d7ec96105c402ff2286e402ad63c845066)
DeltaFile
+4-4usr.sbin/freebsd-update/freebsd-update.sh
+4-41 files

FreeBSD/src 5975766libexec/rc rc.subr

rc.subr(8): run `trailing-whitespace-fixer`

This change deletes benign trailing whitespace from rc.subr, making
future non-stylistic changes easier to spot.

MFC after:      1 week

(cherry picked from commit 4e9041a78690b2c7ea35ab1c548412f2ac69da4d)
DeltaFile
+5-5libexec/rc/rc.subr
+5-51 files

FreeBSD/src d53bd16sys/vm swap_pager.c

Fix OID format for `vm.swap_reserved` and `vm.swap_total`

The correct OID format for CTLTYPE_U64 is `QU` (`uquad_t`), not `A`
(text expressed via `char *`).

This issue was noticed while doing an sysctl tree walk using a
sysctl(9) consumer that relies on the OID format to intuit what the
type should be for a given sysctl.

MFC after:      1 month
Sponsored by:   DellEMC Isilon
Differential Revision: https://reviews.freebsd.org/D34877

(cherry picked from commit 567378cc0796c12f5d4bac79e639e22adf42b12f)
DeltaFile
+2-2sys/vm/swap_pager.c
+2-21 files

FreeBSD/src c2b119eusr.sbin/mptutil mpt_volume.c

Correct size parameter to strncmp

The wrong value passed to strncmp meant that only enable and disable were being
accepted. This change corrects the logic so enabled and disabled are also
accepted.

Pull Request: https://github.com/freebsd/freebsd-src/pull/739
MFC after: 1 week
Reviewed by: delphij, ngie

(cherry picked from commit 5a9c724847f9b4e3831aa2c16276cc2ae20a99cc)
DeltaFile
+2-2usr.sbin/mptutil/mpt_volume.c
+2-21 files

FreeBSD/src 48ba16fsys/modules/iwlwifi Makefile

iwlwifi: fix the gcc build

- Only apply the previously added CWARNFLAGS to `drv.c` instead of the
  whole module.
- Only apply `-Wno-initializer-overrides` to CWARNFLAGS in the clang
  scenario as it's not supported with gcc.

This fixes building the module with gcc and avoids accidentally
introducing tech debt with the module, in the event other issues are
accidentally introduced.

MFC after:      3 days
Fixes:          6b627f8858 ("iwlwifi: update Intel's mvm/mld drivers")
Differential Revision:  https://reviews.freebsd.org/D53591

(cherry picked from commit 2ec6a2e5f01120ea8d4e667e7773d8b140e40c75)
DeltaFile
+2-2sys/modules/iwlwifi/Makefile
+2-21 files

FreeBSD/src 631ff52crypto/openssl FREEBSD-upgrade.md FREEBSD-upgrade

crypto/openssl: update vendor update instructions

This change fills out the requirements for doing vendor updates,
documents the new vendor update process, and guides whoever needs to do
the next version update a bit better than the documentation did prior to
this change so everyone can pitch in with version updates a bit better.

Convert the document to Markdown while here to make it easier to
render/print out the directions in a structured format.

MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D53190

(cherry picked from commit 08cdcff58acb2aec881e42c7f097d6492d864898)
DeltaFile
+202-0crypto/openssl/FREEBSD-upgrade.md
+0-122crypto/openssl/FREEBSD-upgrade
+202-1222 files

FreeBSD/src 1731fc7crypto/openssl/include/openssl ssl.h bio.h

OpenSSL: update vendor sources to match 3.5.5 content

MFC with:       f25b8c9fb4f58cf61adb47d7570abe7caa6d385d
MFC after:      1 week
DeltaFile
+1,423-1,416crypto/openssl/include/openssl/ssl.h
+538-532crypto/openssl/include/openssl/bio.h
+451-462crypto/openssl/include/openssl/asn1t.h
+403-358crypto/openssl/include/openssl/x509v3.h
+344-346crypto/openssl/include/openssl/x509.h
+331-330crypto/openssl/include/openssl/x509_vfy.h
+3,490-3,444946 files not shown
+15,475-11,782952 files

FreeBSD/src f25b8c9crypto/openssl/crypto/ec ecp_nistz256_table.c curve25519.c, crypto/openssl/ssl s3_lib.c

openssl: import 3.5.5

This change adds OpenSSL 3.5.5 from upstream [1].

The 3.5.5 artifact was been verified via PGP key [2] and by SHA256 checksum [3].

This is a security release, but also contains several bugfixes. All of
the CVE-worthy issues have already been addressed on the target
branch(es), so the net-result is that this is a bugfix release.

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

MFC after:      1 week

1. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz
2. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz.asc
3. https://github.com/openssl/openssl/releases/download/openssl-3.5.5/openssl-3.5.5.tar.gz.sha256
4. https://github.com/openssl/openssl/blob/openssl-3.5.5/NEWS.md

    [2 lines not shown]
DeltaFile
+14,894-9,513crypto/openssl/crypto/ec/ecp_nistz256_table.c
+10,184-10,183crypto/openssl/test/ecdsatest.h
+9,620-1,938crypto/openssl/test/quic_record_test.c
+3,601-3,206crypto/openssl/ssl/s3_lib.c
+2,877-2,722crypto/openssl/test/sslapitest.c
+2,625-2,478crypto/openssl/crypto/ec/curve25519.c
+43,801-30,0402,263 files not shown
+199,825-161,2952,269 files

FreeBSD/src fe81e39usr.bin/sockstat main.c

sockstat: Surround explicit IPv6 addresses with brackets

PR:             254611
Approved by:    otis, tuexen, des
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54375
DeltaFile
+9-1usr.bin/sockstat/main.c
+9-11 files

FreeBSD/src ab63669sys/net sff8436.h

sys/net/sff8436.h: Fix the register address of link length of copper or active cable

The register address of link length of copper or active cable is 146 as
per the SFF-8436 specification [1].

[1] 7.6.2 Upper Memory Map Page 00h SFF-8436 Specification (pdf): https://members.snia.org/document/dl/25896

Reviewed by:    imp, zlei
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1885
Closes:         https://github.com/freebsd/freebsd-src/pull/1885

(cherry picked from commit a537694b49f719d84e3a69a2b8a3098f603da7d7)
(cherry picked from commit fdd23fc3d0aacd1c80d0565d736591521b2421fc)
(cherry picked from commit 58cf2a2840532208ab1442fc421ca6c985274c2c)
DeltaFile
+1-1sys/net/sff8436.h
+1-11 files

FreeBSD/src 37de978sys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Avoid out-of-bounds reading the multicast ethernet address

The correct length of an ethernet address is ETHER_ADDR_LEN but not
ETHER_HDR_LEN.

MFC after:      1 week

(cherry picked from commit 85f499be90c15a3de02d1c62ce03b99fab52f925)
(cherry picked from commit 2b01cc15447251862f5e25332fcbf41516f22a3e)
(cherry picked from commit a1828b1226fe8de1325a0e46ec5732268ba4525a)
DeltaFile
+3-3sys/dev/qlnx/qlnxe/qlnx_os.c
+3-31 files

FreeBSD/src f119719sys/dev/liquidio lio_main.c lio_ioctl.c

lio: Avoid out-of-bounds read or write MAC address

While here, replace loop copying the MAC address with memcpy() for
better readability.

Reviewed by:    markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D54177

(cherry picked from commit 094626d3a5009a56bf1b763dbdfc681ce371dc99)
(cherry picked from commit c162d7febbc83c1d877876b18ee864213dceca51)
(cherry picked from commit e8de565f6bb8d91e2882ae5422b8a4a0337e4ca4)
DeltaFile
+4-6sys/dev/liquidio/lio_main.c
+2-2sys/dev/liquidio/lio_ioctl.c
+6-82 files

FreeBSD/src 58cf2a2sys/net sff8436.h

sys/net/sff8436.h: Fix the register address of link length of copper or active cable

The register address of link length of copper or active cable is 146 as
per the SFF-8436 specification [1].

[1] 7.6.2 Upper Memory Map Page 00h SFF-8436 Specification (pdf): https://members.snia.org/document/dl/25896

Reviewed by:    imp, zlei
MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1885
Closes:         https://github.com/freebsd/freebsd-src/pull/1885

(cherry picked from commit a537694b49f719d84e3a69a2b8a3098f603da7d7)
(cherry picked from commit fdd23fc3d0aacd1c80d0565d736591521b2421fc)
DeltaFile
+1-1sys/net/sff8436.h
+1-11 files

FreeBSD/src a1828b1sys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Avoid out-of-bounds reading the multicast ethernet address

The correct length of an ethernet address is ETHER_ADDR_LEN but not
ETHER_HDR_LEN.

MFC after:      1 week

(cherry picked from commit 85f499be90c15a3de02d1c62ce03b99fab52f925)
(cherry picked from commit 2b01cc15447251862f5e25332fcbf41516f22a3e)
DeltaFile
+3-3sys/dev/qlnx/qlnxe/qlnx_os.c
+3-31 files

FreeBSD/src db22431sys/x86/x86 tsc.c

tsc: Use proper prototype for SYSINIT functions

MFC after:      1 week

(cherry picked from commit bf8f6545f6ca41e080cc3bc42009bdf253f596b4)
(cherry picked from commit 81676635bad7e4cec1fee8ab52f1401f37de3d69)
DeltaFile
+1-1sys/x86/x86/tsc.c
+1-11 files