FreeBSD/src f5b6c8f — lib/libkvm kvm_open.3, lib/libsys socket.2

manpages: Fix unusual Xr order
DeltaFile
+2-2lib/libkvm/kvm_open.3
+1-1lib/libsys/socket.2
+3-32 files

FreeBSD/src 3208a17 — lib/msun/man fmaximum.3 fegetround.3

manpages: Fix unusual Xr order
DeltaFile
+2-2lib/msun/man/asinpi.3
+2-2lib/msun/man/acospi.3
+1-1lib/msun/man/fmaximum.3
+1-1lib/msun/man/fegetround.3
+1-1lib/msun/man/fegetmode.3
+7-75 files

FreeBSD/src afe20e8 — lib/libc/gen uexterror.3 uexterr_gettext.3, lib/libc/stdlib/malloc free_sized.3

manpages: Fix unusual Xr order
DeltaFile
+5-5lib/libc/stdlib/malloc/free_sized.3
+1-1lib/libc/gen/uexterror.3
+1-1lib/libc/gen/uexterr_gettext.3
+7-73 files

FreeBSD/src 4560b19 — lib/libc/stdbit stdc_trailing_zeros.3 stdc_trailing_ones.3

manpages: Fix unusual Xr order
DeltaFile
+2-2lib/libc/stdbit/stdc_trailing_zeros.3
+2-2lib/libc/stdbit/stdc_trailing_ones.3
+2-2lib/libc/stdbit/stdc_leading_zeros.3
+2-2lib/libc/stdbit/stdc_leading_ones.3
+2-2lib/libc/stdbit/stdc_first_trailing_zero.3
+2-2lib/libc/stdbit/stdc_first_trailing_one.3
+12-122 files not shown
+16-168 files

FreeBSD/src c1bc473 — lib/libsys pdfork.2

pdfork.2: improve markup

(cherry picked from commit cf63e3f3cd8e37a84bb80c9944e5a8e004a58286)
DeltaFile
+1-1lib/libsys/pdfork.2
+1-11 files

FreeBSD/src 7787316 — sys/amd64/linux linux_sysvec.c, sys/amd64/linux32 linux32_sysvec.c

sys: centralize SV_* flags definitions for ELF Linux ABIs

(cherry picked from commit 8dfa23d81f5e0969ac31c34279201f9286358e44)
DeltaFile
+1-3sys/i386/linux/linux_sysvec.c
+1-3sys/amd64/linux32/linux32_sysvec.c
+1-2sys/arm64/linux/linux_sysvec.c
+1-2sys/amd64/linux/linux_sysvec.c
+2-0sys/sys/sysent.h
+6-105 files

FreeBSD/src e29de8c — sys/amd64/amd64 elf_machdep.c, sys/arm/arm elf_machdep.c

sys: centralize SV_* flags definitions for several FreeBSD ABIs

(cherry picked from commit f69d974bf6d2f7ccaa3e6a5f9609cfca0d66ec8d)
DeltaFile
+2-6sys/amd64/amd64/elf_machdep.c
+2-4sys/powerpc/powerpc/elf64_machdep.c
+1-3sys/compat/ia32/ia32_sysvec.c
+1-3sys/arm/arm/elf_machdep.c
+1-2sys/riscv/riscv/elf_machdep.c
+3-0sys/sys/sysent.h
+10-183 files not shown
+13-249 files

FreeBSD/src 15f2dc6 — sys/sys sysent.h

sys/sysent.h: align SV_* flags values, provide full 32bit

(cherry picked from commit dca0b0ad8bc7df6119b04d1b766289406e3274a3)
DeltaFile
+13-13sys/sys/sysent.h
+13-131 files

FreeBSD/src 9dcc205 — sys/amd64/linux linux_sysvec.c, sys/amd64/linux32 linux32_sysvec.c

devfs: make persistent controlling terminal an ABI property

(cherry picked from commit e8923c7346a882418352683f72e7c4f8e68d6907)
DeltaFile
+7-1sys/fs/devfs/devfs_vnops.c
+3-2sys/i386/linux/linux_sysvec.c
+2-1sys/amd64/linux32/linux32_sysvec.c
+1-1sys/arm64/linux/linux_sysvec.c
+1-1sys/amd64/linux/linux_sysvec.c
+1-0sys/sys/sysent.h
+15-66 files

