FreeNAS/freenas 8b1e46ftests/sharing_protocols/iscsi test_261_iscsi_cmd.py

Improve test__resize_target_zvol and add HA/ALUA version
DeltaFile
+65-6tests/sharing_protocols/iscsi/test_261_iscsi_cmd.py
+65-61 files

HardenedBSD/src f8b8fcdlib/libc/stdlib tdestroy.c, sys/netpfil/ipfw ip_fw_table.c ip_fw_table_value.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+22-269sys/netpfil/ipfw/ip_fw_table.c
+20-103sys/netpfil/ipfw/ip_fw_table_value.c
+96-0tests/sys/netpfil/ipfw/table.sh
+13-66sys/netpfil/ipfw/ip_fw_sockopt.c
+35-41sys/netpfil/ipfw/ip_fw_table.h
+32-34lib/libc/stdlib/tdestroy.c
+218-51314 files not shown
+262-57520 files

HardenedBSD/src b0c13e7sys/netpfil/ipfw ip_fw_table.c ip_fw_table_value.c

ipfw: remove locking workarounds in the table code

Before the "upper half lock" became sleepable the table manipulation code
needed sophisticated workarounds to recover from races, where the lock is
temporarily dropped to do malloc(M_WAITOK).  Remove all these workarounds
as they are no longer needed.

Differential Revision:  https://reviews.freebsd.org/D54580
DeltaFile
+13-240sys/netpfil/ipfw/ip_fw_table.c
+20-92sys/netpfil/ipfw/ip_fw_table_value.c
+35-41sys/netpfil/ipfw/ip_fw_table.h
+68-3733 files

FreeBSD/src b0c13e7sys/netpfil/ipfw ip_fw_table.c ip_fw_table_value.c

ipfw: remove locking workarounds in the table code

Before the "upper half lock" became sleepable the table manipulation code
needed sophisticated workarounds to recover from races, where the lock is
temporarily dropped to do malloc(M_WAITOK).  Remove all these workarounds
as they are no longer needed.

Differential Revision:  https://reviews.freebsd.org/D54580
DeltaFile
+13-240sys/netpfil/ipfw/ip_fw_table.c
+20-92sys/netpfil/ipfw/ip_fw_table_value.c
+35-41sys/netpfil/ipfw/ip_fw_table.h
+68-3733 files

HardenedBSD/src e3caa36sys/netpfil/ipfw ip_fw_sockopt.c ip_fw_table.c

ipfw: make the upper half lock sleepable

The so called upper half ipfw lock is not used in the forwarding path.  It
is used only during configuration changes and servicing system events like
interface arrival/departure or vnet creation.  The original code drops the
lock before malloc(M_WAITOK) and then goes into great efforts to recover
from possible races.  But the races still exist, e.g. create_table() would
first check for table existence, but then drop the lock.  The change also
fixes unlock leak in check_table_space() in a branch that apparently was
never entered.

Changing to a sleepable lock we can reduce a lot of existing complexity
associated with race recovery, and as use the lock to cover other
configuration time allocations, like recently added per-rule bpf(4) taps.

This change doesn't remove much of a race recovery code, to ease bisection
in case of a regression.  This will be done in a separate commit.  This
change just removes lock drops during configuration events.  The only
reduction is removal of get_map(), which is a straightforward reduce to a

    [11 lines not shown]
DeltaFile
+13-66sys/netpfil/ipfw/ip_fw_sockopt.c
+9-29sys/netpfil/ipfw/ip_fw_table.c
+14-23sys/netpfil/ipfw/ip_fw_dynamic.c
+10-10sys/netpfil/ipfw/ip_fw_private.h
+1-12sys/netpfil/ipfw/ip_fw_table_value.c
+0-5sys/netpfil/ipfw/ip_fw_nat.c
+47-1452 files not shown
+47-1538 files

FreeBSD/src e3caa36sys/netpfil/ipfw ip_fw_sockopt.c ip_fw_table.c

ipfw: make the upper half lock sleepable

