FreeBSD/src f959054sys/contrib/openzfs/.github/workflows/scripts qemu-2-start.sh, sys/contrib/openzfs/lib/libzfs libzfs.abi

zfs: merge openzfs/zfs at 84ffe564d

Notable upstream pull request merges:
 #18387 656285140 Handle raidz errors <= nparity rather than ignoring
 #18401 1cebe8a38 libzfs: report invalid permission name in zfs allow
 #18430 513710ed2 Fix "panic: cache_vop_rename: lingering negative entry"
 #18440 37e3a260f dmu_direct: avoid UAF in dmu_write_direct_done()
 #18445 2eee4ac1e Fix: draid autopkgtests fail on s390x architecture
 #18448 8da472973 key lookup failure should always return EACCES
 #18456 4a58ab8ce zfs.4: document five missing module parameters

Obtained from:  OpenZFS
OpenZFS commit: 84ffe564dff1b7f69d397817ef292cbe2c5ebad3
DeltaFile
+137-7sys/contrib/openzfs/lib/libzfs/libzfs.abi
+94-0sys/contrib/openzfs/tests/zfs-tests/tests/functional/raidz/raidz_zinject.ksh
+75-1sys/contrib/openzfs/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib
+69-0sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_list/zfs_list_009_pos.ksh
+17-36sys/contrib/openzfs/module/zfs/dsl_crypt.c
+42-10sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh
+434-5464 files not shown
+890-26870 files

FreeBSD/src 069681asbin/ping ping.c, sbin/ping/tests ping_test.sh

ping: use CLOCK_REALTIME for ICMP Originate Timestamp

RFC 792 defines the ICMP Originate Timestamp field as milliseconds
since midnight UTC.  However, ping(8) currently derives this value
from CLOCK_MONOTONIC, which represents time since an unspecified
starting point and is not related to UTC.

The issue was introduced by commit 1ad76f1b6047, which replaced
gettimeofday(2) with clock_gettime(CLOCK_MONOTONIC) for timekeeping
in ping(8).

Fix this by using CLOCK_REALTIME when generating the ICMP originate
timestamp.

Before:

$ ping -Mt -c1 127.0.0.1
ICMP_TSTAMP
PING 127.0.0.1 (127.0.0.1): 56 data bytes

    [15 lines not shown]
DeltaFile
+35-0sbin/ping/tests/ping_test.sh
+8-1sbin/ping/ping.c
+43-12 files

FreeBSD/src c4f08d4packages/toolchain Makefile, usr.bin/clang/llvm-ar Makefile

llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package

Some of the LLVM binary utilities were included in the Clang package
(because they did not set an explicit PACKAGE).

Add a new Makefile under clang/toolchain to create the symlinks and man
links for ar, c++filt, nm, and so on (without the llvm-* prefix) when
LLVM_BINUTILS is enabled (as it is by default).

PR:             293610
Reviewed by:    bapt, ivy, brooks
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55692
DeltaFile
+35-0usr.bin/clang/toolchain/Makefile
+0-7usr.bin/clang/llvm-ar/Makefile
+0-7usr.bin/clang/llvm-objcopy/Makefile
+6-0packages/toolchain/Makefile
+0-6usr.bin/clang/llvm-nm/Makefile
+0-6usr.bin/clang/llvm-size/Makefile
+41-265 files not shown
+45-4211 files

FreeBSD/src 0de6295sys/powerpc/powerpc busdma_bounce.c

powerpc: refactor dmamap setup; free dmamap in error paths

* refactor the dmamap allocation / setup path for future code changes
  to align with arm64 busdma code;
* free the dmamap allocation if the dma segment list can't be allocated;
* free the dmamap allocation during the busdma dmamem allocation path
  if the actual memory allocation itself fails.

Locally tested:

* POWER9 ppc64le native boot, Raptor Engineering Blackbird
* POWER8 ppc6le, IBM POWER S822LC

https://reviews.freebsd.org/D56244
DeltaFile
+38-10sys/powerpc/powerpc/busdma_bounce.c
+38-101 files

