LLVM/project 029e5b0clang/lib/Format WhitespaceManager.cpp ContinuationIndenter.h, clang/unittests/Format AlignmentTest.cpp

[clang-format] treat continuation as indent for aligned lines (#191217)

This allows to inherit tabbed indent from the lines we break by the
lines we want to align. Thus in the AlignWithSpaces mode aligned lines
do not generate smaller indent than those they are aligned to.
DeltaFile
+38-19clang/lib/Format/WhitespaceManager.cpp
+34-0clang/unittests/Format/AlignmentTest.cpp
+16-17clang/lib/Format/ContinuationIndenter.h
+15-14clang/lib/Format/ContinuationIndenter.cpp
+19-0clang/lib/Format/FormatToken.h
+8-7clang/lib/Format/BreakableToken.cpp
+130-572 files not shown
+136-628 files

FreeBSD/src ece716csys/netinet raw_ip.c in_pcb.c

raw ip: move hash table manipulation to inpcb layer

The SOCK_RAW socket is a multiple receiver socket by its definition.  An
incoming packet may be copied to multiple sockets.  Thus, incoming packet
handling is expensive.  Systems with many thousands of raw sockets usually
have them connect(2)-ed to different destinations.  This allows for some
improvement of the input handling, which was introduced by 9ed324c9a588
back in 2008.  This optimization was made specifically for L2TP/PPTP VPN
concentrators based on ports/net/mpd5.

This change generalizes the idea of 9ed324c9a588, so that it potentially
can be used with IPv6 raw sockets.  This also eliminates last use of the
pcbinfo hash lock outside of in_pcb.c.

While here make a speculative design decision: put into the hash table
sockets that did only connect(2).  Previously, we were indexing only
sockets that were protocol bound, did bind(2) and did connect(2).  My
speculation is that only the remote IP provides some real entropy into the
hash and local address and proto are expected to be the same for majority

    [4 lines not shown]
DeltaFile
+23-95sys/netinet/raw_ip.c
+36-0sys/netinet/in_pcb.c
+10-0sys/netinet/in_pcb.h
+0-3sys/netinet/in_pcb_var.h
+69-984 files

FreeBSD/ports 8575855security/vuxml/vuln 2026.xml

security/vuxml: Add entries for Python CVE-2026-1502 and gh-146333

PR:             294324
Security:       CVE-2026-1502
                / 30bda1c3-369b-11f1-b51c-6dd25bec137b

Security:       5ec4dcf6-3588-11f1-b51c-6dd25bec137b
DeltaFile
+53-0security/vuxml/vuln/2026.xml
+53-01 files

FreeBSD/src edece33sys/netinet udp_usrreq.c in_pcb.c, sys/netinet6 udp6_usrreq.c in6_pcb.c

inpcb: move local address assignment out of in_pcbdisconnect()

The logic of clearing local address at the protocol level makes sense.  It
is feature of UDP, not of any protocol, that local address is cleared on
disconnect.  This code can be tracked down to pre-FreeBSD times.

For example, for TCP we want a disconnected socket to return previously
used local address with getsockname(2).  The TCP has successfully evaded
that by not calling in_pcbdisconnect() and calling in_pcbdetach() in the
very old code and in_pcbdrop() later.   After D55661 TCP again has this
potential bug masked.  Better make it right than rely on such
unintentional evasions.

The raw IP sockets don't use in_pcbdisconnect(), but they are going to in
the near future.  If in_pcbdisconnect() clears local address for them,
that would be a larger bug than just getsockname().  A raw socket may be
bound with bind(2) and then connect(2)ed, and then disconnected, e.g.
connect(INADDR_ANY).  And when we run raw IP socket through
in_pcbdisconnect() we don't want to lose local address.

    [6 lines not shown]
DeltaFile
+3-0sys/netinet6/udp6_usrreq.c
+3-0sys/netinet/udp_usrreq.c
+0-1sys/netinet6/in6_pcb.c
+0-1sys/netinet/in_pcb.c
+6-24 files

LLVM/project 5b1b0efclang/tools/diagtool ShowEnabledWarnings.cpp

[Clang][diagtool] Fix memory leak in ShowEnabledWarnings (#191711)

Fix 136-byte memory leak introduced in commit 6dc059ac3c7c. Before
that commit, the TextDiagnosticBuffer was passed to DiagnosticsEngine
constructor which took ownership and managed its lifetime. After the
refactoring, the buffer is no longer passed to DiagnosticsEngine, so
it becomes an orphaned allocation that is never freed. Changed to use
std::unique_ptr for automatic cleanup.
DeltaFile
+2-1clang/tools/diagtool/ShowEnabledWarnings.cpp
+2-11 files

LLVM/project 56775ballvm/tools/llubi/lib Library.cpp

[llubi] Fix invalid printf format specifier for %c (#191713)

Fix ASAN warning about unexpected format specifier %llc introduced
in commit f149ab665a4b. The 'c' format specifier should not have the
'll' length modifier. Separated the 'c' case to use the correct format
without the length modifier, casting to int as required by the standard.
DeltaFile
+7-2llvm/tools/llubi/lib/Library.cpp
+7-21 files

FreeBSD/src 1d0ea3dsys/netinet raw_ip.c

raw ip: remove extra argument to rip_dodisconnect()

No functional change.
DeltaFile
+7-7sys/netinet/raw_ip.c
+7-71 files

FreeBSD/src acb79b5sys/netinet in_pcb.c udp_usrreq.c

udp: make in_pcbbind_setup() acquire the hash lock internally

Reviewed by:            pouria, rrs, markj
Differential Revision:  https://reviews.freebsd.org/D55973
DeltaFile
+56-43sys/netinet/in_pcb.c
+0-4sys/netinet/udp_usrreq.c
+56-472 files

FreeBSD/src d7c4091sys/netinet6 in6_pcb.c udp6_usrreq.c

inpcb: make in6_pcbsetport() acquire the hash lock internally

Reviewed by:            pouria, rrs, markj
Differential Revision:  https://reviews.freebsd.org/D55972
DeltaFile
+18-7sys/netinet6/in6_pcb.c
+0-5sys/netinet6/udp6_usrreq.c
+18-122 files

FreeBSD/src 2c48736sys/netinet in_pcb.c tcp_syncache.c, sys/netinet6 in6_pcb.c udp6_usrreq.c

inpcb: make in_pcbconnect() acquire the hash lock internally

Reviewed by:            pouria, rrs, markj
Differential Revision:  https://reviews.freebsd.org/D55971
DeltaFile
+12-5sys/netinet/in_pcb.c
+11-4sys/netinet6/in6_pcb.c
+0-6sys/netinet6/udp6_usrreq.c
+0-4sys/netinet/tcp_syncache.c
+0-4sys/netinet/tcp_usrreq.c
+0-4sys/netinet/udp_usrreq.c
+23-276 files

FreeBSD/src 8b4d0besys/netinet tcp_usrreq.c in_pcb.c, sys/netinet6 in6_pcb.c udp6_usrreq.c

inpcb: make in_pcbbind() acquire the hash lock internally

Reviewed by:            markj
Differential Revision:  https://reviews.freebsd.org/D55970
DeltaFile
+11-4sys/netinet6/in6_pcb.c
+0-10sys/netinet/tcp_usrreq.c
+7-2sys/netinet/in_pcb.c
+0-6sys/netinet/udp_usrreq.c
+0-4sys/netinet6/udp6_usrreq.c
+18-265 files

FreeBSD/src 40dbb06sys/dev/cxgbe/iw_cxgbe qp.c, sys/dev/cxgbe/nvmf nvmf_che.c

inpcb: retire INP_DROPPED and in_pcbdrop()

The inpcb flag INP_DROPPED served two purposes.

It was used by TCP and subsystems running on top of TCP as a flag that
marks a connection that is now in TCPS_CLOSED, but was in some other state
before (not a new-born connection). Create a new TCP flag TF_DISCONNECTED
for this purpose.

The in_pcbdrop() was a TCP's version of in_pcbdisconnect() that also sets
INP_DROPPED.  Use in_pcbdisconnect() instead.

Second purpose of INP_DROPPED was a negative lookup mask in
inp_smr_lock(), as SMR-protected lookup may see inpcbs that had been
removed from the hash.  We already have had INP_INHASHLIST that marks
inpcb that is in hash.  Convert it into INP_UNCONNECTED with the opposite
meaning.  This allows to combine it with INP_FREED for the negative lookup
mask.


    [7 lines not shown]
DeltaFile
+74-124sys/netinet/tcp_usrreq.c
+26-48sys/netinet/in_pcb.c
+20-51sys/kern/uipc_ktls.c
+21-23sys/dev/cxgbe/tom/t4_cpl_io.c
+11-13sys/dev/cxgbe/iw_cxgbe/qp.c
+13-10sys/dev/cxgbe/nvmf/nvmf_che.c
+165-26923 files not shown
+258-36329 files

FreeBSD/src ce283e1sys/netinet6 ip6_output.c

netinet6: remove INP_DROPPED checks from setsockopt(2)

The INP_DROPPED is going to become an internal flag for inpcb.  As of now
it means a TCP pcb that is in TCPS_CLOSED.  There is nothing wrong with
calling setsockopt(2) on such socket, although has no practical use.

This deletes a piece of code from 56713d16a06c5 / D16201.  There is no
description of the panic fixed, but I will speculate that the panic was
about in6p->in6p_outputopts being NULL as the inpcb already went through
in_pcbfree_deferred().  This also can be related to compressed TIME-WAIT,
that is also gone now.

With current locking this shouldn't be possible.  An inpcb goes through
in_pcbfree() only with pr_detach method, which is called from sofree(),
and the latter is called on losing the very last socket reference.  So, at
the point when in_pcbfree() is called, the socket has lost its file
descriptor reference and there can not be any running setsockopt() on it.

Leave the call to ip6_pcbopt() still embraced with INP_WLOCK(), since we

    [9 lines not shown]
DeltaFile
+0-17sys/netinet6/ip6_output.c
+0-171 files

FreeBSD/src 0ba87desys/netinet udp_usrreq.c in_pcb.c, sys/netinet6 udp6_usrreq.c in6_pcb.c

inpcb: make in_pcbdisconnect() acquire the hash lock internally

Should be no functional change.

Reviewed by:            pouria, markj
Differential Revision:  https://reviews.freebsd.org/D55968
DeltaFile
+0-12sys/netinet6/udp6_usrreq.c
+0-12sys/netinet/udp_usrreq.c
+2-1sys/netinet6/in6_pcb.c
+2-1sys/netinet/in_pcb.c
+4-264 files

FreeBSD/src ac5b962sys/netinet in_pcb.c in_pcb.h, sys/netinet6 in6_pcb.c

inpcb: retire the inpcb global list

The iteration over all pcbs is possible without the global list. The
newborn inpcbs are put on a global list of unconnected inpcbs, then after
connect(2) or bind(2) they move to respective hash slot list.

This adds a bit of complexity to inp_next(), but the storage scheme is
actually simplified.

One potential problem before this change was that a couple of pcbs fall
into the same hash slot and are linked A->B there, but they also sit next
to each other in the global list, linked as B->A.  This can deadlock of
course.  The problem was never observed in the wild, but I was able to
instrument it with lots of effort: just few pcbs in the system, hash size
reduced down to 2 and a lot of repetitive calls into two kinds of
iterators.

However the main motivation is not the above problem, but make a step
towards splitting the big hash lock into per-slot locks.

    [2 lines not shown]
DeltaFile
+80-45sys/netinet/in_pcb.c
+32-17sys/netinet/in_pcb.h
+18-11sys/netinet/tcp_usrreq.c
+3-1sys/netinet6/in6_pcb.c
+1-1sys/netinet/in_pcb_var.h
+134-755 files

FreeBSD/src 2cfe626sys/netinet in_pcb.h in_pcb.c

inpcb: retire the inpcbinfo list lock

With the SMR locking of inpcbs the use of this lock reduced down to the
global list and generation number.  It was used only on an inpcb creation
and destruction.  Use the inpcbinfo hash lock for this purpose.

Reviewed by:            pouria, rrs, markj
Differential Revision:  https://reviews.freebsd.org/D55966
DeltaFile
+5-23sys/netinet/in_pcb.h
+5-7sys/netinet/in_pcb.c
+2-2sys/netinet/udp_usrreq.c
+1-1sys/netinet/raw_ip.c
+1-1sys/netinet/tcp_subr.c
+14-345 files

FreeBSD/src 2023709sys/netinet in_pcb.c, sys/netinet6 in6_pcb.c

inpcb: apply smr_advance(9)/smr_wait(9) trick only to reusable sockets

The protocols marked with PR_CONNREQUIRED can never go through pr_connect
after being disconnected.  This is a tiny improvement of fdb987bebddf0.

While here push clearing of the addresses under the same condition.
Although this clearing originates from pre-FreeBSD times, it actually
makes sense only for protocols that can reconnect.

Reviewed by:            pouria, markj
Differential Revision:  https://reviews.freebsd.org/D55661
DeltaFile
+8-7sys/netinet6/in6_pcb.c
+7-5sys/netinet/in_pcb.c
+15-122 files

OpenBSD/ports U6PBvJssecurity/vaultwarden distinfo crates.inc

   Security update to vaultwarden-1.35.5

   This release contains security fixes for the following advisories:
   - GHSA-937x-3j8m-7w7p Unconfirmed Owner Can Purge Entire Organization
     Vault
   - GHSA-569v-845w-g82p Cross-Org Group Binding Enables Unauthorized Read
     And Write Access Into Another Organization
   - GHSA-6j4w-g4jh-xjfx Refresh tokens not invalidated on security stamp
     rotation

   Changes: https://github.com/dani-garcia/vaultwarden/releases/tag/1.35.5
VersionDeltaFile
1.33+236-264security/vaultwarden/distinfo
1.31+117-131security/vaultwarden/crates.inc
1.53+2-2security/vaultwarden/Makefile
+355-3973 files

OpenBSD/ports OP9gbuywww/vaultwarden-web distinfo Makefile, www/vaultwarden-web/pkg PLIST

   Update to vaultwarden-web-2026.2.0

   Changes:
   https://github.com/dani-garcia/bw_web_builds/compare/v2026.1.1...v2026.2.0
VersionDeltaFile
1.23+40-36www/vaultwarden-web/pkg/PLIST
1.23+2-2www/vaultwarden-web/distinfo
1.25+1-1www/vaultwarden-web/Makefile
+43-393 files

FreeBSD/ports 841bc4baudio/libopenmpt distinfo Makefile

audio/libopenmpt: Update to 0.8.6

(cherry picked from commit efed77193807757891b4723ea02f72fe89621aa0)
DeltaFile
+3-3audio/libopenmpt/distinfo
+1-1audio/libopenmpt/Makefile
+4-42 files

OPNSense/core 913863asrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php

Services: Kea DHCP: Kea DHCPv6 - fix "Delegated length must be longer than or equal to prefix length" validation, closes https://github.com/opnsense/core/issues/10146

While here, also fix a prefix validation (when x::/64 is specified for example).
DeltaFile
+5-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+5-21 files

FreeBSD/ports cb35b3dlang/python314 pkg-plist Makefile, lang/python314/files patch-gh-146211-reject-CR_LF-in-HTTP-tunnel-request-headers patch-gh-146333-Fix-quadratic-regex-backtracking-in-configparser

lang/python314: Security update to 3.14.4

Add a -flto=full option, which can speed up the port build
in terms of wallclock time at the expense of overall more
CPU time.

Issue a warning that test_ssl will fail from pre-test
if DEBUG is enabled.

Changelog:      https://docs.python.org/release/3.14.4/whatsnew/changelog.html

PR:             294324

Which contains these security fixes:

pyexpat.c: Unbounded C recursion in conv_content_model causes crash
Security:       https://github.com/python/cpython/issues/145986
                / CVE-2026-4224


    [34 lines not shown]
DeltaFile
+108-0lang/python314/files/patch-gh-146211-reject-CR_LF-in-HTTP-tunnel-request-headers
+83-0lang/python314/files/patch-gh-146333-Fix-quadratic-regex-backtracking-in-configparser
+17-5lang/python314/pkg-plist
+12-6lang/python314/Makefile
+3-3lang/python314/distinfo
+1-1lang/python314/Makefile.version
+224-156 files

FreeBSD/ports 6e083a7graphics/jpeg-turbo distinfo Makefile

graphics/jpeg-turbo: Update to 3.1.4.1

Changelog:
https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/3.1.4.1

PR:             294261
Reviewed by:    desktop (makc)
Exp-run by:     antoine

(cherry picked from commit 5c947edf90309fb747d0c42a838cf40cba620d39)
DeltaFile
+3-3graphics/jpeg-turbo/distinfo
+1-1graphics/jpeg-turbo/Makefile
+4-42 files

FreeBSD/ports 332c8ddgraphics/tiff Makefile, graphics/tiff/files patch-libtiff_tif__getimage.c

graphics/tiff: Fix CVE-2026-4775

Backport upstream commit 782a11d6b5b61c6dc21e714950a4af5bf89f023c

Reference:
https://gitlab.com/libtiff/libtiff/-/commit/782a11d6b5b61c6dc21e714950a4af5bf89f023c

PR:             294370
Reviewed by:    desktop (arrowd)

(cherry picked from commit a7af345cb919c0cab70b0801abaff2b528f1eaff)
DeltaFile
+38-0graphics/tiff/files/patch-libtiff_tif__getimage.c
+1-0graphics/tiff/Makefile
+39-02 files

FreeBSD/ports 92cd59cgraphics/png distinfo Makefile

graphics/png: Update to 1.6.57

Fixes CVE-2026-34757

Changelog: https://github.com/pnggroup/libpng/blob/v1.6.57/ANNOUNCE

PR:             294349
Reported by:    Christos Chatzaras <chris at cretaforce.gr>
Reviewed by:    desktop (arrowd) (previous iteration)

(cherry picked from commit fd1980fafbbede3b50816970488013516da84394)
DeltaFile
+5-5graphics/png/distinfo
+1-1graphics/png/Makefile
+1-1graphics/png/pkg-plist
+7-73 files

OpenBSD/ports OgdLHbpmisc/openhab/4 Makefile, misc/openhab/4/pkg PLIST

   Clean cache dir to avoid failed update. From maintainer Chaz Kettleson. OK sthen.
VersionDeltaFile
1.3+2-0misc/openhab/5/pkg/PLIST
1.2+2-0misc/openhab/4/pkg/PLIST
1.5+1-0misc/openhab/5/Makefile
1.3+1-0misc/openhab/4/Makefile
+6-04 files

FreeBSD/ports 333fe6faudio/libopenmpt distinfo Makefile

audio/libopenmpt: Update to 0.8.5

Fixes possible out-of-bounds sample data read in a specific
combination of reverse sample playback + offset past sample loop

* Remove gmake dependency
* Add USES= pathfix to fix install location of pkgconfig file
  and make build log consistent

Changelog:
https://lib.openmpt.org/libopenmpt/2026/03/22/security-updates-0.8.5-0.7.18-0.6.27-0.5.41-0.4.53/

PR:             294006
Approved by:    maintainer timeout, 2+ weeks

(cherry picked from commit 9a16505d8f8cc3f7fe94d2b3fce4b241f0cde84f)
DeltaFile
+3-3audio/libopenmpt/distinfo
+2-2audio/libopenmpt/Makefile
+5-52 files

FreeBSD/ports 2a26951graphics/png distinfo Makefile

graphics/png: Update to 1.6.56

Fixes CVE-2026-33416 and CVE-2026-33636

Initial patch submitted by Fabian Wenk

Changelog:      https://github.com/pnggroup/libpng/blob/v1.6.56/ANNOUNCE

PR:             294061
Reviewed by:    ports-secteam (fluffy)
Exp-run by:     antoine

(cherry picked from commit 9daa967c64e010af5caccef10e97113dffabdab2)
DeltaFile
+5-5graphics/png/distinfo
+1-1graphics/png/Makefile
+1-1graphics/png/pkg-plist
+7-73 files

FreeBSD/src 817e699sys/dev/usb/input wsp.c

wsp(4): Make evdev interface operational if sysmouse one is not opened

Before this change evdev interface sent only copy of data sent through
the sysmouse interface. It worked as /dev/wsp0 device node was
automatcaly opened by devd(8) with starting of moused(8).
Starting with 15.0 moused(8) does not open sysmouse interface by default
thus making wsp(4) device dysfunctional.
Fix it with adding extra checks of interfaces state.

MFC after:      1 week
DeltaFile
+10-1sys/dev/usb/input/wsp.c
+10-11 files

FreeBSD/src dc5a949sys/dev/usb/input wsp.c

wsp(4): Do not handle pressure on non-ForceTouch devices

They always report it value as zero breaking pressure-driven drivers
like moused(8) and xf86-input-synaptics.

MFC after:      1 week
DeltaFile
+4-2sys/dev/usb/input/wsp.c
+4-21 files