The so called upper half ipfw lock is not used in the forwarding path.  It
is used only during configuration changes and servicing system events like
interface arrival/departure or vnet creation.  The original code drops the
lock before malloc(M_WAITOK) and then goes into great efforts to recover
from possible races.  But the races still exist, e.g. create_table() would
first check for table existence, but then drop the lock.  The change also
fixes unlock leak in check_table_space() in a branch that apparently was
never entered.

Changing to a sleepable lock we can reduce a lot of existing complexity
associated with race recovery, and as use the lock to cover other
configuration time allocations, like recently added per-rule bpf(4) taps.

This change doesn't remove much of a race recovery code, to ease bisection
in case of a regression.  This will be done in a separate commit.  This
change just removes lock drops during configuration events.  The only
reduction is removal of get_map(), which is a straightforward reduce to a

    [11 lines not shown]
DeltaFile
+13-66sys/netpfil/ipfw/ip_fw_sockopt.c
+9-29sys/netpfil/ipfw/ip_fw_table.c
+14-23sys/netpfil/ipfw/ip_fw_dynamic.c
+10-10sys/netpfil/ipfw/ip_fw_private.h
+1-12sys/netpfil/ipfw/ip_fw_table_value.c
+0-5sys/netpfil/ipfw/ip_fw_iface.c
+47-1452 files not shown
+47-1538 files