FreeBSD/src c7040d3sys/powerpc/powerpc busdma_bounce.c

powerpc: busdma declaration shuffling

Shuffle some of the declarations around to match other implementations.
Expected to be a no-op.

Differential Revision: https://reviews.freebsd.org/D56243
DeltaFile
+14-17sys/powerpc/powerpc/busdma_bounce.c
+14-171 files

FreeBSD/src 7c57d24sys/powerpc/powerpc busdma_bounce.c

powerpc: use local flags for bounce buffers instead of common flags

Migrate to using local flags for bounce buffers instead of the
common flag field.

Differential Revision: https://reviews.freebsd.org/D56208
DeltaFile
+19-15sys/powerpc/powerpc/busdma_bounce.c
+19-151 files

FreeBSD/src 00ec88dsys/powerpc/include bus_dma_impl.h, sys/powerpc/powerpc busdma_machdep.c busdma_bounce.c

powerpc: refactor common busdma tag setup

Refactor the common busdma tag setup code into busdma_machdep.c

Locally tested:

* qemu VM, pseries-9 / power9
* qemu VM, pseries-8 / power8

Differential Revision:  https://reviews.freebsd.org/D55340
DeltaFile
+62-3sys/powerpc/powerpc/busdma_machdep.c
+6-35sys/powerpc/powerpc/busdma_bounce.c
+6-0sys/powerpc/include/bus_dma_impl.h
+74-383 files

FreeBSD/src df3bd72sys/powerpc/include bus_dma_impl.h, sys/powerpc/powerpc busdma_machdep.c busdma_bounce.c

powerpc: add in some busdma domain setup

* Implement the basic tag domain set routine
* Set the domain to the parent domain if provided

This is just plumbing for eventual work to re-allocate things into
the currently configured domain.

Differential Revision:  https://reviews.freebsd.org/D55315
DeltaFile
+6-1sys/powerpc/powerpc/busdma_machdep.c
+5-0sys/powerpc/powerpc/busdma_bounce.c
+1-0sys/powerpc/include/bus_dma_impl.h
+12-13 files

FreeBSD/src 330e4f6sys/powerpc/powerpc busdma_machdep.c

powerpc: create a tag with the parents implementation if supplied

If a parent tag is supplied then use its implementation.

Differential Revision:  https://reviews.freebsd.org/D55314
DeltaFile
+13-4sys/powerpc/powerpc/busdma_machdep.c
+13-41 files

FreeBSD/src 3bcb7c2sys/conf files.powerpc, sys/powerpc/include bus_dma.h bus_dma_impl.h

powerpc: initial straight port of busdma_machdep.c -> busdma_bounce.c

This is a straight port of the code and doesn't yet handle
different implementations (which will be in a subsequent commit.)

Locally tested:

* G5 SMP (2x PPC970mp)
* power8 / power9 pseries QEMU VM
* power8 powernv

Differential Revision:  https://reviews.freebsd.org/D55313
DeltaFile
+787-0sys/powerpc/powerpc/busdma_bounce.c
+26-685sys/powerpc/powerpc/busdma_machdep.c
+143-2sys/powerpc/include/bus_dma.h
+82-0sys/powerpc/include/bus_dma_impl.h
+1-0sys/conf/files.powerpc
+0-1sys/powerpc/pseries/phyp_vscsi.c
+1,039-6886 files

FreeBSD/src 459ac30sys/kern vfs_lookup.c

namei: Preserve ABI root for absolute symlinks before fallback

D40479 changed namei() so that an absolute symlink target
encountered during an ABI-root lookup restarts from the native root.
This helps the native fallback case, but it also makes successful
lookups inside an ABI root escape that root while following absolute
symlinks.

Only switch absolute symlink lookup to the native root after namei()
is already in the restarted/native fallback pass.
Do not mark the lookup as restarted merely because an absolute
symlink was encountered while still resolving inside the ABI root.

This preserves the intended native fallback behavior while keeping
absolute symlinks within a successfully resolved ABI-root path in
the ABI namespace.

