FreeBSD/src dfa0ac7lib/libc/stdio printf.3 mktemp.3, lib/libc/stdlib reallocarray.3 getenv.3

libc: indicate existing functions that are POSIX 2024

Reviewed by:    brooks, imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47581
DeltaFile
+6-0lib/libc/stdio/printf.3
+3-3lib/libc/string/memmem.3
+4-1lib/libc/stdio/mktemp.3
+4-0lib/libc/stdlib/reallocarray.3
+2-1lib/libc/stdlib/getenv.3
+19-55 files

FreeBSD/src f6ed9cdsys/sys cdefs.h

cdefs.h: Document the _XOPEN_SOURCE - 0 construct

Various System V Interface Definition editions, as well as the X/Open
group portability guide issue 4, recommend defining _XOPEN_SOURCE and
broadly intimating it means the same thing as _POSIX_SOURCE == 2.

Starting in X/Open issue 5 (1995), _XOPEN_SOURCE needs to be defined to
be 500 to bring in the newer interfaces. However, it is still common hat
sources define _XOPEN_SOURCE to be blank. To deal with that, we subtract
0 from _XOPEN_SOURCE to make the other expressions well formed.

While here, document that we should define _POSIX_C_SOURCE to be 199209
based on the SVID, the first version of the Single Unix Specification,
and X/Open CAE issue 4, version 2. Also document that historically this
has been a NOP. Any value of _XOPEN_SOURCE < 500 (including it being
blank) was not viewed as a request for a restricted namespace.

Reviewed by:            brooks (earlier version)
Differential Revision:  https://reviews.freebsd.org/D47584
Sponsored by:           Netflix
DeltaFile
+12-1sys/sys/cdefs.h
+12-11 files

FreeBSD/src f95d9ecsys/sys cdefs.h

cdefs: Bump the defaults for 'all'

Bump default to POSIX at 202405, C at 2023 and xopen at 800...

Sponsored by:           Netflix
Reviewed by:            brooks
Differential Revision:  https://reviews.freebsd.org/D47578
DeltaFile
+3-3sys/sys/cdefs.h
+3-31 files

FreeBSD/src aec6c81sys/sys cdefs.h

cdefs: Add FreeBSD _C23_SOURCE extension

Add _C23_SOURCE extension to mirror the _C11_SOURCE define. Unsure how
useful this is.

Sponsored by:           Netflix
Reviewed by:            brooks
Differential Revision:  https://reviews.freebsd.org/D47577
DeltaFile
+6-0sys/sys/cdefs.h
+6-01 files

FreeBSD/src 75b635cshare/man/man9 cdefs.9

cdefs: update for C23 and POSIX24

Also tweak a few placs where we can now use macros for C23 and POSIX24.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D47580
DeltaFile
+24-12share/man/man9/cdefs.9
+24-121 files

FreeBSD/src 4afcb82sys/sys cdefs.h

cdefs: Support _ISOC23_SOURCE and --std=c23

If either _ISOC23_SOURCE is defined or --std=c23 (or higher) is
specified, then default to the making the ISO C visibility to 2023.
This mirrors what glibc does, so update the comment for this change to
_ISOCxx_SOURCE values.  We currently implement xx = 11 or 23. C17 added
no new defines or symbols, so we follow glibc's lead and ommit it.
However, we don't implement the C95, C99 or C2y versions. These are
non-standard and the first two don't seem to be relevant, and the latter
is also experimental.

Sponsored by:           Netflix
Reviewed by:            brooks
Differential Revision:  https://reviews.freebsd.org/D47576
DeltaFile
+13-6sys/sys/cdefs.h
+13-61 files

FreeBSD/src dfce25esys/sys cdefs.h

cdesf: Support _POSIX_C_SOURCE 202405 for POSIX 2024

Allow applications to request a strict POSIX 2024 by setting
_POSIX_C_SOURCE to 202405 or higher. The rest of the system needs tweaks
to be compliant, so this is a work in progress.