LLVM/project f53c2e6clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Upstream support for calling through method pointers (#176063)

This adds support to CIR for calling functions through pointer to method
pointers with the Itanium ABI for x86_64 targets. The ARM-specific
handling of method pointers is not-yet implemented.
DeltaFile
+151-2clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
+84-0clang/test/CIR/CodeGen/pointer-to-member-func.cpp
+54-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+47-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+44-0clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+30-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+410-27 files not shown
+451-813 files

FreeBSD/src 7eac31ctests/sys/netpfil/ipfw table.sh Makefile

tests/ipfw: add a simple fuzzing test for ipfw tables

Reviewed by:            pouria, ae
Differential Revision:  https://reviews.freebsd.org/D54579
DeltaFile
+96-0tests/sys/netpfil/ipfw/table.sh
+2-1tests/sys/netpfil/ipfw/Makefile
+98-12 files

HardenedBSD/src 7eac31ctests/sys/netpfil/ipfw table.sh Makefile

tests/ipfw: add a simple fuzzing test for ipfw tables

Reviewed by:            pouria, ae
Differential Revision:  https://reviews.freebsd.org/D54579
DeltaFile
+96-0tests/sys/netpfil/ipfw/table.sh
+2-1tests/sys/netpfil/ipfw/Makefile
+98-12 files

HardenedBSD/src f102a18sys/net if.c

net: on interface detach purge all its routes before detaching protocols

Otherwise, a forwarding thread may use the interface being detached.  This
is a regression from 0d469d23715d, which manifests itself as a reliably
reproducible panic in in6_selecthlim().  Note that there are old bug
reports about such a panic, and I believe this change will not fix them,
as their nature is not due to a screwed up detach sequence, but due to
lack of proper epoch(9) based synchronization between the detach and
forwarding.

Reviewed by:            pouria
Reported & tested by:   jhibbits
PR:                     292162
Fixes:                  0d469d23715d690b863787ebfa51529e1f6a9092
Differential Revision:  https://reviews.freebsd.org/D54721
DeltaFile
+2-2sys/net/if.c
+2-21 files

FreeBSD/src f102a18sys/net if.c

net: on interface detach purge all its routes before detaching protocols

Otherwise, a forwarding thread may use the interface being detached.  This
is a regression from 0d469d23715d, which manifests itself as a reliably
reproducible panic in in6_selecthlim().  Note that there are old bug
reports about such a panic, and I believe this change will not fix them,
as their nature is not due to a screwed up detach sequence, but due to
lack of proper epoch(9) based synchronization between the detach and
forwarding.

Reviewed by:            pouria
Reported & tested by:   jhibbits
PR:                     292162
Fixes:                  0d469d23715d690b863787ebfa51529e1f6a9092
Differential Revision:  https://reviews.freebsd.org/D54721
DeltaFile
+2-2sys/net/if.c
+2-21 files

LLVM/project 56522e4libc/test/src/strings wide_read_memory_test.cpp CMakeLists.txt

Create a poor-developer's msan for libc wide read functions. (#170586)

Most libcs optimize functions like strlen by reading in chunks larger
than a single character. As part of "the implementation", they can
legally do this as long as they are careful not to read invalid memory.

However, such tricks prevents those functions from being tested under
the various sanitizers.

This PR creates a test framework that can report when one of these
functions read or write in an invalid way without using the sanitizers.
DeltaFile
+101-0libc/test/src/strings/wide_read_memory_test.cpp
+15-0libc/test/src/strings/CMakeLists.txt
+116-02 files

LLVM/project 8021b02lldb/source/Plugins/Platform/WebAssembly PlatformWasm.cpp, lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp

[llvm][Support] Move llvm::createStringErrorV to a new ErrorExtras.h header (#176491)

Introducing `llvm::createStringErrorV` caused a `0.5%` compile-time
regression because it's an inline function in a core header. This moves
the API to a new header to prevent including this function in files that
don't need it.

Also includes the header in the source files that have been using
`createStringErrorV` (which currently is just LLDB).
DeltaFile
+34-0llvm/include/llvm/Support/ErrorExtras.h
+0-16llvm/include/llvm/Support/Error.h
+1-0lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
+1-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+1-0lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+1-0lldb/source/Protocol/MCP/Server.cpp
+38-166 files not shown
+44-1612 files

LLVM/project 1f9c53cflang/lib/Parser program-parsers.cpp, flang/test/Semantics cuf-proc-attr-error.cuf

[flang][cuda] Emit better error when subprogram attribute is absent or bad (#176501)

this patch update the parser for CUDA Fortran subprogram attribute to
emit more precise error.

Instead of having error like: 

```
error: expected 'END'
      attributes(managed) integer function fooj()
      ^
```

The parser will emit: 
```
 expected DEVICE, GLOBAL, GRID_GLOBAL, or HOST attribute
  attributes(managed) integer function fooj()
             ^
```
DeltaFile
+12-7flang/lib/Parser/program-parsers.cpp
+9-0flang/test/Semantics/cuf-proc-attr-error.cuf
+21-72 files

LLVM/project 022888elibc/shared/math fsqrtf128.h, libc/src/__support/math fsqrtf128.h CMakeLists.txt

[libc][math] Refactor fsqrtf128 to Header Only. (#175686)

builds correctly with both Clang and GCC 12.2.

Closes #175333.
DeltaFile
+33-0libc/src/__support/math/fsqrtf128.h
+28-0libc/shared/math/fsqrtf128.h
+12-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+9-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/fsqrtf128.cpp
+2-2libc/src/math/generic/CMakeLists.txt
+86-83 files not shown
+89-89 files

LLVM/project 6397207libc/shared/math ilogbl.h, libc/src/__support/math ilogbl.h CMakeLists.txt

[libc][math] Refactor ilogbl to Header Only. (#176500)

builds with both Clang and GCC 12.2.

Closes https://github.com/llvm/llvm-project/issues/175349.
DeltaFile
+28-0libc/src/__support/math/ilogbl.h
+23-0libc/shared/math/ilogbl.h
+12-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-6libc/src/math/generic/ilogbl.cpp
+3-0libc/test/shared/shared_math_test.cpp
+78-73 files not shown
+82-89 files

LLVM/project c70fc1allvm/lib/Target/X86 X86ISelLoweringCall.cpp X86ISelLowering.h, llvm/test/CodeGen/X86 nocf_check_musttail.ll

[X86] Separate sibcall checks from guaranteed TCO (#176479)

Rename IsEligibleForTailCallOptimization to isEligibleForSiblingCallOpt.
LLVM supports two other ways to bypass this logic: musttail and
ShouldGuaranteeTCO. The result of this function doesn't really control
tail call eligibility, and returning false from it is not sufficient to
block tail call emission. Rename it to clarify the code.

Move the calling convention match check, which is the only thing that
matters in the guaranteed TCO case, out of this sibcall eligibility
check.

Move the GOT early binding check into the sibcall eligibility check,
since it is bypassed in either guaranteed TCO case. When that [diff
landed](https://reviews.llvm.org/D9799), it did not have exceptions for
`musttail`, but later in 9ff2eb1ea596a the two guaranteed tail call
cases were made to override this check, forcing lazy binding, which I
agree is the right tradeoff.


    [3 lines not shown]
DeltaFile
+44-46llvm/lib/Target/X86/X86ISelLoweringCall.cpp
+17-0llvm/test/CodeGen/X86/nocf_check_musttail.ll
+5-5llvm/lib/Target/X86/X86ISelLowering.h
+66-513 files

LLVM/project 997fdeflibc/shared/math llogbf.h, libc/src/__support/math llogbf.h CMakeLists.txt

[libc][math] Refactor llogbf to Header Only. (#176494)

builds with both Clang and GCC 12.2.

Closes https://github.com/llvm/llvm-project/issues/175354.
DeltaFile
+28-0libc/src/__support/math/llogbf.h
+23-0libc/shared/math/llogbf.h
+12-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/llogbf.cpp
+2-1libc/src/math/generic/CMakeLists.txt
+77-63 files not shown
+80-69 files

LLVM/project 0f739e7llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU] Use lambda in fmaak/fmamk f16 folding. NFC (#176258)

DeltaFile
+23-38llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+23-381 files

LLVM/project bbafff1llvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp SIInstrInfo.h

[AMDGPU] NFC: Add a comment (#176435)

DeltaFile
+8-5llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+0-6llvm/lib/Target/AMDGPU/SIInstrInfo.h
+8-112 files

NetBSD/src ucc4HDNdistrib/common/bootimage Makefile.bootimage

   bootimage: make ${FATFILES} dependency more explicit for readability

   Only add the FATFILES -> TARGETFS dependency in Makefile.bootimage
   when FATFILES is defined in MD Makefiles.

   This makes the optional nature of FATFILES clearer for MD ports and
   avoids relying on empty-target handling as an implicit make(1) behavior.
VersionDeltaFile
1.49+3-1distrib/common/bootimage/Makefile.bootimage
+3-11 files

LLVM/project da34f9bllvm/lib/Target/AArch64 AArch64FrameLowering.cpp AArch64PrologueEpilogue.cpp, llvm/test/CodeGen/AArch64 arm64-windows-calls.ll wineh-pac.ll

[AArch64] Fix Windows prologue handling to pair more registers. (#170214)

Currently, there's code to suppress pairing, but we don't actually need
to suppress that; we just need to suppress the formation of
pre-decrement/post-increment instructions.

Pairing saves an instruction in some cases, and enables packed unwind in
some cases.
DeltaFile
+20-24llvm/test/CodeGen/AArch64/arm64-windows-calls.ll
+16-16llvm/test/CodeGen/AArch64/wineh-pac.ll
+9-16llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+8-16llvm/test/CodeGen/AArch64/win64_vararg2.ll
+12-12llvm/test/DebugInfo/COFF/AArch64/arm64-register-variables.ll
+13-1llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
+78-851 files not shown
+84-917 files

LLVM/project 08bcd7clibc/shared/math hypotf.h, libc/src/__support/math hypotf.h CMakeLists.txt

[libc][math] Refactor hypotf to Header Only. (#175679)

builds correctly with both Clang and GCC 12.2.

Closes #175338.
DeltaFile
+107-0libc/src/__support/math/hypotf.h
+2-83libc/src/math/generic/hypotf.cpp
+22-0libc/shared/math/hypotf.h
+17-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+13-0libc/src/__support/math/CMakeLists.txt
+2-6libc/src/math/generic/CMakeLists.txt
+163-913 files not shown
+166-919 files

LLVM/project 7950a88llvm/lib/Support Jobserver.cpp

[llvm/Support] Remove unnecessary includes from `Jobserver.cpp`, NFC (#176473)

DeltaFile
+0-5llvm/lib/Support/Jobserver.cpp
+0-51 files

FreeBSD/ports def8571www/gallery-dl distinfo Makefile

www/gallery-dl: update to 1.31.3

Changes:        https://github.com/mikf/gallery-dl/releases/tag/v1.31.3
Reported by:    GitHub (watch releases)

(cherry picked from commit 62eb769ae5df70ab8d1a315d35000f50ca42d07d)
DeltaFile
+3-3www/gallery-dl/distinfo
+1-1www/gallery-dl/Makefile
+4-42 files

FreeBSD/ports 62eb769www/gallery-dl distinfo Makefile

www/gallery-dl: update to 1.31.3

Changes:        https://github.com/mikf/gallery-dl/releases/tag/v1.31.3
Reported by:    GitHub (watch releases)
DeltaFile
+3-3www/gallery-dl/distinfo
+1-1www/gallery-dl/Makefile
+4-42 files

HardenedBSD/src 74cac74sys/dev/mxge if_mxge.c

mxge(4): avoid clang 21 warning in NO-IP configuration

Building the LINT-NOIP kernel on amd64 with clang 21 results in a
-Werror warning similar to:

    sys/dev/mxge/if_mxge.c:1846:44: error: variable 'sum' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer]
     1846 |                     cksum_offset, sizeof(sum), (caddr_t)&sum);
          |                                                          ^~~

Indeed, if both `INET` and `INET6` are undefined, `sum` is never
initialized. Initialize it to zero to silence the warning.

Reviewed by:    jhibbits
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54730
DeltaFile
+1-1sys/dev/mxge/if_mxge.c
+1-11 files

FreeBSD/src 74cac74sys/dev/mxge if_mxge.c

mxge(4): avoid clang 21 warning in NO-IP configuration

Building the LINT-NOIP kernel on amd64 with clang 21 results in a
-Werror warning similar to:

    sys/dev/mxge/if_mxge.c:1846:44: error: variable 'sum' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer]
     1846 |                     cksum_offset, sizeof(sum), (caddr_t)&sum);
          |                                                          ^~~

Indeed, if both `INET` and `INET6` are undefined, `sum` is never
initialized. Initialize it to zero to silence the warning.

Reviewed by:    jhibbits
MFC after:      3 days
Differential Revision: https://reviews.freebsd.org/D54730
DeltaFile
+1-1sys/dev/mxge/if_mxge.c
+1-11 files

LLVM/project a84d743lldb/source/Plugins/Instruction/RISCV EmulateInstructionRISCV.cpp, lldb/unittests/Instruction/RISCV TestRISCVEmulator.cpp

[lldb] Support both RISCV-32 and RISCV-64 in GetRegisterInfo (#176472)

`GetRegisterInfo` hardcodes to use `RegisterInfoPOSIX_riscv64` instead
of checking the triple to determine whether to use
`RegisterInfoPOSIX_riscv64` or `RegisterInfoPOSIX_riscv32`.

Someone put up a [PR](https://github.com/llvm/llvm-project/pull/175262)
for this, but seems to have removed their account and the associated PR
with it.

Fixes #175092
DeltaFile
+19-4lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
+17-0lldb/unittests/Instruction/RISCV/TestRISCVEmulator.cpp
+36-42 files

LLVM/project a3a8e82clang/cmake/caches Pico.cmake

CMake cache file for building Pico SDK toolchain (#113267)

This cache file demonstrates how to build a complete baremetal
Clang/LLVM toolchain that can be used to build the Pico SDK.
DeltaFile
+90-0clang/cmake/caches/Pico.cmake
+90-01 files