LLVM/project 21f2cf9mlir/lib/Dialect/SPIRV/IR MemoryOps.cpp, mlir/test/Dialect/SPIRV/IR memory-ops.mlir

Reland "[mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible}" (#213621) (#225499)
DeltaFile
+82-0mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
+49-8mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
+131-82 files

LLVM/project f4084fborc-rt/test/regression lit.cfg.py check-rt-process-info.test

[orc-rt] Fix regression test after 6506e7380c7f. (#225646)

Fix typo, substitution issues.
DeltaFile
+5-3orc-rt/test/regression/check-rt-process-info.test
+1-1orc-rt/test/regression/lit.cfg.py
+6-42 files

LLVM/project 023687blibc/src/sys/stat CMakeLists.txt mknodat.h, libc/src/sys/stat/linux CMakeLists.txt mknodat.cpp

[libc] Implement mknodat in sys/stat (#225512)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function `mknodat` in
`<sys/stat.h>`.

Fixes #225506
DeltaFile
+108-0libc/test/src/sys/stat/mknodat_test.cpp
+35-0libc/src/sys/stat/linux/mknodat.cpp
+27-0libc/src/sys/stat/mknodat.h
+25-0libc/test/src/sys/stat/CMakeLists.txt
+16-0libc/src/sys/stat/linux/CMakeLists.txt
+7-0libc/src/sys/stat/CMakeLists.txt
+218-04 files not shown
+228-010 files

FreeBSD/ports d53a71esysutils/cbsd pkg-plist Makefile

sysutils/cbsd: update to 15.1.1 release

changes:        https://github.com/cbsd/cbsd/releases/tag/v15.1.1
DeltaFile
+3-3sysutils/cbsd/distinfo
+1-1sysutils/cbsd/Makefile
+1-0sysutils/cbsd/pkg-plist
+5-43 files

LLVM/project 309ae98clang/test/CodeGen builtins-nvptx.c, llvm/lib/Target/NVPTX NVPTXIntrinsics.td

[clang][NVVM][NVPTX] Remove pzo modifier for rs rounding mode conversions (#225012)

This change removes the `pzo` modifier from the `fp16x2` conversion
intrinsics with `rs` rounding mode. This was added in
https://github.com/llvm/llvm-project/pull/214667 due to a bug in the
developer-preview version of the 13.4 PTX ISA docs, and this change
aligns it with the latest PTX ISA docs for 13.4.

PTX ISA reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt
DeltaFile
+0-135llvm/test/CodeGen/NVPTX/convert-fp16-rs-pzo.ll
+16-16clang/test/CodeGen/builtins-nvptx.c
+11-18llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+8-8mlir/test/Target/LLVMIR/nvvm/convert_fp16x2.mlir
+5-2mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+2-2llvm/test/CodeGen/NVPTX/convert-fp16-pzo.ll
+42-1813 files not shown
+48-1859 files

LLVM/project 65f27d8.github/workflows ids-check.yml, llvm/utils/git ids-check-helper.py

[ids-check] Make the script CWD-independent (#223354)

PR #208780 removed the working directory from the ids-check workflow
step invoking the ids-check-helper script. This caused the script to run
from the workspace root rather than the repository root. It turns out
that the script was not resilient to being run from any arbitrary
directory, which caused idt to never be invoked. This made the workflow
silently succeed without checking anything.

These changes resolve repository-relative paths against the script's own
location instead, assuming it is in the `llvm/utils/git` directory.

This also fixes the script to use the right resource directory when
using a prebuilt idt.

The effort to build LLVM as a dylib is tracked in #109483.
DeltaFile
+77-11llvm/utils/git/ids-check-helper.py
+1-1.github/workflows/ids-check.yml
+78-122 files

FreeNAS/freenas 8a38753src/freenas/usr/libexec/netdata/python.d truenas_net_stats.chart.py, src/middlewared/middlewared/etc_files/netdata netdata.conf.mako

Collect interface stats with a pynetif netdata collector

## Problem
Bonds, bridges and VLANs always reported a speed of 0 in realtime reporting (dashboard and TrueNAS Connect heartbeat). netdata's `/proc/net/dev` collector treats anything under `/sys/devices/virtual/net` as virtual and never creates a speed chart for it. In netdata 2.9 that path is hardcoded and the per-interface `virtual` override is read too late, so there is no config-only fix.

## Solution
- **New `truenas_net_stats` python.d collector**: it keeps its rtnetlink sockets open across ticks. Per tick it drains a non-blocking link-event socket (normally EAGAIN) and does a single `RTM_GETSTATS` dump for all interfaces. The link list and ethtool speeds are only refreshed when a link event arrives; bond, bridge and VLAN speed come from the kernel (sum of active slaves, fastest up port, parent device). Any error closes the sockets and the next tick starts over with a full resync.
- **Charts** `truenas_net_stats.{traffic,speed,operstate}.<iface>` keep kilobits/s traffic and the `received`/`sent` dimension names, so the interface graph and realtime conversions are unchanged apart from the chart ids.
- **`/proc/net/dev` is disabled** since nothing else reads it, which also cuts netdata's per-interface dimensions from roughly 30 to 4. The dbengine size approximation is updated to match.

Side effects worth calling out:
- Interface traffic history recorded before upgrade is no longer shown, since it is stored under the old `net.<iface>` chart ids.
- netdata's `system.net`, `net_packets`/`errors`/`drops`/`mtu`/`carrier`/`duplex` charts and the per-container `cgroup_*.net_*` charts are gone. Nothing in middleware or the UI reads them, but Graphite exporters will see different metric paths.
- Requires the pynetif build with `get_link_stats` and `netlink_route(groups=...)`.
DeltaFile
+93-0src/freenas/usr/libexec/netdata/python.d/truenas_net_stats.chart.py
+22-42src/middlewared/middlewared/pytest/unit/plugins/reporting/test_netdata_stats_func.py
+1-20src/middlewared/middlewared/etc_files/netdata/netdata.conf.mako
+8-8src/middlewared/middlewared/pytest/unit/plugins/reporting/test_netdata_approximation.py
+10-4src/middlewared/middlewared/plugins/reporting/realtime_reporting/ifstat.py
+3-9src/middlewared/middlewared/plugins/reporting/utils.py
+137-832 files not shown
+140-858 files

OPNSense/src a14e476sys/compat/linuxkpi/common/include/linux skbuff.h, sys/compat/linuxkpi/common/src linux_skbuff.c

LinuxKPI: skbuff: add initial page pool support

Add an internal flag which is set by skb_mark_for_recycle() and upon
"skb_free" then selects whether the skb is freed or returned to the
page pool.
There will likely be more details to figure out once the LinuxKPI page
work is done and we support more of the page pool than the bare minimum.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit e4795d3dbee71c463429e2901dad111fbc2d08fc)
DeltaFile
+8-1sys/compat/linuxkpi/common/src/linux_skbuff.c
+3-2sys/compat/linuxkpi/common/include/linux/skbuff.h
+11-32 files

OPNSense/src 81a1088sys/compat/linuxkpi/common/src linux_skbuff.c

LinuxKPI: skbuff: add reference counting to the skb

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit cb13e826ec45e11e964e1921d281e0a06ca5e152)
DeltaFile
+21-0sys/compat/linuxkpi/common/src/linux_skbuff.c
+21-01 files

OPNSense/src 3debdb0sys/compat/linuxkpi/common/src linux_skbuff.c

LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy()

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 1e4ec01603c4b1e0b0eb524f28f731eb5cb5f6dc)
DeltaFile
+10-4sys/compat/linuxkpi/common/src/linux_skbuff.c
+10-41 files

OPNSense/src 467e914sys/compat/linuxkpi/common/include/linux skbuff.h, sys/compat/linuxkpi/common/src linux_skbuff.c

LinuxKPI: skbuff: implement __skb_linearize()

skb_linearize() is used by mt7921, mt7925, and in the general mt76 tx dma
code. __skb_linearize() is used in the general iwlwifi TX code but given
the way we currently create TX skbs in LinuxKPI 802.11 we never hit that
case.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 9de11cc26ab61d7f80e8af84dbc55d8cbd6f832d)
DeltaFile
+60-0sys/compat/linuxkpi/common/src/linux_skbuff.c
+3-3sys/compat/linuxkpi/common/include/linux/skbuff.h
+63-32 files

OPNSense/src 842558bsys/compat/linuxkpi/common/include/linux skbuff.h

LinuxKPI: skbuff: implement napi_build_skb()

Implement napi_build_skb() around linuxkpi_build_skb().

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit b36460e5ec4659d0fa14b35c9342c5a154b3db7d)
DeltaFile
+6-2sys/compat/linuxkpi/common/include/linux/skbuff.h
+6-21 files