Sponsored by:           Netflix
Reviewed by:            brooks
Differential Revision:  https://reviews.freebsd.org/D47575
DeltaFile
+4-1sys/sys/cdefs.h
+4-11 files

FreeBSD/src 94b666csys/sys cdefs.h

cdefs: Allow _XOPEN_SOURCE >= 800

When the user asks for XOPEN_SOURCE >= 800, set __XSI_VISIBLE to 800 for
POSIX 2024.

Sponsored by:           Netflix
Reviewed by:            brooks
Differential Revision:  https://reviews.freebsd.org/D47574
DeltaFile
+5-1sys/sys/cdefs.h
+5-11 files

FreeBSD/src 13e8289share/man/man4 ena.4

ena.4: optimize apropos and hardware

Remove "FreeBSD kernel driver for" and "family", and
add "AWS EC2" and "driver" to the document description
for better search discoveribility and consistency with
other driver manuals.

Rewrite the introductory sentance to the HARDWARE section
with driver name for inclusion in hardware release notes.

MFC after:      3 days
Reviewed by:    osamaabb
Sponsored by:   Google
Sponsored by:   Amazon
DeltaFile
+5-3share/man/man4/ena.4
+5-31 files

FreeBSD/src 012bb7frelease Makefile

release: Exclude container images from globs

We use a *.txz glob to get all of the "distributions" which comprise
the FreeBSD release, but we now (optionally) also build container
images which are .txz files.  Grep those out from the distribution
lists.

A better long-term fix would probably be to generate an explicit list
of the .txz files we want rather than using an overbroad glob and
filtering out the files we *don't* want.

Fixes:          d03c82c28da8 ("release: add optional OCI images")
MFC after:      1 minute
Sponsored by:   Amazon

(cherry picked from commit 47866cdcc7278faa27250dcea16374231c676050)
DeltaFile
+5-5release/Makefile
+5-51 files

FreeBSD/src 47866cdrelease Makefile

release: Exclude container images from globs

We use a *.txz glob to get all of the "distributions" which comprise
the FreeBSD release, but we now (optionally) also build container
images which are .txz files.  Grep those out from the distribution
lists.

A better long-term fix would probably be to generate an explicit list
of the .txz files we want rather than using an overbroad glob and
filtering out the files we *don't* want.

Fixes:          d03c82c28da8 ("release: add optional OCI images")
MFC after:      1 minute
Sponsored by:   Amazon
DeltaFile
+5-5release/Makefile
+5-51 files

FreeBSD/src 8983accinclude/ssp string.h, lib/libc/string memset_explicit.c

lib/libc/string: apply SSP hardening and tests to memset_explicit

Reviewed by:    emaste, kevans
Differential Revision:  https://reviews.freebsd.org/D47286
DeltaFile
+132-0lib/libc/tests/secure/fortify_string_test.c
+9-0lib/libc/tests/secure/generate-fortify-tests.lua
+2-1lib/libc/string/memset_explicit.c
+2-0include/ssp/string.h
+145-14 files

FreeBSD/src 007871cinclude string.h, lib/libc/string memset_explicit.c memset.3

lib/libc/string: add memset_explicit() for compliance with C23

Patterned after explicit_bzero, visible from C23 onwards.

Reviewed by:    emaste, kevans
Differential Revision:  https://reviews.freebsd.org/D47286
DeltaFile
+26-0lib/libc/string/memset_explicit.c
+16-2lib/libc/string/memset.3
+3-1lib/libc/string/Makefile.inc
+4-0lib/libc/string/Symbol.map
+3-0include/string.h
+52-35 files

FreeBSD/src 3ef9e13usr.bin/lock lock.1

lock.1: align options + tag spdx

Reviewed by:    imp, mhorne
MFC after:      3 days
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1522
DeltaFile
+4-1usr.bin/lock/lock.1
+4-11 files

FreeBSD/src e413da1sbin/ipf/ipf ipf.5, sbin/ipf/ipfs ipfs.8

manuals: fix "PP after SS | SH" warnings

The full mandoc warnings were:
    skipping paragraph macro: PP after SS
    skipping paragraph macro: PP after SH

