NetBSD/src PPgtkyF — usr.sbin/npf/npftest npftest.c

   more contexte on layer 2 default pass for layer 3 only config file
VersionDeltaFile
1.33+4-2usr.sbin/npf/npftest/npftest.c
+4-21 files

NetBSD/src 5bFfxoH — usr.sbin/npf/npftest/libnpftest npf_ext_test.c

   Add copyright and minor changes
VersionDeltaFile
1.2+37-6usr.sbin/npf/npftest/libnpftest/npf_ext_test.c
+37-61 files

LLVM/project 8650a2f — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+30-18llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+35-0llvm/test/tools/llvm-mc/verify/basic.s
+6-6mlir/test/Dialect/OpenMP/memory-effects.mlir
+2-8mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
+5-5mlir/test/Dialect/Transform/test-interpreter.mlir
+5-3llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+83-4016 files not shown
+111-6322 files

LLVM/project 19cc3fd —

[nspr] update
DeltaFile
+0-00 files

LLVM/project 6b5b729 — llvm/test/MC/RISCV xaifet-amo-valid.s xqcibm-invalid.s, llvm/test/MC/RISCV/corev XCVsimd.s XCVsimd-invalid.s

[nspr] initial commit
DeltaFile
+1,356-1,357llvm/test/MC/RISCV/corev/XCVsimd-invalid.s
+881-882llvm/test/MC/RISCV/corev/XCVsimd.s
+514-515llvm/test/MC/RISCV/rvv/zvlsseg.s
+303-307llvm/test/MC/RISCV/zfa-valid.s
+280-282llvm/test/MC/RISCV/xqcibm-invalid.s
+182-184llvm/test/MC/RISCV/xaifet-amo-valid.s
+3,516-3,527258 files not shown
+8,459-8,703264 files

FreeBSD/src 9dae9b3 — lib/libthr/thread thr_exit.c

libthr: require both _Unwind_ForcedUnwind and _Unwind_GetCFA for !PIC

Static linking must bring in both symbols for the unwind to work.

The landing pads added by 2734bbbcba3c reference _Unwind_Resume and
__gcc_personality_v0. In a static link, these pull UnwindLevel1.o
from libgcc_eh.a, which also defines _Unwind_ForcedUnwind, but
not UnwindLevel1-gcc-ext.o, which defines _Unwind_GetCFA. Unless
something else pulls that object in, as libcxxrt does for C++ programs,
thread_unwind_stop() calls a NULL _Unwind_GetCFA on every thread exit.

Reported and tested by: dch
Fixes:  2734bbbcba3c ("libthr: Create landing pad in thr_once in C++ exception")
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1lib/libthr/thread/thr_exit.c
+1-11 files

LLVM/project d7bfd32 — llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

restack
DeltaFile
+2-2llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+2-21 files

LLVM/project 02827a2 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+13-18llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+4-9llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+1-5llvm/test/tools/llvm-mc/verify/include-twice.s
+18-323 files

LLVM/project 3184b8f — llvm/docs/CommandGuide llvm-mc.md, llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[nspr] initial commit
DeltaFile
+22-8llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+15-10llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+22-2llvm/test/tools/llvm-mc/verify/basic.s
+6-4mlir/docs/Diagnostics.md
+4-1llvm/tools/llvm-mc/llvm-mc.cpp
+4-1llvm/docs/CommandGuide/llvm-mc.md
+73-261 files not shown
+75-277 files

LLVM/project c14ba6d — lldb/source/Plugins/SymbolFile/NativePDB CMakeLists.txt SymbolFileNativePDB.cpp, lldb/source/Plugins/SymbolFile/PDB CMakeLists.txt SymbolFilePDB.cpp