FreeBSD/src fb97b4f — share/man/man4 termios.4

termios.4: clarify the behavior on the last close of controlling terminal

(cherry picked from commit 44961edac85505ddd7d6670b8e0bfba9cbb7c70b)
DeltaFile
+6-5share/man/man4/termios.4
+6-51 files

FreeBSD/src 8328ca3 — sys/compat/linux linux_ptrace.c

linux: Implement PTRACE_GETREGSET NT_PRFPREG and NT_X86_XSTATE

Implement NT_PRFPREG and NT_X86_XSTATE for PTRACE_GETREGSET on amd64.
Chrome's crashpad handler uses these to collect floating-point and
extended CPU register state for crash dumps.

Other architectures retain the previous EINVAL stub behavior.

Signed-off-by:  Ricardo Branco <rbranco at suse.de>
PR:             289285
Reviewed by:    kib
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2165

(cherry picked from commit c515e6040614434a9262ee8b5ac54b81476ec7ff)
DeltaFile
+85-6sys/compat/linux/linux_ptrace.c
+85-61 files

FreeBSD/src d8f8031 — sys/amd64/linux linux.h linux_machdep.c

linux: Add linux_pt_fpregset and bsd_to_linux_fpregset() for amd64

Add struct linux_pt_fpregset, the amd64 Linux NT_PRFPREG payload,
corresponding to user_i387_struct in Linux. The struct describes
the 512-byte FXSAVE area as exposed by PTRACE_GETREGSET.

Add bsd_to_linux_fpregset() to translate from FreeBSD's struct fpreg
to struct linux_pt_fpregset. Fields are extracted from the fpr_env[]
array which stores the FXSAVE environment packed as four 64-bit words.
The FP and XMM register banks are bulk-copied as opaque byte arrays.

Signed-off-by:  Ricardo Branco <rbranco at suse.de>
Reviewed by:    kib
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2165

(cherry picked from commit b84d31ee74535a0026ff83f2a34c07b7557f9785)
DeltaFile
+20-0sys/amd64/linux/linux_machdep.c
+18-0sys/amd64/linux/linux.h
+38-02 files

FreeBSD/src 29b79c5 — sys/amd64/linux linux.h, sys/amd64/linux32 linux.h

linux: Ignore sigaction(2) flags SA_UNSUPPORTED and SA_EXPOSE_TAGBITS

SA_UNSUPPORTED was introduced in Linux 5.11 to probe support
for other flags such as SA_EXPOSE_TAGBITS, introduced
at the same time. Ignore both.

Signed-off-by:  Ricardo Branco <rbranco at suse.de>
PR:             289285
Reviewed by:    pouria, kib
Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2163

(cherry picked from commit fdea83a5f63b881ade91c6cc9dfbf173137512c5)
DeltaFile
+8-0sys/compat/linux/linux_signal.c
+2-0sys/i386/linux/linux.h
+2-0sys/arm64/linux/linux.h
+2-0sys/amd64/linux32/linux.h
+2-0sys/amd64/linux/linux.h
+16-05 files

FreeBSD/src 6e8786b — sys/amd64/amd64 pmap.c, sys/arm64/arm64 pmap.c

amd64/arm64 pmap: consistently clear PGA_WRITEABLE

We don't consistently clear PGA_WRITEABLE on fictitious, managed pages.
Some functions do, e.g., pmap_remove_all(), but several do not.  At
worst, this is just a pessimization, but there is no good reason to be
inconsistent.  Clear PGA_WRITEABLE in those that previously did not by
introducing (and using) the helper function pmap_page_is_mapped_locked()
that implements the correct test.

(cherry picked from commit 37321270b630d891e48851f81dd6d077ebd6b635)
DeltaFile
+28-36sys/arm64/arm64/pmap.c
+25-28sys/amd64/amd64/pmap.c
+53-642 files

FreeBSD/src 91d8163 — libexec/rtld-elf rtld.c

rtld: fix leak in get_program_var_addr() on the error path

Fixes:  1e370f038778 ("rtld: stop using unbound alloca()")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+3-1libexec/rtld-elf/rtld.c
+3-11 files

FreeBSD/src 175595b — libexec/rtld-elf rtld.c