Signed-off-by:  Ricardo Branco <rbranco at suse.de>
PR:             289739

    [3 lines not shown]
DeltaFile
+9-5sys/kern/vfs_lookup.c
+9-51 files

FreeBSD/src 19ff93c. ObsoleteFiles.inc, contrib/llvm-project/libcxx/include stdint.h cstdint

Revert 00bee6fcd77f, which partially reverted libc++ commit aa7f377c965c

After base 966fb94cb357, this revert is no longer necessary: stdint.h
will unconditionally define macros such as `SIZE_MAX`, `UINT64_C`, and
others.

Submitted by:   Nikolas Klauser <nikolasklauser at berlin.de>
MFC after:      1 month
Reviewed by:    imp
Differential Revision: https://reviews.freebsd.org/D56746
DeltaFile
+0-127contrib/llvm-project/libcxx/include/stdint.h
+0-8contrib/llvm-project/libcxx/include/cstdint
+0-4lib/libc++/module.modulemap
+3-0ObsoleteFiles.inc
+0-1lib/libc++/Makefile
+3-1405 files

FreeBSD/src 966fb94sys/arm/include _stdint.h, sys/arm64/include _stdint.h

Define stdint.h macros unconditionally

Similar to glibc, define all the stdint.h macros such as `SIZE_MAX`,
`UINT64_C`, etc unconditionally. I.e. no longer check whether
`__STDC_CONSTANT_MACROS` or `__STDC_LIMIT_MACROS` are defined. See also
<https://sourceware.org/bugzilla/show_bug.cgi?id=15366>.

This is part of reverting base 00bee6fcd77f, which reverted an upstream
libc++ commit that eliminated libc++'s stdint.h wrapper header.

Submitted by:   Nikolas Klauser <nikolasklauser at berlin.de>
MFC after:      1 week
Reviewed by:    imp
Differential Revision: https://reviews.freebsd.org/D56746
DeltaFile
+0-8sys/arm64/include/_stdint.h
+0-8sys/arm/include/_stdint.h
+0-8sys/powerpc/include/_stdint.h
+0-8sys/riscv/include/_stdint.h
+0-8sys/x86/include/_stdint.h
+0-405 files

FreeBSD/src daeab70sys/powerpc/include _stdint.h, sys/riscv/include _stdint.h

Remove extraneous tab characters at EOL in various _stdint.h files

MFC after:      3 days
DeltaFile
+2-2sys/powerpc/include/_stdint.h
+1-1sys/riscv/include/_stdint.h
+1-1sys/x86/include/_stdint.h
+4-43 files

FreeBSD/src 50bd6eelib/clang/include/llvm/Config config.h

lib/clang: Fix bootstrapping on macOS after LLVM 21 merge

Fixes:          770cf0a5f02d ("Fixups after llvm-project main llvmorg-21-init-19288-gface93e724f4 merge")
MFC after:      1 month
DeltaFile
+2-2lib/clang/include/llvm/Config/config.h
+2-21 files

FreeBSD/src 771a652usr.bin/tail reverse.c

tail(1): Fix -r (reverse) to work on pseudo filesystems

Pseudo filesystems (e.g., procfs) advertise a zero file size.
Fix reverse() to handle such a case similarly as forward() so
that '-r' works on pseudo filesystems.

Signed-off-by:  Aaron LI <aly at aaronly.me>
Reviewed by:    pouria, Ricardo Branco <rbranco at suse.de>, des
Fixes:          1fb3caee7 ("tail: Do not trust st_size if it equals zero.")
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2080

(cherry picked from commit 4feeca3193c316c18472cd40f215446fda3bd739)
DeltaFile
+1-1usr.bin/tail/reverse.c
+1-11 files

FreeBSD/src f35e377usr.bin/tail reverse.c

tail(1): Fix -r (reverse) to work on pseudo filesystems

Pseudo filesystems (e.g., procfs) advertise a zero file size.
Fix reverse() to handle such a case similarly as forward() so
that '-r' works on pseudo filesystems.