OPNSense/src c312822sys/compat/linuxkpi/common/include/linux skbuff.h

LinuxKPI: skbuff: add skb_put_zero()

Add skb_put_zero() as a simple wrapper around __skb_put_zero().

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 32c983449a7c802bf47578d5304c6d505db7821a)
DeltaFile
+7-1sys/compat/linuxkpi/common/include/linux/skbuff.h
+7-11 files

OPNSense/src 167b901sys/compat/linuxkpi/common/include/linux skbuff.h

LinuxKPI: skbuff: improve debugging

Deal with SKB_TRACE_FMT optional arguments; while here properly indent.

Add KASSERT to __skb_unlink() to catch incorrect skbuffs encountered
while debugging a wireless driver (which had other pre-conditions failing).

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit e5bcf7b99fcbe06d381525ffdd5027b846cdc1d3)
DeltaFile
+5-3sys/compat/linuxkpi/common/include/linux/skbuff.h
+5-31 files

OPNSense/src 6f5d4e6sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: lkpi_80211_txq_tx_one() only pass sta if added to drv

If we are doing a direct (*tx) downcall, only pass sta as meta data
if it was added to the driver (via the state machine).  This prevents
us passing a sta not known to the driver leading to possible follow-up
complications/errors.  This will usually happen if (a) we are doing
software scanning, or (b) if net80211 decides to change the ni from
under us and sends a packet with the new ni.