The rendered output (in ascii and html) is not affected by this commit.

Fixes made by script in https://github.com/Tarsnap/freebsd-doc-scripts

Signed-off-by:  Graham Percival <gperciva at tarsnap.com>
Reviewed by:    jlduran, mhorne
MFC after:      1 week
Sponsored by:   Tarsnap Backup Inc.
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1524
DeltaFile
+0-37sbin/ipf/ipf/ipf.5
+0-9sbin/ipf/ipnat/ipnat.5
+0-6sbin/ipf/ippool/ippool.5
+0-3sbin/ipf/ipfs/ipfs.8
+0-3sbin/ipf/ipsend/ipsend.1
+0-3sbin/ipf/ipmon/ipmon.5
+0-6114 files not shown
+0-8220 files

FreeBSD/src bc919e8lib/libpmc pmc.cmn-600.3 pmc.dmc-620.3, stand/man loader.efi.8

man: Misc syntax fixes

- loader.efi.8: use proper way of printing a backslash.
- usr.bin/gzip/gzip.1: contained a non-breaking space (in utf-8, 0xC2A0).
- lib/libpmc/pmc.*.3: remove two duplicate .Xr lines

Signed-off-by:  Graham Percival <gperciva at tarsnap.com>
Reviewed by:    mhorne, Alexander Ziaee <concussious.bugzilla at runbox.com>
MFC after:      3 days
Sponsored by:   Tarsnap Backup Inc.
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1523
DeltaFile
+1-1stand/man/loader.efi.8
+1-1usr.bin/gzip/gzip.1
+0-1lib/libpmc/pmc.cmn-600.3
+0-1lib/libpmc/pmc.dmc-620.3
+2-44 files

FreeBSD/src 125ce84share/mk bsd.subdir.mk

bsd.subdir.mk: Drop broken optimisation for realinstall parallelisation

Not all of the tree is happy for realinstall to be done in parallel. In
particular, Makefile.inc1 uses .WAIT to force etc to be installed after
earlier subdirectories, since etc calls into share/man's makedb to run
makewhatis on the tree and needs all manpages to have been installed.
Also, libexec/Makefile doesn't set SUBDIR_PARALLEL, and the link from
ld-elf32.1 to ld-elf.1 relies on rtld-elf having been installed before
rtld-elf32, otherwise creating the link will fail.

In general, core behavioural differences like this between NO_ROOT and
"normal" builds are also dangerous and confusing.

If this optimisation is deemed important, it should be reintroduced in a
more limited and robust manner that doesn't break the above situations.
Until then value correctness over slight efficiency gains on high core
count machines, the same machines where you're more likely to encounter
issues from this optimisation.


    [12 lines not shown]
DeltaFile
+0-5share/mk/bsd.subdir.mk
+0-51 files

FreeBSD/src 52ef944sys/netinet6 in6_pcb.h in6_pcb.c

inpcb: Constify address parameters to in6 pcb lookup routines

No functional change intended.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
DeltaFile
+8-14sys/netinet6/in6_pcb.h
+8-8sys/netinet6/in6_pcb.c
+16-222 files

FreeBSD/src 3bb15ffsys/netinet6 in6.h in6.c

in6: Constify some sockaddr conversion functions

No functional change intended.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
DeltaFile
+3-3sys/netinet6/in6.h
+2-2sys/netinet6/in6.c
+5-52 files

FreeBSD/src b697835usr.bin/asa/tests asa_test.sh, usr.bin/cmp/tests cmp_test2.sh

Improve reliability of stdout tests.

If the test runner is under heavy load, the command we are testing may
succeed in printing to stdout before the dummy receiver has terminated.
Add a short delay to reduce the likelihood of this happening.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D47572
DeltaFile
+1-0usr.bin/asa/tests/asa_test.sh
+1-0usr.bin/cmp/tests/cmp_test2.sh
+1-0usr.bin/env/tests/env_test.sh
+3-03 files

FreeBSD/src 0b4539esys/netinet in_pcb.c in_pcb.h, sys/netinet6 udp6_usrreq.c

