[clang] Avoid sandbox violation in Windows signal handler (#190615)
This bypasses the IO sandbox in some of Windows signal handling, which
previously prevented stack traces from being printed.
[lldb/test] Remove stale Windows expectedFailure decorators (NFC) (#190855)
This patch removes stale Windows expectedFailure decorators from
TestFrameProviderPassThroughPrefix.py
https://lab.llvm.org/buildbot/#/builders/141/builds/17091
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Remove forced zfs_umount() from zfs_resume_fs() bail path
When zfsvfs_init() fails during zfs_resume_fs(), the bail
path called zfs_umount() directly. All three callers
(zfs_ioc_rollback, zfs_ioc_recv_impl, and
zfs_ioc_userspace_upgrade) hold an s_active reference
via getzfsvfs() at entry.
This creates two bugs:
1. Deadlock: zfs_umount() -> zfsvfs_teardown() ->
txg_wait_synced() blocks in uninterruptible D state.
The superblock cannot tear down because s_active is
pinned by the calling thread itself. Survives SIGKILL.
Blocks clean reboot. Requires hard power cycle.
2. Use-after-free: if txg_wait_synced() returns,
zfs_umount() calls zfsvfs_free(). The caller then
dereferences the freed zfsvfs via zfs_vfs_rele().
[12 lines not shown]
Fix s_active leak in zfsvfs_hold() when z_unmounted is true
When getzfsvfs() succeeds (incrementing s_active via
zfs_vfs_ref()), but z_unmounted is subsequently found to
be B_TRUE, zfsvfs_hold() returns EBUSY without calling
zfs_vfs_rele(). This permanently leaks the VFS superblock
s_active reference, preventing generic_shutdown_super()
from ever firing, which blocks dmu_objset_disown() and
makes the pool permanently unexportable (EBUSY).
Add the missing zfs_vfs_rele() call, guarded by
zfs_vfs_held() to handle the zfsvfs_create() fallback
path where no VFS reference exists. This matches the
existing cleanup pattern in zfsvfs_rele().
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: mischivus <1205832+mischivus at users.noreply.github.com>
Closes #18309
Closes #18310
xfce4-thunar: update to 4.20.8
4.20.8 (2026-03-28)
======
- Store pending column size changes on close (#1318)
- Pass current dir to catfish (#1785)
- Ignore G_IO_ERROR_NOT_SUPPORTED (#1782)
- Translation Updates:
Slovenian, Turkish
xfce4-desktop: update to 4.20.2
4.20.2 (2026-03-27)
======
- I18n: Update po/LINGUAS list
- Fix criticals in g_file_info_get_name with trashed files
- I18n: Update po/LINGUAS list
- Fix a use-after-free crash in the icon unplace/removal code
- Fix column boundary check in xfdesktop_icon_view_unplace_item
- Mark shortcut editor group names as translatable
- Ensure src icon & parent are writable and can be moved more thoroughly
- autotools: ensure xfdesktop-settings links with libxfce4util
- Don't limit number of templates shown in the 'Create Document' menu
- Add gradient benchmarking test binary to .gitignore
- Add test-gradient-benchmarking to autotools build
- Set up for new machinery to automatically update copyright year
- I18n: Update po/LINGUAS list
- Translation Updates:
Albanian, Amharic, Arabic, Armenian (Armenia), Asturian, Azerbaijani,
[10 lines not shown]
[CIR] Implement non-scalar lvalue return values (#190795)
I could only get these to happen in C++03 (as we do a
materialize-temporary-expr in later standards), but this does appear in
a number of benchmarks. The implementation ends up being pretty trivial,
as we just have to lower the aggregate correctly.
[CIR] Add lowering for long-double increment/decrement (#190812)
This showed up a handful of times in some benchmarks. Supporting
long-double is pretty trivial, so this patch does so, with some work to
make sure all 3 formats of long-double work in the test (plus some
command-line replacement, hopefully that isn't too confusing).
The NYI is left in place, as we're not yet implementing any of the
'half' types (or other smaller FP types).
[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type (#189510)
## Reland Notes
Re applying [187598](https://github.com/llvm/llvm-project/pull/187598)
This is a reland of the original commit which was reverted due to a
failure on the Windows buildbot.
Root cause of the Windows failure:
* The fix introduces TemplateArgument::Declaration (pointing to a
FieldDecl)
* GetValueParamType() in TypeSystemClang.cpp did not handle this kind,
so CreateTemplateParameterList() created a
TemplateTypeParmDecl instead of a NonTypeTemplateParmDecl for the
corresponding template parameter.
* On Windows, the Microsoft name mangler calls
cast<NonTypeTemplateParmDecl>(Parm) when mangling member data pointer
NTTPs, which crashed because Parm was a TemplateTypeParmDecl.
* The Itanium mangler (Linux/Mac) does not inspect the parameter
[58 lines not shown]
[VPlan] Properly preserve IsMaterialized in VPlan::duplicate (NFC). (#190849)
Make sure IsMaterialized is preserved in VPlan::duplicate for
VPSymbolicValues. This is currently NFC.
Split off from approved
https://github.com/llvm/llvm-project/pull/156262.
[Flang][OpenMP] Fix Common Blocks use in update to/from and target maps causing compiler errors (#187221)
This patch attempts to fix a compiler ICE when common blocks are used in
target update to/from, it seems to stem from the fact that we do not
resolve the symbols in the relevant clauses, so when we later process
the maps we don't have the right symbol that references the common block
that was setup and bound by the fortran lowering. Resolving the names
seems to do the trick.
There is a second issue where when referencing a common block with an
array contained in it and utilising the array within the target region,
we'll currently not accurately map over the bounds and cause a FIR/MLIR
verification error. The fix for this is to simply move the common block
member re-binding/re-materialization for the target region to before the
bounds data re-materialization we do during target region generation.
[RISCV] Use signed target constants for XCVmem post-inc loads (#189276)
First time opening a PR against LLVM, so please let me know if anything
is missing / wrong.
This fixes an assertion in RISC-V DAG isel for CORE-V xcvmem
post-increment loads with negative immediate offsets.
`RISCVDAGToDAGISel::Select` recognizes `xcvmem POST_INC` loads and
checks whether the offset fits the signed 12-bit immediate form used by
`cv.lb/cv.lbu/cv.lh/cv.lhu/cv.lw ... , (rs1), imm12`. That path was
extracting the offset with `getSExtValue()`, but then rebuilding it with
`getTargetConstant(...)`, which takes the unsigned constant path.
For negative offsets, that could trip the APInt assertion:
```
Assertion failed: (llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value")
```
[34 lines not shown]
[NFCI] Check for non-null before dereferencing a VPBB ptr (#190403)
A VPBB variable is possibly null (defined via a ternary), but is
subsequently dereferenced without a check included. This patch adds a
check for it to avoid any possibly null dereference. This was found via
static analysis, there is not a known case right now where this issue is
hit.