Adjust a debug statement before to also have the added_to_drv field
in it to ease debugging.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit c6e70c68d2ce5cfbcace251ef6ed2f1eae912a74)
DeltaFile
+6-5sys/compat/linuxkpi/common/src/linux_80211.c
+6-51 files

OPNSense/src a3b1352sys/compat/linuxkpi/common/src linux_pci.c

LinuxKPI: pci detach: implement a proper detach (release) path

There are two paths in the LinuxKPI PCI code to instantiate a "pdev"
(LinuxKPI pci_dev).  One is using the FreeBSD bus framework and the
pdev will be the softc.
This commit starts cleaning up the detach path for just that case
to the best possible.

So far we did a lot of the work in linux_pci_detach_device(), which is
the internal handler of the detach function and little in the
(*release) callback (devres cleanup only).
The problem with that is, that we tear down resources which later in the
devres cleanup are needed.  With them not being there anymore we panic, e.g.,
in lkpi_dma_unmap < lkpi_dmam_free_coherent < lkpi_devres_release_free_list.
The solution is to migrate most of the cleanup work into the (*release)
callback, which will automatically be called when the device (kobj) reference
drops to zero.  The only work which should be done immediately is to let the
dirver do its cleanup;  this has to happen before we try to teardown the
resources, but also we do want this to happen when detach is called

    [24 lines not shown]
DeltaFile
+129-14sys/compat/linuxkpi/common/src/linux_pci.c
+129-141 files

OPNSense/src 68692bcsys/compat/linuxkpi/common/src linux_pci.c

LinuxKPI: fix lkpi_pci_get_device() reference counting on device

In case we are passed an "odev" (a device to start the search from),
that device would have an extra reference.  The best way to illustrate
this is to look at for_each_pci_dev(), which will return one device
after the other.  Upon first return we return a pdev with a reference.
That pdev is then passed in as odev on the next call.  If we do not
clear the reference it will be leaked.

Sponsored by:   The FreeBSD Foundation
Fixes:          910cf345d0ee9 ("LinuxKPI: pci: implement ...")
Reviewed by:    dumbbell, emaste
Differential Revision: https://reviews.freebsd.org/D57428

(cherry picked from commit f9a37065b6948831f62a33fd0c68c96985b01a41)
DeltaFile
+3-1sys/compat/linuxkpi/common/src/linux_pci.c
+3-11 files

LLVM/project 0b8d78f.github/workflows issue-write.yml