[lldb] Only create PDB symbol files for PE/COFF and PDB object files (#239739)

`SymbolFileNativePDB::CalculateAbilities` calls `loadMatchingPDBFile` on
the module file path for every object file it is offered, which runs
`llvm::object::createBinary` on the whole file. For non-PE modules
without full DWARF this is pure overhead, and for objects embedded in a
larger file it parses the entire container once per module.

The PDB readers can only produce symbols from a PE/COFF image with a
debug directory or from a PDB file, so reject every other object file in
CreateInstance.

Co-authored-by: Bar Soloveychik <barsolo at fb.com>
DeltaFile
+83-0lldb/unittests/SymbolFile/NativePDB/PDBFactoryTests.cpp
+5-0lldb/unittests/SymbolFile/NativePDB/CMakeLists.txt
+4-0lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
+3-0lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+2-0lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
+1-0lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
+98-06 files

Illumos/gate f0c8390 — usr/src/lib/libbsm/common adt.c

18440 adt_cpy_tid() swaps the terminal device maj/min in 64-bit processes
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
DeltaFile
+11-14usr/src/lib/libbsm/common/adt.c
+11-141 files

FreeBSD/ports 6fa3c5e — net-mgmt/xymon-server Makefile

net-mgmt/xymon-server: Remove LDAP from default port options

NETSNMP was intentionally added, but LDAP was leftover by mistake after
build testing.

SNMP monitoring is a commonly used feature and often handled by net-mgmt/devmon
for monitoring network gear. Some SNMP monitoring tasks can be handled
natively in Xymon without needing devmon, so the NETSNMP port option
remains as default.

I have never had a request over many years of maintainership to enable
LDAP by default nor have I ever witnessed it being used in any
production environments. If this change is of interest to you, please
file a PR or contact me.
DeltaFile
+2-2net-mgmt/xymon-server/Makefile
+2-21 files

LLVM/project 02e9bd9 — llvm/lib/Target/NVPTX NVPTXProxyRegErasure.cpp

NVPTX: Remove dead kill flag clearing in NVPTXProxyRegErasure (#239776)

The replaced registers are virtual, which can no longer carry kill flags.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-4llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
+2-41 files

OpenZFS/src 100f0e0 — include/sys vdev_raidz.h, module/zfs spa.c vdev_raidz.c

raidz: refuse too small replacements during expansion

While a raidz expansion is in progress, `zpool replace` of a raidz
child accepts a device that is too small.  The resilver or the reflow
then writes past the end of the new device, tripping this VERIFY in a
debug build (or writing past the end of the device otherwise):

  VERIFY3U(rc->rc_offset + rc->rc_size, <,
      cvd->vdev_psize - VDEV_LABEL_END_SIZE) failed
  PANIC at vdev_raidz.c:vdev_raidz_io_start_write()

Reproducer:

  truncate -s 1G /var/tmp/d{1..4}; truncate -s 800M /var/tmp/small
  zpool create tank raidz1 /var/tmp/d1 /var/tmp/d2 /var/tmp/d3
  zfs set compression=off tank
  dd if=/dev/urandom of=/tank/f bs=1M count=1200; zpool sync tank
  zpool replace tank /var/tmp/d1 /var/tmp/small  # "device is too small"
  echo 1 > /sys/module/zfs/parameters/raidz_expand_max_reflow_bytes

    [40 lines not shown]
DeltaFile
+30-0module/zfs/vdev_raidz.c
+10-0module/zfs/spa.c
+1-0include/sys/vdev_raidz.h
+41-03 files

OpenZFS/src 2ffb92b — tests/runfiles common.run, tests/zfs-tests/tests Makefile.am

ZTS: test too small raidz replacement during expansion

Add raidz_expand_012_neg, which pauses a raidz expansion and checks
that 'zpool replace' refuses a device too small for the not yet
reflowed, narrower part of the vdev, including after an export/import
with the expansion still paused.  It then checks that a device of the
original size is accepted, and that the pool scrubs clean once the
expansion completes.

This currently fails: the too small device is accepted, and the resilver
or reflow then writes past its end (a VERIFY panic in
vdev_raidz_io_start_write() on debug builds).  The fix follows in the
next commit.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Closes #19279
DeltaFile
+119-0tests/zfs-tests/tests/functional/raidz/raidz_expand_012_neg.ksh
+1-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+121-13 files

LLVM/project a7d5efd — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Use the DAG's libcall info in call and DAG lowering

Libcall info should come from the analysis pass, and the static copy
in TargetLowering will be removed.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+7-7llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+7-71 files

LLVM/project 23ac14d — lldb/test/API/functionalities/completion TestCompletion.py

[lldb][test] Do not rely on writable source dir (#239773)

Test currently fails in environments where the test source directory is
not writable.
DeltaFile
+7-3lldb/test/API/functionalities/completion/TestCompletion.py
+7-31 files

LLVM/project b877e79 — bolt/include/bolt/Core BinaryFunction.h, bolt/lib/Core BinaryFunction.cpp

[BOLT] Drop secondary entrypoint after e843419 veneer is inlined (#239313)

Due to the lld generated Cortex-A53 erratum 843419 veneer, the caller
function has a second entrypoint at the veneer's branch-back target.
After the veneeer is inlined, we can remove this second entrypoint if
it has no other external reference, so it won't make the function be
treated as a multi-entry function.
DeltaFile
+27-2bolt/test/AArch64/veneer-erratum-843419-cfg.s
+17-5bolt/lib/Core/BinaryFunction.cpp
+17-3bolt/include/bolt/Core/BinaryFunction.h
+6-0bolt/lib/Passes/VeneerElimination.cpp
+67-104 files

OpenZFS/src e178ed8 — tests/zfs-tests/tests/functional/cli_root/zfs_copies zfs_copies.kshlib

ZTS: let udev settle before zfs_copies destroys the volume

zfs_copies_006_pos fails now and then in CI right after unmounting
the ext2 file system on its volume:

    cannot destroy 'testpool/testvol1': dataset is busy
    ERROR: zfs destroy testpool/testvol1 exited 1

new_fs writes the volume and closes it, so udev's watch on zd* makes
it rescan the volume, and blkid holds the device open while it does.
The test waits for udev before new_fs but not after it, and a destroy
issued while that scan still has the volume open gets EBUSY.  The
cleanup's destroy_dataset, which retries, succeeds a moment later.
do_vol_test() is shared with zfs_copies_003_pos, whose zpool create
also writes the volume.

Wait for udev with block_device_wait before the destroy and retry it
while it is busy, the way alloc_class_016_pos and destroy_dataset do.
The destroy must still succeed.

    [3 lines not shown]
DeltaFile
+7-1tests/zfs-tests/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
+7-11 files

OpenZFS/src 70cba46 — module/zfs zap_fat.c

zap: Fix zap_trunc() to account next ptrtbl blocks

In zap_trunc(), a case involving the expansion of ptrtbl was overlooked.
As a result, freeblk could end up pointing out to a block that had been
allocated for next ptrtbl. A next leaf allocation would lead to ptrtbl
corruption.

The fix checks whether ptrtbl is being expanded and accounts the blocks
allocated for it to compute freeblk.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Alexander Stetsenko <alex.stetsenko at gmail.com>
Closes #19591
Closes #19693
DeltaFile
+10-7module/zfs/zap_fat.c
+10-71 files

OpenZFS/src b704cf4 — module/os/linux/zfs zfs_vfsops.c

Linux: unhash zero-link znodes when resuming after rollback

zfs_resume_fs() calls zfs_rezget() for every cached znode after a
rollback or a receive into a mounted filesystem.  If zfs_rezget()
fails, the inode is unhashed so that a new object created with the
same number does not collide with it.

zfs_rezget() can also succeed for an object that has zero links in
the new state: a file that was open-unlinked when the snapshot was
taken and is still held open.  It then sets z_unlinked and drops the
SA handle, but the inode stays hashed.  The unlinked drain that runs
after resume finds no znode attached to the object, so it allocates a
new unhashed one and frees the object.  When the object number is
reused, insert_inode_locked() finds the old inode and fails:

  VERIFY0(insert_inode_locked(ip)) failed (-16)
  PANIC at zfs_znode_os.c:641:zfs_znode_alloc()

The panicking thread holds an assigned transaction, so txg_quiesce

    [13 lines not shown]
DeltaFile
+7-7module/os/linux/zfs/zfs_vfsops.c
+7-71 files

OpenZFS/src 4b53052 — tests/runfiles linux.run, tests/zfs-tests/tests Makefile.am

ZTS: test rollback with held open-unlinked files

A file that is open-unlinked when a snapshot is taken is a zero-link
object in that snapshot's unlinked set.  If the file is still held
open when a mounted filesystem is rolled back to the snapshot,
zfs_rezget() succeeds for it, and the unlinked drain that runs after
resume frees the object while the old inode is still in use.

Add zfs_rollback_held_unlinked, which holds open-unlinked files across
a snapshot and a mounted rollback, then creates files until one reuses
a held object number.  It also checks that a write through a stale
descriptor fails and does not modify the new file.

This currently fails on Linux: the create that reuses the object
number fails VERIFY0(insert_inode_locked(ip)) in zfs_znode_alloc()
with EBUSY, because the old inode is still hashed.  The fix follows
in the next commit.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>

    [3 lines not shown]
DeltaFile
+116-0tests/zfs-tests/tests/functional/cli_root/zfs_rollback/zfs_rollback_held_unlinked.ksh
+4-0tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+121-03 files

OpenZFS/src fd5c1d4 — tests/zfs-tests/cmd dio_append_fallocate.c, tests/zfs-tests/tests/functional/fallocate fallocate_odirect_append.ksh

ZTS: Race fallocate against a buffered append too

zpl_iter_write() takes no inode lock for a buffered write either, so
a buffered write that extends the file races fallocate the same way an
O_DIRECT one does.

dio_append_fallocate gains -b, which makes the append a buffered write
instead of an O_DIRECT one. fallocate_odirect_append runs each of the
extend, punch and zero modes with both, and names the buffered ones
buffered-MODE when they lose a round. The buffered runs use 1000
rounds instead of 100: their window is shorter, and with 100 rounds
some runs on master lost none.

On a debug build of master the test failed 10 of 10 runs, and the
buffered runs lost 21 to 952 of 1000 rounds in every mode of every
run. With the fallocate change in this PR it passed 10 of 10, and no
round was lost.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>

    [5 lines not shown]
DeltaFile
+39-32tests/zfs-tests/tests/functional/fallocate/fallocate_odirect_append.ksh
+33-18tests/zfs-tests/cmd/dio_append_fallocate.c
+72-502 files

LLVM/project a65b2f7 — llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp LegalizeVectorOps.cpp

SelectionDAG: Get libcall info from analysis, not TargetLowering

TargetLowering's copy of the libcall info will eventually be
removed. Use the LibcallLoweringInfo analysis from SelectionDAG
instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-4llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+1-4llvm/include/llvm/CodeGen/TargetLowering.h
+2-1llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+16-115 files

OpenZFS/src 94eb73b — include/os/linux/zfs/sys zfs_vnops_os.h, module/os/linux/zfs zpl_file.c zfs_znode_os.c

Linux: do not truncate a concurrent extending write in fallocate

zpl_iter_write() takes no inode lock, so a buffered or O_DIRECT write
that extends a file updates the file size without holding it. A
fallocate that extends the file reads the size into olen first. If
the write grows the file after that, the fallocate truncates it back
to offset + len, the written data is gone, and the application was
told its write succeeded.

The extend path set the new size with zfs_freesp(zp, offset + len, 0,
0, TRUE). With len 0, zfs_freesp() sets the size to off. It grows the
file when off is past z_size and truncates it otherwise. The write had
already moved z_size past offset + len, so this took the truncate
branch.

zfs_freesp() could also lose the write when it read z_size before the
write raised it. zfs_extend() then found the file long enough and did
nothing, but zfs_freesp() still logged TX_TRUNCATE at offset + len and
called truncate_setsize(), so i_size went short and replay would cut

    [23 lines not shown]
DeltaFile
+31-5module/os/linux/zfs/zfs_znode_os.c
+12-5module/os/linux/zfs/zpl_file.c
+1-0include/os/linux/zfs/sys/zfs_vnops_os.h
+44-103 files

OpenZFS/src 6545861 — tests/runfiles linux.run, tests/zfs-tests/cmd Makefile.am dio_append_fallocate.c

ZTS: Race fallocate against a concurrent O_DIRECT append

fallocate_odirect_append runs a new helper, dio_append_fallocate.
Each round writes one 128 KiB block, then appends another with
O_DIRECT while a second thread calls fallocate, and checks that the
file still holds the appended block. The test runs 100 rounds each of
an extending fallocate, a keep-size punch at EOF and a keep-size
zero-range at EOF, logs each mode's count, and fails naming every
mode that lost a round. It sets recordsize=128k and direct=standard
so the append takes the Direct I/O path. It runs on Linux only.

On a debug build of master it failed 10 of 10 runs. In the last one,
every mode lost all 100 of its 100 rounds.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Reviewed-by: Tigerblue77 <37409593+tigerblue77 at users.noreply.github.com>
Signed-off-by: Patrick Domack <patrickdk at patrickdk.com>
Closes #19344
DeltaFile
+187-0tests/zfs-tests/cmd/dio_append_fallocate.c
+84-0tests/zfs-tests/tests/functional/fallocate/fallocate_odirect_append.ksh
+2-1tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+1-0tests/zfs-tests/include/commands.cfg
+1-0tests/zfs-tests/cmd/Makefile.am
+276-11 files not shown
+277-17 files

LLVM/project b18fccb — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 revec-buildvector-load.ll

[SLP][REVEC]Use scalar lane type for buildvector lists

The REVEC lane type of an insertelement is its vector type, so the
"no actual vectorization" check skipped every VF and the buildvector
of loads was never vectorized.

Fixes #239546

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/239825
DeltaFile
+1-23llvm/test/Transforms/SLPVectorizer/X86/revec-buildvector-load.ll
+3-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-242 files

OpenZFS/src 44d9e86 — module/zfs zap_fat.c

zap: don't use a stale ptrtbl shift in zap_shrink()

zap_shrink() computed prefix_diff = zt_shift - prefix_len at the top of
each loop iteration, from a zt_shift sampled when the function was
entered. When zap_lock_try_upgrade() fails, zap_lock_upgrade() drops
zap_rwlock and waits for it as WRITER. zt_shift was re-read after that,
but prefix_diff, already computed from the old value, was not, and it is
what the collapse uses:

    idx   = (slbit ? prefix : sl_prefix) << prefix_diff;
    nptrs = 1ULL << prefix_diff;

While the lock is down, a concurrent fzap_add() can grow the pointer
table (zap_expand_leaf() / zap_put_leaf_maybe_grow_ptrtbl() ->
zap_grow_ptrtbl(), zt_shift++). Growing the table doesn't change any
leaf's prefix or prefix_len, so the checks done after relocking (both
leaves still empty, still at prefix_len) still pass. zap_shrink() then
points a range of the wrong size at the wrong index at the surviving
leaf. The removed prefix is always odd, so the stale range never

    [30 lines not shown]
DeltaFile
+17-4module/zfs/zap_fat.c
+17-41 files

OpenZFS/src 3f1f523 — man/man4 zfs.4, module/zfs zap_fat.c

zap: test zap_shrink() with ptrtbl growth via a test-only tunable

zap_shrink() can drop zap_rwlock while upgrading it to WRITER, and
another thread may grow the pointer table in that window. That only
happens under a narrow race, so nothing in the test suite exercises it.

Add zap_shrink_test_grow_ptrtbl, a test-only module parameter
(default 0). While it is nonzero, each zap_shrink() that has to upgrade
its lock takes the path where the in-place upgrade failed and grows the
pointer table after reacquiring the lock, as a concurrent
zap_expand_leaf() could have done. Each use decrements it, so a test
can bound how often the table grows. The check is only made when
zap_shrink() is about to collapse two leaves.

Add zap_shrink/zap_shrink_002_pos, which fills a directory, sets the
tunable, removes every file, checks that the pointer table grew, and
then creates and removes the same files again, checking that every
name is found and that the ZAP shrinks back to a single leaf.


    [4 lines not shown]
DeltaFile
+124-0tests/zfs-tests/tests/functional/zap_shrink/zap_shrink_002_pos.ksh
+37-2module/zfs/zap_fat.c
+8-0man/man4/zfs.4
+1-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+1-0tests/zfs-tests/include/tunables.cfg
+172-36 files

FreeBSD/ports 366dd96 — net-mgmt/py-pyixapi Makefile distinfo

net-mgmt/py-pyixapi: Update version 0.3.0=>0.3.1

Changelog: https://github.com/peering-manager/pyixapi/releases/tag/0.3.1
DeltaFile
+3-3net-mgmt/py-pyixapi/distinfo
+2-2net-mgmt/py-pyixapi/Makefile
+5-52 files