dl_iterate_phdr(3): do not return garbage for objects not using TLS

For objects without a TLS segment, tlsindex is zero. tls_get_addr_slow()
then reads dtv_slots[-1], which is dtv_size, and returns it as the TLS
address. Set dlpi_tls_data to NULL for such objects instead.

Fixes:  d36d68161517 ("rtld dl_iterate_phdr(): dlpi_tls_data is wrong")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+6-2libexec/rtld-elf/rtld.c
+6-21 files

FreeBSD/src e2979f4 — libexec/rtld-elf rtld.c

rtld: some cosmetics in donelist_init()

Add a missing word in the comment.
Make each assignment a separate statement.
Fix formatting.

Fixes:  1e370f038778 ("rtld: stop using unbound alloca()")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+5-5libexec/rtld-elf/rtld.c
+5-51 files

FreeBSD/src 83fdec2 — sys/kern vfs_init.c

vfs_register: prevent kernel crash

vfs_register hashes the filesystem name and uses it for sysctl oids.
A filesystem name which hashes to 0 crashes in sysctl_register_oid().

Map 0 to 1 to prevent the kernel crash.

This can be tested with "udf2" as the filesystem name.

MFC after:      1 month
MFC to:         stable/15 stable/14
Reviewed by:    kib
Differential Revision: https://reviews.freebsd.org/D59839

(cherry picked from commit 3897678132e71df70dbb18bf8e2f19124beee5d7)
DeltaFile
+2-0sys/kern/vfs_init.c
+2-01 files

FreeBSD/src f581891 — sys/kern vfs_init.c

vfs_register: prevent kernel crash

vfs_register hashes the filesystem name and uses it for sysctl oids.
A filesystem name which hashes to 0 crashes in sysctl_register_oid().

Map 0 to 1 to prevent the kernel crash.

This can be tested with "udf2" as the filesystem name.

MFC after:      1 month
MFC to:         stable/15 stable/14
Reviewed by:    kib
Differential Revision: https://reviews.freebsd.org/D59839

(cherry picked from commit 3897678132e71df70dbb18bf8e2f19124beee5d7)
DeltaFile
+2-0sys/kern/vfs_init.c
+2-01 files

FreeBSD/src 6a936d9 — contrib/llvm-project/libunwind/include __libunwind_config.h, contrib/llvm-project/libunwind/src UnwindCursor.hpp