[Github] Register Flang integration test check in issue comment workflow (#225500)

Allow issue-write.yml to consume comment artifacts from the Flang
integration test check. Landing this registration first enables testing
of the workflow in #221766.
DeltaFile
+1-0.github/workflows/issue-write.yml
+1-01 files

OPNSense/src 879cb0bsys/compat/linuxkpi/common/include/linux workqueue.h, sys/compat/linuxkpi/common/src linux_work.c

LinuxKPI: add system_percpu_wq

In Linux v6.17 system_wq was replaced (renamed to) system_percpu_wq,
with the old name still present.

We just alias system_percpu_wq to linux_system_short_wq like we do
for system_wq to keep both around for the forseeable future.

Note: the original system_wq was a per-cpu queue upstream as well
based on my understanding but we never implemented it as such.
That means we are still lacking a per-cpu implementation for
system_percpu_wq but at least we do not change the status-quo
of the LinuxKPI implementation with this.

Note2: we should add a check somewhere for LINUXKPI_VESION >=
61700 to print a warning if anyone still uses the system_wq
to detect any possible sami-native or out-of-tree drivers
relying on this and not properly updating.


    [5 lines not shown]
DeltaFile
+9-0sys/compat/linuxkpi/common/src/linux_work.c
+1-0sys/compat/linuxkpi/common/include/linux/workqueue.h
+10-02 files

OPNSense/src f9406c9sys/compat/linuxkpi/common/include/linux pm_runtime.h

linuxkpi: Add pm_runtime_resume_and_get

pm_runtime_resume_and_get is used by new versions of amdgpu, and began
use between Linux kernel version 6.12, and 6.14.

Reviewed by:    dumbbell
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57463

(cherry picked from commit 7e1245aafeece1a56af292c2652c6b835ccb6f10)
DeltaFile
+6-0sys/compat/linuxkpi/common/include/linux/pm_runtime.h
+6-01 files

LLVM/project c41e1efclang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode Compiler.cpp

[clang] Fix crash on assigning to _Atomic vectors (#225125)

As described in the issue itself: d=c on _Atomic vector crashed during
the overflow check because isVectorType() doesn't look through _Atomic.
Strip _Atomic before checking operand types.

Fixes #225039

bt:
<img width="1908" height="825" alt="225039_crash_atomic_vector"
src="https://github.com/user-attachments/assets/c5d48ba5-fa9b-43f8-a555-8b9bbe558152"
/>

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
DeltaFile
+14-7clang/lib/AST/ByteCode/Compiler.cpp
+13-0clang/test/Sema/vector-assign.c
+5-3clang/lib/AST/ExprConstant.cpp
+32-103 files

OPNSense/src db4e600share/man/man9 Makefile pci.9, sys/dev/pci pcivar.h pci.c

pci: Add is_pci_device helper function

This returns true if a given device is a PCI device (child of a PCI
bus).

Reviewed by:    bz, kib
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D56996

(cherry picked from commit ffcf5e356644252f2f6c89ba01057af45c216559)
DeltaFile
+10-1share/man/man9/pci.9
+11-0sys/dev/pci/pci.c
+2-1share/man/man9/Makefile
+1-0sys/dev/pci/pcivar.h
+24-24 files

OPNSense/src 070b6adsys/dev/acpica acpivar.h, sys/dev/ppbus ppbconf.h

bus: Document special ranges of IVARs

Some IVAR indices are special in that they have global meaning across
multiple buses where as other IVARs are always private to the local bus.
Try to document this a bit and add constants for the various ranges to
avoid future conflicts.

This is a no-op, but IVAR indices are now generally defined as enums
as that makes it easier to define them in terms of ranges.

Reviewed by:    imp, royger, andrew
Differential Revision:  https://reviews.freebsd.org/D54159

(cherry picked from commit 6cf4e30252fe48b230b9d76cac20576d5b3d2ffa)
DeltaFile
+9-7sys/dev/virtio/virtio.h
+16-0sys/sys/bus.h
+8-6sys/dev/scc/scc_bus.h
+7-5sys/dev/acpica/acpivar.h
+8-4sys/dev/ppbus/ppbconf.h
+6-4sys/sys/cpu.h
+54-2628 files not shown
+100-6434 files

OPNSense/src ed5b1f4sys/dev/pci pci_host_generic_fdt.h pci_host_generic.h

pci: pci_host_generic: provide cleanup methods outside of detach

If device_attach() fails, we're expected to actually cleanup after
ourselves because device_detach() will not be called.  Factor out the
cleanup bits that don't rely on attach having actually succeeded so
that we can cleanup properly in bcm2838_pci.

Reviewed by:    andrew, imp

(cherry picked from commit 31a94ec32b53ebf6227bc868ce4f7aa07650680d)
DeltaFile
+19-0sys/dev/pci/pci_host_generic_fdt.c
+11-4sys/dev/pci/pci_host_generic.c
+1-0sys/dev/pci/pci_host_generic_fdt.h
+1-0sys/dev/pci/pci_host_generic.h
+32-44 files

OPNSense/src 94da6besys/dev/pci pci.c

pci: use uint32_t for eecp

eecp holds the extended capability offset. If that offset is larger
than 0xff, storing it in uint8_t truncates it, which can make the
early EHCI/XHCI capability walk read the wrong location and loop during
boot.

Seen on AMD device 1022:151e, where HCCPARAMS1 = 0x0118ffc5 and the
first xHCI extended capability offset is 0x460. Widen eecp to uint32_t
in xhci_early_takeover(), matching xhci_pci_take_controller().

Signed-off-by: Gisle Nes <gisle at gisle.net>
Reviewed by:    zlei, aokblast
MFC after:      3 days
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2127
Closes:         https://github.com/freebsd/freebsd-src/pull/2127
(cherry picked from commit 555ffd9022de0c497881bafc413e3e1d05af10d4)
DeltaFile
+1-1sys/dev/pci/pci.c
+1-11 files

LLVM/project e56c2cellvm/docs LangRef.md, llvm/test/Transforms/Attributor nocapture-1.ll

[IR] Remove llvm.strip.invariant.group intrinsic (#225399)

This intrinsic was originally introduced to make sure that if we have a
dominating condition like `a == launder.invariant.group(a)`, we don't
end up replacing the latter with the former, as that would allow the
optimizer to assume that the memory stays invariant, despite going
through a launder operation. Wrapping both comparison operands in
strip.invariant.group avoids the issue, because replacing one stripped
pointer with another is safe.

The underlying issue was fixed in
https://github.com/llvm/llvm-project/pull/224281 (and prior work), which
ensures that the problematic replacement cannot happen in the first
place.

https://github.com/llvm/llvm-project/pull/225072 stopped emitting
llvm.strip.invariant.group on the clang side.

This PR now removes the intrinsic entirely. To be on the safe side, it
is upgraded to llvm.launder.invariant.group. For Clang's specific usage,
just dropping it would be fine.
DeltaFile
+42-93llvm/test/Transforms/Attributor/nocapture-1.ll
+0-123llvm/test/Transforms/InstCombine/invariant.group.ll
+37-82llvm/test/Transforms/FunctionAttrs/nocapture.ll
+0-34llvm/test/Transforms/DeadStoreElimination/launder.invariant.group.ll
+0-30llvm/docs/LangRef.md
+0-27llvm/test/Transforms/Inline/inline_inv_group.ll
+79-38955 files not shown
+175-71661 files

FreeBSD/ports 8cdfd9ddns/dnscontrol Makefile distinfo

dns/dnscontrol: Update to 5.2.0
DeltaFile
+5-5dns/dnscontrol/distinfo
+1-1dns/dnscontrol/Makefile
+6-62 files

FreeBSD/ports 8790716multimedia/minisatip Makefile distinfo

multimedia/minisatip: Update to 2.0.111
DeltaFile
+3-3multimedia/minisatip/distinfo
+1-1multimedia/minisatip/Makefile
+4-42 files

OPNSense/src ae13affshare/man/man9 pci.9, sys/dev/pci pci.c

pci: Preserve adjusted PCIe control state

The PCI bus changes live capability registers after the initial
configuration snapshot has been saved. A later driver reprobe restores
that snapshot and can silently undo the adjustment.

Update the cached Device Control and Root Control bits together with
pcie_adjust_config() writes. Route the persistent Maximum Read Request
setter and the bus-owned AER control changes through that helper as
well, so they share the same restore semantics as MPS reconciliation.

Document the persistent-write contract. Merge only explicitly adjusted
bits into the saved image so unrelated or transient bits observed during
the hardware read-modify-write cannot become persistent.

(cherry picked from commit a9752e9ac8a635f49ca058dd7268298840c7e915)
DeltaFile
+25-16sys/dev/pci/pci.c
+10-1share/man/man9/pci.9
+35-172 files

OPNSense/src a062118share/man/man9 Makefile pci.9, sys/dev/pci pcivar.h pci.c

pci: Add is_pci_device helper function

This returns true if a given device is a PCI device (child of a PCI
bus).

Reviewed by:    bz, kib
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D56996

(cherry picked from commit ffcf5e356644252f2f6c89ba01057af45c216559)
DeltaFile
+10-1share/man/man9/pci.9
+11-0sys/dev/pci/pci.c
+2-1share/man/man9/Makefile
+1-0sys/dev/pci/pcivar.h
+24-24 files