LLVM/project 72c9304llvm/lib/Target/RISCV RISCVInstrInfoVSDPatterns.td RISCVInstrInfoZvk.td

[RISCV] Add missing HasStdExtZvkb Predicate to some of the vector rotate patterns. NFC (#178250)

We already had it on the rotl with immediate patterns, but not any of
the others. This reduces the isel table size by a few hundred bytes by
allowing additional factoring with the rotl with immediate patterns.

This is NFC because these patterns shouldn't make it to isel if the
predicate wasn't already satisfied.
DeltaFile
+7-5llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
+4-4llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
+4-3llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+15-123 files

FreeNAS/freenas d599f24tests/api2 test_twofactor_auth.py test_audit_websocket.py

Fix
DeltaFile
+1-1tests/api2/test_twofactor_auth.py
+1-1tests/api2/test_audit_websocket.py
+2-22 files

LLVM/project 0ed8e72llvm/lib/Transforms/Vectorize VPlanConstruction.cpp VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize scalable-predication.ll

[VPlan] Create SCEV before any VPIRInstructions to check for overflow (#177911)

This PR tried to fix the assertion fail at VPlanTransforms.cpp:4862
since SCEV was created after VPIRInstructions.

The tripcount in scalable-predication.ll was changed from constant value
256 to non-constant value %n to avoid VPIRInstructions optimized out,
which cannot trigger the assertion fail.

The orders in ir-bb<entry> from:

ir-bb<entry>:
  EMIT vp<%2> = EXPAND SCEV (1 umax %n)
  EMIT vp<%3> = sub ir<-1>, vp<%2>
  EMIT vp<%4> = EXPAND SCEV (4 * vscale)<nuw>
  EMIT vp<%5> = icmp ult vp<%3>, vp<%4>
  EMIT branch-on-cond vp<%5>
Successor(s): scalar.ph, vector.ph


    [8 lines not shown]
DeltaFile
+53-0llvm/test/Transforms/LoopVectorize/scalable-predication.ll
+4-2llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+58-33 files

LLVM/project 479aba5clang/include/clang/AST Mangle.h, clang/lib/AST Mangle.cpp

change mangling again
DeltaFile
+52-52clang/test/CodeGenObjC/expose-direct-method.m
+36-36clang/test/CodeGenObjC/expose-direct-method-visibility-linkage.m
+13-24clang/lib/AST/Mangle.cpp
+9-9clang/test/CodeGenObjC/expose-direct-method-varargs.m
+4-9clang/include/clang/AST/Mangle.h
+4-4clang/test/CodeGenObjC/direct-method-ret-mismatch.m
+118-1341 files not shown
+122-1387 files

LLVM/project 115d170llvm/lib/Target/RISCV RISCVInstrInfoZvk.td

[RISCV] Make RVInstIVI_VROR inherit from RVInstVBase. NFC (#178293)

DeltaFile
+3-11llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
+3-111 files

LLVM/project ae8a489clang/lib/AST Mangle.cpp, clang/lib/CodeGen CGObjCMac.cpp

format
DeltaFile
+3-3clang/lib/CodeGen/CGObjCMac.cpp
+0-1clang/lib/AST/Mangle.cpp
+3-42 files

LLVM/project 658fdf3clang/lib/CodeGen CGObjCMac.cpp, clang/test/CodeGenObjC expose-direct-method-same-name.m expose-direct-method.m

mangle category name into objc direct
DeltaFile
+103-0clang/test/CodeGenObjC/expose-direct-method-same-name.m
+8-8clang/test/CodeGenObjC/expose-direct-method.m
+1-1clang/lib/CodeGen/CGObjCMac.cpp
+112-93 files

FreeBSD/src 4daf2d3lib/libc/gen posix_spawn.c

posix_spawn: use rfork_thread on all arches

Do not allocate or switch to the custom stack on non-x86.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54898
DeltaFile
+18-21lib/libc/gen/posix_spawn.c
+18-211 files

FreeBSD/src c1be185lib/libsys rfork_thread_gen.c pdrfork_thread_gen.c, lib/libsys/amd64 Symbol.sys.map

libsys, libc: provide rfork_thread() and pdrfork_thread() on all arches

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D54898
DeltaFile
+40-0lib/libsys/rfork_thread_gen.c
+34-0lib/libsys/pdrfork_thread_gen.c
+0-5lib/libsys/amd64/Symbol.sys.map
+0-5lib/libsys/i386/Symbol.sys.map
+2-0lib/libsys/Symbol.sys.map
+2-0lib/libsys/arm/Makefile.sys
+78-104 files not shown
+86-1010 files

LLVM/project 2159389clang/lib/CodeGen CodeGenPGO.cpp

Update assertion text
DeltaFile
+1-1clang/lib/CodeGen/CodeGenPGO.cpp
+1-11 files

LLVM/project 6c22adcclang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX vtt-address-space.cpp inheriting-constructor.cpp

[clang] consistent addrspace for GetVTTParameter result (#177044)

Avoid using VTT->getValueType() and VoidPtrTy and DRY the code to more
accurately get and set the addrspace without relying on the behavior of
struct indexing into a GlobalValue declared type.
DeltaFile
+6-7clang/test/CodeGenCXX/vtt-address-space.cpp
+5-5clang/lib/CodeGen/CGClass.cpp
+2-2clang/test/CodeGenCXX/inheriting-constructor.cpp
+13-143 files

LLVM/project 9d5d2eellvm/lib/Transforms/Utils PromoteMemoryToRegister.cpp, llvm/test/CodeGen/SPIRV/pointers store-struct.ll load-struct.ll

[Mem2Reg] Remove extraneous getAllocatedType() check (#177438)

Replace uses of getAllocatedType() in PromoteMemoryToRegister.cpp with
type tracking from actual loads and stores. This makes the promotion
logic more semantic - it now checks that all loads/stores use a
consistent type rather than requiring them to match the alloca's
declared type.

Changes:
- isAllocaPromotable() now tracks the first load/store type seen and
ensures all subsequent accesses use the same type
- AllocaInfo gains a ValueType field populated during AnalyzeAlloca()
- PromoteMem2Reg tracks AllocaValueTypes alongside other per-alloca info
- PHI nodes and UndefValues are created using the tracked type

This is semantically more permissive - an alloca declared as i64 but
only accessed as i32 is now promotable. This is correct because the
alloca is just a blob of memory; what matters for Mem2Reg is consistent
access patterns.

    [9 lines not shown]
DeltaFile
+37-7llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
+9-7llvm/test/CodeGen/SPIRV/pointers/store-struct.ll
+6-4llvm/test/CodeGen/SPIRV/pointers/load-struct.ll
+3-1llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
+3-1llvm/test/CodeGen/SPIRV/pointers/store-to-array-first-element.ll
+2-2llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
+60-226 files

LLVM/project d733771llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 vec_list_bias-inseltpoison.ll

Revert "[SLP]Support for tree throttling in SLP graphs with gathered loads"

This reverts commit 0666a777ec8138f58ebc7fc41a2fb8097328308a.

Makes clang assert, see repro at
https://github.com/llvm/llvm-project/pull/177855#issuecomment-3808529832
DeltaFile
+14-99llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+13-12llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
+27-1112 files

LLVM/project b9ed506llvm/lib/Transforms/Instrumentation MemProfUse.cpp

merge clang-format changes
DeltaFile
+9-4llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
+9-41 files

LLVM/project 82bd77allvm/lib/Transforms/Instrumentation MemProfUse.cpp

apply clang format
DeltaFile
+9-4llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
+9-41 files

LLVM/project d87fb48llvm/lib/Analysis StaticDataProfileInfo.cpp, llvm/lib/Transforms/Instrumentation MemProfUse.cpp

Update codegen pass
DeltaFile
+7-7llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
+5-5llvm/lib/Analysis/StaticDataProfileInfo.cpp
+12-122 files

LLVM/project a981b9cclang/test/CodeGenObjC expose-direct-method-visibility-linkage.m

fix mac tests
DeltaFile
+36-36clang/test/CodeGenObjC/expose-direct-method-visibility-linkage.m
+36-361 files

LLVM/project cf4ce38clang/cmake/caches hexagon-unknown-linux-musl-clang-dylib.cmake hexagon-unknown-linux-musl-clang-cross.cmake

[hexagon] Add dylib cmake + toolchain_only (#177247)

The toolchains take up much less space when we enable dylib, so let's
create an option to build them that way.

Also: TOOLCHAIN_ONLY was ineffective in
hexagon-unknown-linux-musl-clang-cross.cmake because cmake takes the
first setting from hexagon-unknown-linux-musl-clang.cmake with
precedence. FORCE it to fix that issue.

Signed-off-by: Brian Cain <brian.cain at oss.qualcomm.com>
DeltaFile
+7-0clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib.cmake
+3-1clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
+10-12 files

LLVM/project 5b46cedllvm/test/Transforms/PGOProfile data-access-profile.ll

tighten up test
DeltaFile
+22-14llvm/test/Transforms/PGOProfile/data-access-profile.ll
+22-141 files

LLVM/project 8a62457llvm/test/CodeGen/NVPTX atomicrmw-sm60.ll atomicrmw-sm70.ll

Revert "[NVPTX][AtomicExpandPass] Complete support for AtomicRMW in NVPTX (#176015)" (#178329)

This reverts commit 1d379d05d46d77b5f008349cc14de27dd055f4b9. This
change breaks llvm-nvptx-nvidia-win in the buildbot.
DeltaFile
+0-3,137llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
+0-3,111llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
+0-2,983llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
+476-3llvm/test/CodeGen/NVPTX/atomics.ll
+151-0llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
+147-0llvm/test/CodeGen/NVPTX/atomics-sm90.ll
+774-9,2348 files not shown
+1,053-9,54914 files

LLVM/project a2d07b8clang/lib/AST Mangle.cpp, clang/test/CodeGenObjC expose-direct-method.m expose-direct-method-varargs.m

further fix mangling
DeltaFile
+52-52clang/test/CodeGenObjC/expose-direct-method.m
+9-9clang/test/CodeGenObjC/expose-direct-method-varargs.m
+4-4clang/test/CodeGenObjC/direct-method-ret-mismatch.m
+1-2clang/lib/AST/Mangle.cpp
+66-674 files

LLVM/project 5477a33llvm/lib/Transforms/Instrumentation MemProfUse.cpp, llvm/test/Transforms/PGOProfile data-access-profile.ll

Annotate string literal section prefix
DeltaFile
+54-15llvm/test/Transforms/PGOProfile/data-access-profile.ll
+49-1llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
+103-162 files

HardenedBSD/src 988bcd8lib/libc/net getnetbydns.c

libc: Don't use uninitialised string for getnetbyaddr[_r](0) DNS lookup

If net is all-zero, the loop to extract all leading non-zero octets will
iterate zero times and leave nn with the value 4, which the following
switch statement to initialise qbuf does not handle. As a result,
_dns_getnetbyaddr will look up the PTR record for this uninitialised
string, which will leak the pre-existing contents of that stack memory
to the DNS resolver and, if remote and not otherwise protected, network.

Note that _dns_getnetbyaddr is only used if nsswitch.conf is configured
to enable the "dns" source for the "networks" database, which is not the
default configuration in FreeBSD.

For glibc this same bug, in code also derived from BIND's, was issued
CVE-2026-0915. This commit adopts the same behaviour as glibc's fix,
which is to regard a net of 0 as being for 0.0.0.0. Apparently NetBSD
will return NS_UNAVAIL instead, which may or may not make more sense,
but in general glibc compatibility tends to cause less friction when
there's not a good reason to avoid it.

    [8 lines not shown]
DeltaFile
+3-0lib/libc/net/getnetbydns.c
+3-01 files

HardenedBSD/src df54707crypto/openssl/apps pkeyutl.c, crypto/openssl/apps/lib apps.c

openssl: Fix multiple vulnerabilities

This is a rollup commit from upstream to fix:
  Improper validation of PBMAC1 parameters in PKCS#12 MAC verification (CVE-2025-11187)
  Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467)
  NULL dereference in SSL_CIPHER_find() function on unknown cipher ID (CVE-2025-15468)
  "openssl dgst" one-shot codepath silently truncates inputs >16MB (CVE-2025-15469)
  TLS 1.3 CompressedCertificate excessive memory allocation (CVE-2025-66199)
  Heap out-of-bounds write in BIO_f_linebuffer on short writes (CVE-2025-68160)
  Unauthenticated/unencrypted trailing bytes with low-level OCB function calls (CVE-2025-69418)
  Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion (CVE-2025-69419)
  Missing ASN1_TYPE validation in TS_RESP_verify_response() function (CVE-2025-69420)
  NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex function (CVE-2025-69421)
  Missing ASN1_TYPE validation in PKCS#12 parsing (CVE-2026-22795)
  ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function (CVE-2026-22796)

See https://openssl-library.org/news/secadv/ for additional details.

Approved by:    so

    [17 lines not shown]
DeltaFile
+28-27crypto/openssl/apps/lib/apps.c
+18-18crypto/openssl/apps/pkeyutl.c
+26-6crypto/openssl/crypto/bio/bf_lbuf.c
+20-0crypto/openssl/crypto/asn1/evp_asn1.c
+16-2crypto/openssl/crypto/pkcs12/p12_mutl.c
+8-2crypto/openssl/crypto/modes/ocb128.c
+116-5512 files not shown
+158-7018 files

HardenedBSD/src 4e0dec8lib/libc/net getnetbydns.c

libc: Don't use uninitialised string for getnetbyaddr[_r](0) DNS lookup

If net is all-zero, the loop to extract all leading non-zero octets will
iterate zero times and leave nn with the value 4, which the following
switch statement to initialise qbuf does not handle. As a result,
_dns_getnetbyaddr will look up the PTR record for this uninitialised
string, which will leak the pre-existing contents of that stack memory
to the DNS resolver and, if remote and not otherwise protected, network.

Note that _dns_getnetbyaddr is only used if nsswitch.conf is configured
to enable the "dns" source for the "networks" database, which is not the
default configuration in FreeBSD.

For glibc this same bug, in code also derived from BIND's, was issued
CVE-2026-0915. This commit adopts the same behaviour as glibc's fix,
which is to regard a net of 0 as being for 0.0.0.0. Apparently NetBSD
will return NS_UNAVAIL instead, which may or may not make more sense,
but in general glibc compatibility tends to cause less friction when
there's not a good reason to avoid it.

    [8 lines not shown]
DeltaFile
+3-0lib/libc/net/getnetbydns.c
+3-01 files

HardenedBSD/src 7f81757crypto/openssl/apps pkeyutl.c, crypto/openssl/apps/lib apps.c

openssl: Fix multiple vulnerabilities

This is a rollup commit from upstream to fix:
  Improper validation of PBMAC1 parameters in PKCS#12 MAC verification (CVE-2025-11187)
  Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467)
  NULL dereference in SSL_CIPHER_find() function on unknown cipher ID (CVE-2025-15468)
  "openssl dgst" one-shot codepath silently truncates inputs >16MB (CVE-2025-15469)
  TLS 1.3 CompressedCertificate excessive memory allocation (CVE-2025-66199)
  Heap out-of-bounds write in BIO_f_linebuffer on short writes (CVE-2025-68160)
  Unauthenticated/unencrypted trailing bytes with low-level OCB function calls (CVE-2025-69418)
  Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion (CVE-2025-69419)
  Missing ASN1_TYPE validation in TS_RESP_verify_response() function (CVE-2025-69420)
  NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex function (CVE-2025-69421)
  Missing ASN1_TYPE validation in PKCS#12 parsing (CVE-2026-22795)
  ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function (CVE-2026-22796)

See https://openssl-library.org/news/secadv/ for additional details.

Approved by:    so

    [17 lines not shown]
DeltaFile
+28-27crypto/openssl/apps/lib/apps.c
+18-18crypto/openssl/apps/pkeyutl.c
+26-6crypto/openssl/crypto/bio/bf_lbuf.c
+20-0crypto/openssl/crypto/asn1/evp_asn1.c
+16-2crypto/openssl/crypto/pkcs12/p12_mutl.c
+8-2crypto/openssl/crypto/pkcs12/p12_kiss.c
+116-5512 files not shown
+158-7018 files

HardenedBSD/src 1153b03lib/libc/net getnetbydns.c

libc: Don't use uninitialised string for getnetbyaddr[_r](0) DNS lookup

If net is all-zero, the loop to extract all leading non-zero octets will
iterate zero times and leave nn with the value 4, which the following
switch statement to initialise qbuf does not handle. As a result,
_dns_getnetbyaddr will look up the PTR record for this uninitialised
string, which will leak the pre-existing contents of that stack memory
to the DNS resolver and, if remote and not otherwise protected, network.

Note that _dns_getnetbyaddr is only used if nsswitch.conf is configured
to enable the "dns" source for the "networks" database, which is not the
default configuration in FreeBSD.

For glibc this same bug, in code also derived from BIND's, was issued
CVE-2026-0915. This commit adopts the same behaviour as glibc's fix,
which is to regard a net of 0 as being for 0.0.0.0. Apparently NetBSD
will return NS_UNAVAIL instead, which may or may not make more sense,
but in general glibc compatibility tends to cause less friction when
there's not a good reason to avoid it.

    [8 lines not shown]
DeltaFile
+3-0lib/libc/net/getnetbydns.c
+3-01 files

HardenedBSD/src 1656130release/tools oci-image-static.conf

HBSD: Resolve merge conflict

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+1-18release/tools/oci-image-static.conf
+1-181 files

HardenedBSD/src 26ee1decrypto/openssl/apps pkeyutl.c, crypto/openssl/apps/lib apps.c

Merge remote-tracking branch 'internal/freebsd/current/main' into hardened/current/master

Conflicts:
        release/tools/oci-image-static.conf (unresolved)
DeltaFile
+28-27crypto/openssl/apps/lib/apps.c
+18-18crypto/openssl/apps/pkeyutl.c
+26-6crypto/openssl/crypto/bio/bf_lbuf.c
+20-0crypto/openssl/crypto/asn1/evp_asn1.c
+16-2crypto/openssl/crypto/pkcs12/p12_mutl.c
+16-2tests/sys/kern/ssl_sendfile.c
+124-5517 files not shown
+208-7923 files

FreeBSD/ports 01bdc28security/vuxml/vuln 2026.xml

security/vuxml: add FreeBSD SA issued on 2026-01-27

FreeBSD-SA-26:02.jail affects 13.5R and 14.3R
DeltaFile
+34-0security/vuxml/vuln/2026.xml
+34-01 files