Merge commit 4d7292e58078 from llvm-project (by Minsoo Choo):

  [libunwind] Unwind through AArch64 FreeBSD signal trampolines (#235065)

  Retried from https://reviews.llvm.org/D155066.

  Recognize signal trampolines using KERN_PROC_SIGTRAMP when unwind
  metadata is unavailable. Restore the interrupted PC, LR, SP, general
  registers, and valid floating-point registers.

  Add coverage for unwinding out of an interrupted leaf function on both
  regular and alternate signal stacks.

  Assisted-by: GPT

MFC after:      1 week
DeltaFile
+76-1contrib/llvm-project/libunwind/src/UnwindCursor.hpp
+3-0contrib/llvm-project/libunwind/include/__libunwind_config.h
+79-12 files

FreeBSD/src 28ec7cb — contrib/llvm-project/libunwind/src assembly.h UnwindCursor.hpp

Merge commit fd4113508a64 from llvm-project (by Minsoo Choo):

  [libunwind] Support extended amd64 segment registers (#229176)

  Raise the amd64 DWARF register limit to 59 and add RFLAGS, all six
  segment selectors, FS.base, and GS.base to the register model. Capture
  the extended state and restore it when resuming, using sigreturn() on
  FreeBSD to restore selectors and bases together. Pack the state into the
  existing context buffers without changing their public sizes or the
  Windows XMM offsets.

  Add tests for register access, signal-frame CFI recovery, register
  bounds, and resume behavior.

  Assisted-by: GPT

MFC after:      1 week
DeltaFile
+92-7contrib/llvm-project/libunwind/src/Registers.hpp
+62-7contrib/llvm-project/libunwind/src/UnwindRegistersRestore.S
+57-5contrib/llvm-project/libunwind/src/UnwindRegistersSave.S
+52-0contrib/llvm-project/libunwind/src/libunwind.cpp
+27-0contrib/llvm-project/libunwind/src/UnwindCursor.hpp
+18-0contrib/llvm-project/libunwind/src/assembly.h
+308-193 files not shown
+320-229 files

FreeBSD/src f7114dc — libexec/pkg-serve pkg-serve.8

manpages: Fix unusual Xr order
DeltaFile
+1-1libexec/pkg-serve/pkg-serve.8
+1-11 files

FreeBSD/src 44a5cf1 — usr.bin/iscsictl iscsictl.8, usr.bin/netstat netstat.1

manpages: Fix unusual Xr order
DeltaFile
+2-2usr.bin/tcopy/tcopy.1
+2-2usr.bin/sockstat/sockstat.1
+1-1usr.bin/runat/runat.1
+1-1usr.bin/procstat/procstat.1
+1-1usr.bin/netstat/netstat.1
+1-1usr.bin/iscsictl/iscsictl.8
+8-86 files

FreeBSD/src 3f4743d — usr.sbin/apm apm.8, usr.sbin/arp arp.8

manpages: Fix unusual Xr order
DeltaFile
+2-2usr.sbin/moused/msconvd/msconvd.8
+1-1usr.sbin/moused/moused/moused.8
+1-1usr.sbin/arp/arp.8
+1-1usr.sbin/apm/apm.8
+5-54 files

FreeBSD/src 7411972 — sbin/mount mount.8, sbin/mount_nfs mount_nfs.8

manpages: Fix unusual Xr order
DeltaFile
+1-1sbin/savecore/savecore.8
+1-1sbin/mount_nfs/mount_nfs.8
+1-1sbin/mount/mount.8
+3-33 files

FreeBSD/src 14680d2 — bin/ps ps.1

ps.1: Fix unusual Xr order
DeltaFile
+2-2bin/ps/ps.1
+2-21 files

FreeBSD/src 51a5311 — bin/df df.1

df.1: Fix unusual Xr order
DeltaFile
+1-1bin/df/df.1
+1-11 files

FreeBSD/src 8dac0bd — sys/dev/sound/pci/hda hdac.h hdac.c

snd_hda: Identify AMD Audio Coprocessor

This makes the driver attach, but the device is still not usable.

Reported by:    Lukasz Wencki <lukasz at smail.net.pl>
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-0sys/dev/sound/pci/hda/hdac.h
+1-0sys/dev/sound/pci/hda/hdac.c
+2-02 files

FreeBSD/src 83f24cf — sys/powerpc/powerpc exec_machdep.c

powerpc: keep the VSX halves of the FPRs across back-to-back signals

grab_mcontext() only put the second halves of vs0-31 into the context
while the thread owned the VSX unit, but sigreturn(2) gives ownership
up so that the next use reloads the registers lazily. A signal that
arrives right after a sigreturn, like one the handler's mask was
holding back, got a context without them and its own sigreturn then
zeroed them in the PCB.

The halves saved in the PCB are current whenever the FP state is, since
VSX instructions can't run without PCB_VSX and save_fpu() stores them
in that case, so export them together with the FP registers.

Reviewed by:    jhibbits
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60754

(cherry picked from commit 64b2fea9a2f90c2cc6097ed2d69acbfeeb13058d)
(cherry picked from commit 0e9af9fb72884e77de79e37069a162e1563ca86b)
DeltaFile
+14-6sys/powerpc/powerpc/exec_machdep.c
+14-61 files

FreeBSD/src 0e9af9f — sys/powerpc/powerpc exec_machdep.c

powerpc: keep the VSX halves of the FPRs across back-to-back signals

grab_mcontext() only put the second halves of vs0-31 into the context
while the thread owned the VSX unit, but sigreturn(2) gives ownership
up so that the next use reloads the registers lazily. A signal that
arrives right after a sigreturn, like one the handler's mask was
holding back, got a context without them and its own sigreturn then
zeroed them in the PCB.

The halves saved in the PCB are current whenever the FP state is, since
VSX instructions can't run without PCB_VSX and save_fpu() stores them
in that case, so export them together with the FP registers.

Reviewed by:    jhibbits
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60754

(cherry picked from commit 64b2fea9a2f90c2cc6097ed2d69acbfeeb13058d)
DeltaFile
+14-6sys/powerpc/powerpc/exec_machdep.c
+14-61 files