[flang][cuda] Fix invalid address space in addressof op conversion (#192111)
The change in lowering order introduced in
https://github.com/llvm/llvm-project/pull/183268 exposed an issue when
converting addressof op pointing to globals with different address
space. Look at the fir::GlobalOp when it has not been converted.
[CIR] Raise IntType max bitwidth to match LLVM IR (#191499)
Follow-up to #188113 per @erichkeane's feedback about the 128-bit cap.
CIR's IntType was hard-limited to 128 bits, which meant any _BitInt
wider than that hit an errorNYI. LLVM IR goes up to 2^23 (about 8
million bits), and there are real tests/users at those sizes. This
raises CIR's limit to match and drops the guard that was working around
it.
Tests: added a _BitInt(256) global to bitint.c and a 1024-bit round-trip
to bitint.cir.
Made with [Cursor](https://cursor.com)
[CIR] Add musttail thunks and covariant return null-check (#191255)
Implement variadic thunk emission via musttail and null-check
pointer returns in covariant thunk adjustment, matching classic
codegen behavior.
Adds musttail UnitAttr to cir.call/cir.try_call with lowering
to LLVM::MustTail.
Made with [Cursor](https://cursor.com)
lro: move pkt rejection checks to leafs to avoid queueing non-LRO'able pkts
When lro mbuf queuing is enabled, we should not queue easily
reject-able packets. Queuing them does a bit of extra work (sorting,
timestamps) and can potentially delay urgent packets such as LACP
PDUs. This change moves simple rejection tests from lro_rx_common()
into lro_rx and (more importantly) into tcp_lro_queue_mbuf().
Note this change only moves the easy checks on forwarding and packet
metadata, where the rejection criteria is already hot in cache. It
does not move parsing and looking inside the packet to verify the
ether protocol, ip protocol, etc. This could be done, but we risk
essentially doubling the cache misses per-packet by doing so.
Differential Revision: https://reviews.freebsd.org/D56337
Reviewed by: rrs, tuexen
Sponsored by: Netflix
ifconfig: add CMIS support for 400GbE optics
Add support for CMIS based optics, typically used by 400GbE
and faster ethernet optics. The CMIS standard requires paged
support for i2c ioctls.
This has been tested on an Nvidia ConnectX-7 and Broadcom
Thor2 400GbE NIC, and I have verified that optics vendor information,
light levels, and temperatures match the information provided by
various vendor tools.
Differential Revision: https://reviews.freebsd.org/D56265
Reviewed by: kbowling, sumit.saxena_broadcom.com
Sponsored by: Netflix
Mark tests as unsupported on z/OS (#191843)
z/OS has a platform specific requirement to not allow asm statements at
file scope. These tests generate that message rather than the expected
IR. Mark the tests as unsupported on z/OS.
Load AST files as binary on z/OS (#191840)
The ast files need to be loaded as binary on z/OS to avoid translation.
Add the `IsText=false` option to all of the relevant file open calls.
NAS-140652 / 26.0.0-BETA.2 / fix nvme self-test error alert (buggy firmware) (by yocalebo) (#18744)
## Summary
Fix `parse_nvme_smart_info` in the SMART alert source to select the
newest
NVMe self-test log entry and to tolerate sparse gaps in the table,
eliminating transient false `"failed a SMART selftest"` alerts that
appear
and self-clear every 90 minutes (the alert's poll cadence).
## Root Cause
`parse_nvme_smart_info` used `table[-1]` while naming the variable
`latest_entry`, but `[-1]` is the *last* (oldest) element, not the
newest.
Per the NVMe specification, the Device Self-Test Log (Log 0x06) stores
result entries in reverse chronological order — **index `0` is the most
recent test.** Using `[-1]` meant the alert was actually evaluating the
[91 lines not shown]
qcom_gcc: Only build on arm64 for kernels with FDT
This fixes the build of the LINT-ACPI kernel.
Fixes: 4e3fdced7f78 ("qcom_gcc: migrate the MSM8916 support to qcom_gcc")
[sanitizer] Make internal_close_range available on all POSIX platforms (#191971)
Make internal_close_range available on all POSIX platforms so callers
can use it without platform-specific #if guards. Platforms without
close_range return -1, letting callers fall back gracefully.
Currently only FreeBSD has a real implementation. A TODO is left for
adding Linux support (__NR_close_range, kernel 5.9+).
The Linux support will be added in
https://github.com/llvm/llvm-project/pull/191450.
NAS-140652 / 27.0.0-BETA.1 / fix nvme self-test error alert (buggy firmware) (#18743)
## Summary
Fix `parse_nvme_smart_info` in the SMART alert source to select the
newest
NVMe self-test log entry and to tolerate sparse gaps in the table,
eliminating transient false `"failed a SMART selftest"` alerts that
appear
and self-clear every 90 minutes (the alert's poll cadence).
## Root Cause
`parse_nvme_smart_info` used `table[-1]` while naming the variable
`latest_entry`, but `[-1]` is the *last* (oldest) element, not the
newest.
Per the NVMe specification, the Device Self-Test Log (Log 0x06) stores
result entries in reverse chronological order — **index `0` is the most
recent test.** Using `[-1]` meant the alert was actually evaluating the
[87 lines not shown]
[clang] Attempt to unbreak clang/test/Driver/serenity.cpp on bots (#192105)
The c++/v1 paths aren't found on bots, so remove them for now until this
is analyzed.
Match on `-isysroot` to get SYSROOT var instead.
Also remove what looks like one unintentional SYSROOT: capture for
crt0.o.
in_pcb: Fix RIPCB_HASH in kernels without INET or INET6
Only use hashes for protocols that are enabled in the kernel
configuration.
Fixes: ece716c5d347 ("raw ip: move hash table manipulation to inpcb layer")
[LLDB][Docs] List available settings (#168245)
This PR adds a documentation page that lists all available settings. The
page is automatically generated.
Having the settings listed in the online documentation makes it easier
to search for users. It also has the advantage of being indexed by
search engines.
To generate the docs, we first generate JSON out of the TableGen
definitions with `-dump-json`.
Once all properties are available as JSON, a Markdown file with the
merged documentation (`settings.md`) is generated. I chose Markdown over
RST, because some descriptions already use backticks, which would become
references in RST.
Currently, enum names/descriptions are not visible, because they're
defined in C++. In the future, these could be moved to TableGen as well.
[GVN] Clean up `reportMayClobberedLoad` to use the dependency instruction (NFC) (#192103)
Minor opportunity to clean `reportMayClobberedLoad` routine, which was
previously receiving the entire `MemDepResult` object, though only using
the dependency instruction.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Clear the pointer in tm data structures before passing them to
unprivileged side. Prevents address information leak.
Reported by Systopia Team, thanks!
ok deraadt@ (for the previous version).