Signed-off-by:  Aaron LI <aly at aaronly.me>
Reviewed by:    pouria, Ricardo Branco <rbranco at suse.de>, des
Fixes:          1fb3caee7 ("tail: Do not trust st_size if it equals zero.")
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2080

(cherry picked from commit 4feeca3193c316c18472cd40f215446fda3bd739)
DeltaFile
+1-1usr.bin/tail/reverse.c
+1-11 files

FreeBSD/src 78a9bd0sys/compat/linprocfs linprocfs.c

linprocfs: Continue on error when reading process limits

The process limits may be unavailable due to capsicum. Like other areas
of the system, report what we can w/o error. This is what Linux does.

PR: 283726
Reviewed by: imp, dchagin
Pull Request: https://github.com/freebsd/freebsd-src/pull/1592

(cherry picked from commit ea60d917e5b1943c8638af056dbcdbb3646207f1)
DeltaFile
+4-4sys/compat/linprocfs/linprocfs.c
+4-41 files

FreeBSD/src 5702d24usr.sbin/bsdinstall/scripts auto

bsdinstall: Improve auto-partition message

Manually tuning ZFS for systems with <8GB ram hasn't been necessary at
least since the switch to OpenZFS. We have users reporting using 1GB RAM
with no manual tuning/issues. Further, the page this links to is a stale
wiki page, which is causing complaints. Remove this misleading note and
replace it with a similar message for UFS. While here, reword that note
to be a bit clearer.

PR:                     287719
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D50971

(cherry picked from commit 5ed26c21e4ff1d478d4611abbf3dc14cc1b77244)
DeltaFile
+2-2usr.sbin/bsdinstall/scripts/auto
+2-21 files

FreeBSD/src dd92680share/man/man7 build.7

build.7: Explain update-packages repo signing

MFC after:              3 days
Reported by:            kevans
Reviewed by:            kevans, ngie
Differential Revision:  https://reviews.freebsd.org/D56607

(cherry picked from commit ab98fd3234304ea10db3dee70205828d372c443a)
DeltaFile
+10-1share/man/man7/build.7
+10-11 files

FreeBSD/src ef42bf7share/man/man7 intro.7

intro.7: Reference groups.7

PR:             264966
MFC after:      3 days

(cherry picked from commit 0f91468c040eb2129618e5ac251afc2529edb462)
DeltaFile
+3-1share/man/man7/intro.7
+3-11 files

FreeBSD/src 2c41906share/man/man7 groups.7, usr.bin/id id.1 groups.1

groups.7: New manual page of standard group names

Import groups(7) from NetBSD, with tweaks for our system. The group
list is sorted by GID. All the group names from /usr/src/etc/group
are described, except "uucp". The FILES section was added on top of
the original manual page.

PR:                     264966
Relnotes:               yes
MFC after:              3 days
Obtained from:          NetBSD
Reviewed by:            des, ziaee
Differential Revision:  https://reviews.freebsd.org/D54114

(cherry picked from commit e09104dfb76a36b65a64bd315bd1520941c4beed)
DeltaFile
+345-0share/man/man7/groups.7
+3-2usr.bin/id/id.1
+3-2usr.bin/id/groups.1
+3-2usr.bin/newgrp/newgrp.1
+3-2usr.sbin/chkgrp/chkgrp.8
+2-1usr.sbin/pw/pw.8
+359-96 files not shown
+371-1412 files

FreeBSD/src b5f4547sys/cddl/compat/opensolaris/kern opensolaris_cmn_err.c

dtrace: Improve dmesg kernel message prefix

Provide intuitive log search keywords and increased system consistency.

MFC after:              2 weeks
Reported by:            mav
Reviewed by:            0mp, dteske
OpenZFS change:         d45c8d648 (Improve dmesg kernel message prefix)
Differential Revision:  https://reviews.freebsd.org/D55765

(cherry picked from commit 49e9b3061df036a73e8bc424c026158f3f57b183)
DeltaFile
+7-7sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c
+7-71 files

