net-p2p/go-ethereum: Update 1.17.9 => 1.17.10
Changelog:
* This is a quick release that postpones the Amsterdam fork on the
Hoodi testnet, previously scheduled for Oct 26, 2026, 17:42:48 UTC.
Hoodi node operators running v1.17.9 must upgrade before then.
New date will be set in future release; other networks are unaffected.
* Snap sync now switches to snap/2 automatically once Amsterdam is active.
Use '--snap.v2=false' or '--snap.v2=true' to force a protocol.
* Optimize DUP/SWAP dispatch in the interpreter
https://github.com/ethereum/go-ethereum/releases/tag/v1.17.10
PR: 299947
Approved by: Enrique Fynn <me at enriquefynn.com> (maintainer)
Approved by: osa, vvd (Mentors, implicit)
MFH: 2026Q4
(cherry picked from commit 85ad0319366a70bd6b9a0d4548e684e469882f23)
net-p2p/go-ethereum: Update 1.17.9 => 1.17.10
Changelog:
* This is a quick release that postpones the Amsterdam fork on the
Hoodi testnet, previously scheduled for Oct 26, 2026, 17:42:48 UTC.
Hoodi node operators running v1.17.9 must upgrade before then.
New date will be set in future release; other networks are unaffected.
* Snap sync now switches to snap/2 automatically once Amsterdam is active.
Use '--snap.v2=false' or '--snap.v2=true' to force a protocol.
* Optimize DUP/SWAP dispatch in the interpreter
https://github.com/ethereum/go-ethereum/releases/tag/v1.17.10
PR: 299947
Approved by: Enrique Fynn <me at enriquefynn.com> (maintainer)
Approved by: osa, vvd (Mentors, implicit)
MFH: 2026Q4
[BOLT] Fix address map parsing for 32-bit targets (#229567)
## Problem
`AddressMap::emit()` serializes each address-map entry as two 8-byte
values. However, `AddressMap::parse()` used the target code-pointer size
when reading them.
For a 32-bit target, such as RV32, the parser consequently interpreted
every 16-byte entry as two 8-byte entries. This corrupted the parsed map
and could trigger the duplicate-label assertion.
The issue is pre-existing and generic to BOLT. It was exposed by the
RISC-V tests while validating #229407.
## Fix
Define the serialized value and entry sizes once and use them
consistently for both emission and parsing. Address-map parsing is
[8 lines not shown]
zstream: read BLKSSZGET into an int in zstream raw
The BLKSSZGET ioctl stores an int, but zstream raw passed a pointer to
the uint64_t volume.sectorsize. On little-endian systems this happens
to work because the upper half was already zero, but on big-endian
systems the sector size ends up in the upper 32 bits (512 << 32, or
2 TiB). free_blocks() then rounds the start of a freed range up to
2 TiB and writes zeros from the start of the range towards it. On any
smaller device that write fails with ENOSPC at the end of the device,
so zstream raw exits at the first FREE record with a nonzero offset,
after zeroing from that offset to the end of the device. Every zvol
stream has such a record before its data (the free past the end of the
volume), so zstream raw could not apply a zvol stream to a block
device on big-endian systems at all.
Read the value into an int and assign it.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Closes #19324
zpool: compare special and dedup vdevs only with normal vdevs
Since 1d9c32c16 a special or dedup vdev may be more redundant than the
normal vdevs, but get_replication() still compared each special or dedup
vdev with the previous special or dedup vdev. A pool with a 3-way
special mirror and a 2-way dedup mirror on 2-way mirror normal vdevs,
each of which is individually acceptable, was therefore reported as
inconsistent. check_replication() skips all checks for an inconsistent
pool, so a later non-redundant addition was accepted without -f:
zpool create tank mirror f1 f2 special mirror f3 f4 f5
zpool add tank dedup mirror f6 f7 # accepted
zpool add tank f8 # accepted without -f
At the same time, creating the same layout in one step was rejected:
zpool create tank mirror f1 f2 special mirror f3 f4 f5 \
dedup mirror f6 f7 # rejected
[14 lines not shown]
ZTS: test replication checks with mixed special and dedup
Add alloc_class_018_pos. It creates a 2-way mirror pool with a 3-way
special mirror and a 2-way dedup mirror, both in one step and with
'zpool add', and checks that adding a single disk to it is refused
without -f. It also checks that a less redundant dedup device is
rejected when added together with a more redundant special device.
This currently fails: creating the pool in one step is rejected as an
inconsistent replication level, while building it with 'zpool add'
succeeds and the pool is then considered inconsistent, so the single
disk is accepted without -f. The fix follows in the next commit.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Closes #19288
[libc][mathvec] Add macro for vector PCS (#235009)
Adds LIBC_VECTOR_PCS as a macro to mathvec, which allows target specific
vector procedure call standards to be added as function attributes, such
as aarch64_vector_pcs for AdvSIMD.
www/bunkerweb: Update to 1.6.17
This release fixes several access control issues, among them a URI
rewrite in a custom configuration that skipped the bans, lists, rate
limit, antibot, authentication and ModSecurity checks.
Changelog: https://github.com/bunkerity/bunkerweb/releases/tag/v1.6.17
Sponsored by: Netzkommune GmbH
AMDGPU: Reject 16-bit physical register inline asm constraints without true16
Constraints naming 16-bit physical registers such as {v1.l}, {v1.h},
{s1.l} or {a1.l} were accepted on subtargets without true16, which
then hit an assertion in copyPhysReg. Report the constraint as
unallocatable instead.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[clang-format] Handle TT_EnumEqual in expression precedence and RHS indentation (#232918)
Follow-up to #223011 and #223435; Fixes #231986
When #194154 changed enum assignment `=` from `TT_BinaryOperator` to
`TT_EnumEqual`, `ExpressionParser::getCurrentPrecedence()` and
`ContinuationIndenter::addTokenOnCurrentLine()` were not updated to
check `TT_EnumEqual`:
1. Because `ExpressionParser::getCurrentPrecedence()` ignored
`TT_EnumEqual`, an enum initializer with a binary expression (such as
`FLAG = 1 << 21`) was not split at `=`. Instead, `FakeLParens` for the
RHS operator was attached to the enum identifier itself, causing
`moveStatePastFakeLParens()` and `getNewLineColumn()` to apply
`ContinuationIndentWidth` twice (+8 spaces instead of +4) when breaking
after `=`.
2. When `<EnumIdentifier> = <FirstOperand>` fit within the column limit,
both the double indentation penalty after `=` and the missing
`TT_EnumEqual` check in `ContinuationIndenter::addTokenOnCurrentLine()`
[8 lines not shown]
NAS-144873 / 27.0.0 / Fix `become_readonly` in token sessions (#20048)
`become_readonly` updates `app.authenticated_credentials.user` changing
its privilege.
`TokenSessionManagerCredentials` maintain reference to its parent
credentials user, so when `become_readonly` is called in a token
session, the parent session is also affected.
Additionally, `TokenSessionManagerCredentials` ignored its assigned
`allowlist` and reported parent session roles.
PowerPC: Remove LiveVariables run and unused LiveIntervals requirement
PPCTLSDynamicCall has not used LiveIntervals since 3ff319c69047, but
still required the analysis. LiveIntervals requires there to be no
unreachable blocks or otherwise it asserts. These blocks were
indirectly removed by adding the extra LiveVariables run, because
LiveVariables has a declared requirement on
UnreachableMachineBasicBlockElim.
Drop the dead analysis requirements along with the LiveVariables run.
This also avoids computing LiveIntervals at -O0 for PIC.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[libc][uefi][NFC] Update file headers to the current format (#235032)
Replace the legacy titled separator comments across the UEFI sources and
type headers with the Doxygen file header block. This brings the UEFI
files in line with the current LLVM coding standards.
[CodeGen] Assume BBIDs are set in BasicBlockSections and matching/inference (#235056)
MachineFunction::CreateMachineBasicBlock always assigns a BBID when
-basic-block-sections=list (or the BB address map) is enabled. Both the
hot-cluster construction in BasicBlockSections and
BasicBlockMatchingAndInference::initWeightInfoByBBID only run in list
mode, so the checks for a missing BBID, and the fallback to the block
number, are dead code. Remove them.
Reland "[mlir] Fix false positive loops in RegionBranchOpInterface::hasLoop" (#234591)
Relands #233784, reverted in #234573 because it broke two CIR unit
tests.
Those tests expected hasLoop() to be true for cir.await and
cir.coroutine, although neither has a cycle: resume is reachable from
ready both directly and through suspend, and the coroutine reaches exit
and destroy along several paths. That was the false positive this change
fixes. The relanded change updates both expectations to false.
Original description:
`RegionBranchOpInterface::hasLoop` reported a loop whenever its
traversal popped a region it had already visited. The worklist gets one
entry per successor of each terminator, so a region reachable along two
paths was popped twice even without a cycle, for example when two
terminators of a region branch to the same successor region.
[7 lines not shown]
[MemProf] Fix remapping of matching calls when assigning function clones
When a function has several calls with identical callsite metadata, they
are recorded on one context node with the extra calls in
Node->MatchingCalls. If that function is cloned by context
disambiguation, assignFunctions must remap each version's matching calls
through the function clone's CallMap, the same way it remaps the primary
Call.
Two problems in the IR path:
* AssignCallsiteCloneToFuncClone rewrote the matching calls of the
original node (Node->MatchingCalls) instead of those of the callsite
clone being assigned. The clone node (whose MatchingCalls were copied
from the original at creation) kept the original instructions, and the
original node's list was overwritten with the clone's. UpdateCalls then
updated each function version's matching calls with the other version's
callee clone, i.e. swapped.
[16 lines not shown]
iflib: Do not pull up trailing IPv4 fragments to the L4 header
iflib_parse_header() pulls every IPv4 packet up to the end of the TCP or
UDP header, including fragments at a non-zero offset, which carry no L4
header at all. A trailing fragment shorter than that header (1-7 bytes
of UDP, 1-19 bytes of TCP) makes m_pullup() fail and the frame is freed
without a trace in the interface counters.
Only parse the L4 header on the first fragment. TSO never produces
fragments, so assert that.
With a 1500-byte MTU every UDP datagram of 1473-1479 bytes is lost
behind a forwarding host whose ingress NIC sets receive checksum flags,
or on any VLAN with hardware tagging. SIP over UDP is a common victim.
Reported by: Alex Roberts
Reviewed by: gallatin
Fixes: c224b2ce7de0 ("iflib: don't pullup UDP payloads to the TCP header size")
See also: https://redmine.pfsense.org/issues/17196
[2 lines not shown]
sockstat: improve consistency
Include the entries of the BBLOG STATE column in the computation
of the column width as done also for other columns.
Also set first to falso only when needed.
Sponsored by: Netflix, Inc.
(cherry picked from commit 732c8d2a1a0e169bad1c02b1e54a4306861bde4a)