inpcb: gc unused argument of in_pcbconnect()
DeltaFile
+1-2sys/netinet/in_pcb.c
+1-2sys/netinet/in_pcb.h
+1-1sys/netinet/tcp_syncache.c
+1-1sys/netinet/tcp_usrreq.c
+1-1sys/netinet/udp_usrreq.c
+1-1sys/netinet6/udp6_usrreq.c
+6-86 files

FreeBSD/src 81f08f3sys/netinet siftr.c

siftr: remove pointless assertion

The assertion is correct, but isn't useful.  Also it contradicts
its own comment.
DeltaFile
+0-3sys/netinet/siftr.c
+0-31 files

FreeBSD/src 20162e6sys/netinet6 raw_ip6.c

rip6: don't lock the inpcb list

There is no point in doing that when we operate on a particular inpcb.
DeltaFile
+0-5sys/netinet6/raw_ip6.c
+0-51 files

FreeBSD/src fb7c1acsys/netinet tcp_subr.c

tcp: remove the looping on pcb count in tcp_destroy()

This was useful when TCP timers were not able to reliably stop. Note that
in_pcbinfo_destroy() called later asserts that V_tcbinfo.ipi_count is 0.

This reverts 806929d514234, b54e08e11ac15.
DeltaFile
+0-15sys/netinet/tcp_subr.c
+0-151 files

FreeBSD/src b64867esys/arm/freescale/imx imx6_ssi.c, sys/arm/freescale/vybrid vf_sai.c

Revert "sound: Make device registration more intuitive"

These KPI changes will break out-of-tree drivers. Keep the commit only
in -CURRENT.

This reverts commit 5aece3be1c84f6786f89894efeca1219a282f3f3.
DeltaFile
+51-52sys/dev/sound/pcm/sound.c
+6-7sys/dev/sound/pci/hdspe-pcm.c
+6-6sys/arm/freescale/imx/imx6_ssi.c
+6-6sys/arm/freescale/vybrid/vf_sai.c
+7-4sys/dev/sound/usb/uaudio.c
+5-6sys/dev/sound/pci/als4000.c
+81-8125 files not shown
+172-16131 files

FreeBSD/src 45a77bfsys/netinet in_pcb.c, sys/netinet6 in6_pcb.c

inpcb: Make some cosmetic improvements to in_pcbbind()

- Use the local var "laddr" instead of sin->sin_addr in one block.
- Use in_nullhost() instead of explicit comparisons with INADDR_ANY.
- Combine multiple socket options checks into one.
- Fix indentation.
- Remove some unhelpful comments.

This is in preparation for some simplification and bug-fixing.

No functional change intended.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D47451
DeltaFile
+20-24sys/netinet/in_pcb.c
+8-11sys/netinet6/in6_pcb.c
+28-352 files

FreeBSD/src 02dc158share/man/man7 build.7

build: note that DESTDIR must be an absolute path

PR:             282737
Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-0share/man/man7/build.7
+3-01 files

FreeBSD/src 893d044sys/sys param.h

Bump __FreeBSD_version for hiding struct ifnet

Reported by:    olivie@
Sponsored by:   Juniper Networks, Inc.
DeltaFile
+1-1sys/sys/param.h
+1-11 files

FreeBSD/src 9d4428asys/sys libkern.h

<sys/libkern.h>: Don't include <ssp/ssp.h> in the kernel

Reviewed by:    kevans
Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D47519
DeltaFile
+1-1sys/sys/libkern.h
+1-11 files

FreeBSD/src 73da026sys/kern kern_rwlock.c kern_mutex.c

locks: Use %p to print uintptr_t values

Pointers are not the same shape as sizes on CHERI architectures.  Cast
to void * and print with %p instead.

Obtained from:  CheriBSD
Sponsored by:   AFRL, DARPA
Differential Revision:  https://reviews.freebsd.org/D47342
DeltaFile
+4-4sys/kern/kern_rwlock.c
+1-1sys/kern/kern_mutex.c
+5-52 files