FreeBSD/src c64ee36krb5/include autoconf.h, krb5/util/build-tools krb5-config.sh Makefile

krb5: Adjust additional version strings

Fixes:          736e411a737b
DeltaFile
+2-2krb5/include/autoconf.h
+1-1krb5/util/build-tools/krb5-config.sh
+1-0krb5/util/build-tools/Makefile
+4-33 files

FreeBSD/src 8583bcbshare/mk bsd.sys.mk

Revert "build: provide a FORTIFY_SOURCE.<src file> override"

This reverts commit c46a0b590716144d772eeba83ca88d96ee12c2f1.  It broke
the build and I'm not awake yet.
DeltaFile
+3-6share/mk/bsd.sys.mk
+3-61 files

FreeBSD/src f4ae41bsys/compat/linux linux_misc.c linux_uid16.c

linux: Implement setfsuid(2) and setfsgid(2) as no-ops

These system calls exist to decouple the Linux filesystem credentials
from the effective credentials, avoiding signal exposure during
privilege transitions.
The signal permission model that motivated this was revised
in Linux 2.0, making these syscalls obsolete for new applications.

Implement both syscalls as no-ops that return the current effective
UID/GID as the previous filesystem UID/GID.
Linux returns the previous filesystem UID/GID for these syscalls
with no error indication.

Same for the equivalent setfsuid16() & setfsgid16() system calls.

Signed-off-by:  Ricardo Branco <rbranco at suse.de>
PR:             294879
Reviewed by:    kib, pouria
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2175
DeltaFile
+26-0sys/compat/linux/linux_misc.c
+14-2sys/compat/linux/linux_uid16.c
+0-2sys/compat/linux/linux_dummy.c
+40-43 files

FreeBSD/src 9c77fb6sys/dev/amdsmu amdsmu.h amdsmu.c

amdsmu: Add Krackan Point support

Reviewed by:    obiwac, emaste
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56619
DeltaFile
+72-26sys/dev/amdsmu/amdsmu.h
+14-4sys/dev/amdsmu/amdsmu.c
+6-1sys/dev/amdsmu/amdsmu_reg.h
+92-313 files

FreeBSD/src 5877718release/pkg_repos release-dvd.conf, release/scripts pkg-stage.sh

Revert "release: Ship firmware from kmods repo on DVD"

As we did in 14.4, this needs to be backed out of 15.1 to fix the
build.  We're going to ship kmods built on 15.0 instead of 15.1 on
the DVD but hopefully those will work.

This reverts commit b0fbed20ceb9b899e7e20bf785e9d303608bc7a0.

Approved by:    re (cperciva)
DeltaFile
+7-18release/scripts/pkg-stage.sh
+0-7release/pkg_repos/release-dvd.conf
+7-252 files

FreeBSD/src 0baae62usr.sbin/ctld login.cc

ctld: normalize iSCSI TargetName on login

Case-insensitive TargetName matching on logins was accidentally removed,
let's fix that by normalizing TargetName again according to RFC 3722.

PR:                     294522
Fixes:                  4b1aac931465f39c5c26bfa1d5539a428d340f20
Sponsored by:           ConnectWise
Reviewed by:            asomers, jhb
Approved by:            asomers (mentor)
Differential Revision:  https://reviews.freebsd.org/D56469

(cherry picked from commit eb837cb8b2073c09bafaf3318f5bb103827b2bca)
DeltaFile
+8-2usr.sbin/ctld/login.cc
+8-21 files

FreeBSD/src 9c18d55lib/libsys execve.2

fexecve(2): call out a scenario where you want !O_EXEC

We note a reason why you might need it, but there's an equally important
reason you may need to omit it: interpreted programs.  Add a note
accordingly, along with the workaround configuration if there's reason
you can't help it.

PR:             294780
Reviewed by:    Jan Bramkamp <crest_freebsd_rlwinm.de>, kib
Differential Revision:  https://reviews.freebsd.org/D56704
DeltaFile
+12-1lib/libsys/execve.2
+12-11 files