Keep original list of attached controllers
Some NVMe SSDs report more (66) controllers that PCIe links, possibly
for SRIOV, etc. When resizing namespace, we should maintain the
original list attached of controllers.
NAS-140495 / 26.0.0-BETA.2 / Fix webshell race on close (by creatorcary) (#18614)
## Problem
TOCTOU race in `ShellWorkerThread.close_master_fd()` that causes
`TypeError: 'NoneType' object cannot be interpreted as an integer` when
`run()` and `abort()` concurrently close the same fd.
## Fix
Replace check-then-close with an atomic swap (`fd, self.master_fd =
self.master_fd, None`) so only one caller gets the fd; the GIL
guarantees the swap is atomic. Remove the now-redundant `if
self.master_fd is not None` guard in `abort()`.
Add unit tests for `close_master_fd()`: no-op when `None`, single-caller
close, and concurrent two-thread race.
Covers the gap left by #17798.
Original PR: https://github.com/truenas/middleware/pull/18611
[3 lines not shown]
NAS-140495 / 27.0.0-BETA.1 / Fix webshell race on close (#18611)
## Problem
TOCTOU race in `ShellWorkerThread.close_master_fd()` that causes
`TypeError: 'NoneType' object cannot be interpreted as an integer` when
`run()` and `abort()` concurrently close the same fd.
## Fix
Replace check-then-close with an atomic swap (`fd, self.master_fd =
self.master_fd, None`) so only one caller gets the fd; the GIL
guarantees the swap is atomic. Remove the now-redundant `if
self.master_fd is not None` guard in `abort()`.
Add unit tests for `close_master_fd()`: no-op when `None`, single-caller
close, and concurrent two-thread race.
Covers the gap left by #17798.
[VPlan] Avoid unnecessary BTC SymbolicValue creation (NFC) (#189929)
Don't unnecessarily create a backedge-taken-count SymbolicValue. This
allows us to simplify some code.
[flang][OpenMP] Remove qualification from evaluate::SymbolVector, NFC (#189984)
`SymbolVector` is defined in flang/Semantics/symbol.h, so there is no
need to use a namespace-qualified name for it in lib/Semantics.
[SLP][NFC] Fix uninitialized ReductionRoot in getTreeCost
ReductionRoot was initialized to nullptr instead of the RdxRoot
parameter. This caused two ScaleCost calls (for MinBWs cast cost and
ReductionBitWidth resize cost) to pass nullptr as the user instruction,
and suppressed the "Reduction Cost" line in debug output. In practice
the scale factor is the same because the tree root's main op and the
reduction root share the same basic block, so this is NFC.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/189994
[win][x64] Unwind v2: When making headroom leave space for the header (#188368)
When the `ensureHeadroom` call was added during unwind v2 info emission,
it didn't take into account that there is a header of 2-bytes before all
the fixups, so not enough space was actually reserved.
Keep original list of attached controllers
Some NVMe SSDs report more (66) controllers that PCIe links, possibly
for SRIOV, etc. When resizing namespace, we should maintain the
original list attached of controllers.
[Offload] Run liboffload unit tests as a part of check-offload (#189731)
Summary:
These are currently only run with check-offload-unit. Make them a part
of the other tests by putting a dependency on it. We did something like
this previously but it was reverted because the tests failed if there
were no GPUs (like in systems that only checked the CPU case) but I
think that has been fixed.
[flang][acc] Add AA implementation for acc operations (#189772)
This PR extends flang's alias analysis so it can reason about values
that originate from OpenACC data and privatization operations, including
values passed through block arguments.
[HLSL] Add GetDimensions to Texture2D.
This commit add the GetDimensions mehtods to Texture2D. For DXIL, it
requires intrinsics that are not yet available. They are added, but not
implemented.
Assisted-by: Gemini