range_tree: use zfs_panic_recover() for partial-overlap remove
zfs_range_tree_remove_impl() used a bare panic() when a segment to be
removed was not completely overlapped by an existing tree entry. Every
other consistency check in range_tree.c uses zfs_panic_recover(), which
respects the zfs_recover tunable and allows pools with on-disk
corruption to be imported and recovered. This one call was
inconsistent, making the partial-overlap case unrecoverable regardless
of zfs_recover.
Replace panic() with zfs_panic_recover() so that operators can set
zfs_recover=1 to import a corrupted pool and reclaim data, consistent
with all other range tree error paths.
Related-to: https://github.com/openzfs/zfs/issues/13483
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Clemens Fruhwirth <clemens at endorphin.org>
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Closes #18255
devel/indi: fix build with libc++ 21
With libc++ 21 devel/indi fails to build, with errors similar to:
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:242:14: error: use of undeclared identifier 'atoi'
242 | int id = atoi(id_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:341:14: error: use of undeclared identifier 'atoi'
341 | *value = atoi(value_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:658:14: error: use of undeclared identifier 'atoi'
658 | int id = atoi(id_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:793:14: error: use of undeclared identifier 'atoi'
793 | *value = atoi(value_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:1154:14: error: use of undeclared identifier 'atoi'
1154 | *value = atoi(value_str);
| ^~~~
[11 lines not shown]
devel/indi: fix build with libc++ 21
With libc++ 21 devel/indi fails to build, with errors similar to:
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:242:14: error: use of undeclared identifier 'atoi'
242 | int id = atoi(id_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:341:14: error: use of undeclared identifier 'atoi'
341 | *value = atoi(value_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:658:14: error: use of undeclared identifier 'atoi'
658 | int id = atoi(id_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:793:14: error: use of undeclared identifier 'atoi'
793 | *value = atoi(value_str);
| ^~~~
/wrkdirs/usr/ports/devel/indi/work/indi-2.1.7/drivers/auxiliary/gemini_flatpanel_adapters.cpp:1154:14: error: use of undeclared identifier 'atoi'
1154 | *value = atoi(value_str);
| ^~~~
[9 lines not shown]
auth: unify pwd_changed_at usage, remove requirement to configure password_policy_length and update the timestamp via console and admin pages as well. closes https://github.com/opnsense/core/issues/9857
CI: Remove deprecated Fedora 41
Fedora 41 was deprecated on Dec 15 2025. Remove it from CI tests.
Reviewed-by: Rob Norris <robn at despairlabs.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #18261
[WebAssembly] Take symbol flags for exports from the dylink section for shared objects (#183079)
Currently, WASM symbols taken from the export section of shared objects
lose their flags. This can result in link failures. For example, if a
TLS symbol is exported from a shared object, relocation fails because
`wasm-ld` thinks that the symbol is not flagged as a TLS symbol.
This PR populates symbol flags for symbols in the export section from
the flags stored in the dylink0 section.
The export info section was also not serialized by the WASM emitter for
YAML, which this PR fixes
[AArch64] Fix regression from “Fold scalar-to-vector shuffles into DUP/FMOV" (#178227)
Revised #166962.
This patch aims to fix the original compile time regression by
restricting the optimisation to run only on non-constant splats. Without
the guard, an infinite loop is caused because the
`CONCAT(SCALAR_TO_VECTOR, zero)` folds back into the same `BUILD_VECTOR`
and immediately re-enters `LowerBUILD_VECTOR`.
This patch was tested with the original TensorFlow reproduction provided
on the PR and shows a (very) slight improvement on compile-time.
[clang-doc]: Enable horizontal wrapping on longer function definitions (#181417)
This patch enables wrapping for longer function and template definitions
in the generated HTML. Currently uses the no. of parameters to
determine the need to wrap the function. If a function or template has
more than 2 parameters, they are printed one per line. Also fixes a styling
bug where a trailing comma was left after the last parameter.
[compiler-rt][Fuzzer] Relax reduce_inputs.test to account for non-determinism (#182495)
I have seen that very occasionally this test is failing on a bot, with
only 3 files in the corpus. After running the test in a loop 4000+
times, I witnessed this same failure twice.
In both cases the first corpus member was some string not containing a
'F'; the second corpus member was 'F[' or 'FZ'; and the final corpus
member 'FUZ'.
In a normal run there is an intermediate corpus member 'FU.' - so this
test is failing in very rare cases where the fuzzer gets lucky and
matches 2 branch conditions in one mutation.
This patch allows the FileCheck condition to match 3 or 4 corpus files.
It may be possible for the fuzzer to reach the target in 2 files, but I
think that if that is possible, it will be exceptionally rare.
rdar://170440934
[mlir][arith] Add nneg to extui and uitofp. (#183165)
This patchset adds missing the missing flag nneg (non-negative) to extui
and uitofp which denotes that the operand is known to be non-negative.
Semantics for this flag mirrors LLVM semantics.
[From:](https://discourse.llvm.org/t/rfc-add-zext-nneg-flag/73914)
> If the nneg flag is set, and the zext argument is negative, the result
is a poison value.
> A corollary is that replacing a zext nneg with sext is a refinement.
[and](https://discourse.llvm.org/t/rfc-support-nneg-flag-with-uitofp/77988):
> uitofp nneg iN %x to fM returns poison if %x is negative
> A corollary is that uitofp nneg iN %x to fM is equivilent to sitofp iN
%x to fM.
[7 lines not shown]
[libc++] Add a thread-safe version of std::lgamma in the dylib (#153631)
Libc++ currently redeclares ::lgamma_r on platforms that provide it.
This causes issues when building with modules, and redeclaring functions
provided by another library (here the C library) is bad hygiene.
Instead, use an asm declaration to call the right function without
having to redeclare it.
Merge tag 'ata-7.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata fixes from Niklas Cassel:
- The newly introduced feature that issues a deferred (non-NCQ) command
from a workqueue, forgot to consider the case where the deferred QC
times out. Fix the code to take timeouts into consideration, which
avoids a use after free (Damien)
- The newly introduced feature that issues a deferred (non-NCQ) command
from a workqueue, when unloading the module, calls cancel_work_sync(),
a function that can sleep, while holding a spin lock. Move the function
call outside the lock (Damien)
* tag 'ata-7.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
ata: libata-core: fix cancellation of a port deferred qc work
ata: libata-eh: correctly handle deferred qc timeouts
[AArch64] Fold zero-high vector inserts in MI peephole optimisation
Summary
This patch follows on from #178227.
The previous ISel fold lowers the 64-bit case to:
fmov d0, x0
fmov d0, d0
which is not ideal and could be fmov d0, x0.
A redundant copy comes from the INSERT_SUBREG/INSvi64lane.
This peephole detects <2 x i64> vectors made of a zeroed upper and low
lane produced by FMOVXDr/FMOVDr, then removes the redundant copy.
Further updated tests and added MIR tests.
[OpenMP][Clang] Parsing support for num_teams lower bound (#180608)
According to OpenMP 5.2 the num_teams clause should support a
lower-bound as modifier for its argument. This PR adds Parsing support
for the lower bound in num_teams clause.