[Clang][CodeGen] Update the TBAA info for potential aliases (#236701)
The stores were tagged as "unsigned long", but loads were tagged as
"float". TBAA reports no aliases if the store and loads went through
different pointers and GVN forwards a stale value.
Fix this by giving the "store" the "omnipotent char" tag, so that TBAA
treats it as aliasing every access to the destination's members. Using
that tag over "Dest.getTBAAInfo()" because it doesn't depend on how
CodeGenTBAA happens to tag struct and complex types.
Assisted-by: Claude for testcases.
[LV] Use loop guards for the maximum trip count from the SCEV range. (#237792)
Apply loop guards before computing the unsigned range, so the bound used
to clamp the VF and select the IC is as tight as possible.
This avoids choosing excessive VF/IC for loops where bounds refine the
max trip counts.
nfscl: Do not delay recovery for a stale ClientID
When a CREATE_SESSION with the extant ClientID failed with
NFS4ERR_STALE_CLIENTID within nfsc_renew of the previous full recovery,
nfsrpc_setclient() returned EIO and the mount did no I/O until that window
expired (about 45s).
The server has discarded the ClientID, so waiting cannot help; RFC 8881
Section 8.4.2 requires a new ClientID (EXCHANGE_ID) and a state reclaim.
AWS EFS discards both the session and the ClientID of clients whose lease is
current whenever it resets a connection, which makes this path common there.
PR: 299221
Approved by: rmacklem@
Sponsored by: Netflix
nfscl: Do not delay recovery for a stale ClientID
When a CREATE_SESSION with the extant ClientID failed with
NFS4ERR_STALE_CLIENTID within nfsc_renew of the previous full recovery,
nfsrpc_setclient() returned EIO and the mount did no I/O until that window
expired (about 45s).
The server has discarded the ClientID, so waiting cannot help; RFC 8881
Section 8.4.2 requires a new ClientID (EXCHANGE_ID) and a state reclaim.
AWS EFS discards both the session and the ClientID of clients whose lease is
current whenever it resets a connection, which makes this path common there.
PR: 299221
Approved by: rmacklem@
Sponsored by: Netflix
nfsd: Fix handling of RPC messages too large to cache
The NFSv4.1/4.2 session negotiates a limit to the size
of an RPC reply message that can be cached for the session
slot.
This patch fixes the code so that it checks that limit and
does not cache replies larger than the limit, even if the
client requested that it be cached.
This patch is slightly different than what the author
submitted, but retains the check for reply cache size limit.
Reviewed by: rmacklem
MFC after: 1 month
nfsd: Fix handling of RPC messages too large to cache
The NFSv4.1/4.2 session negotiates a limit to the size
of an RPC reply message that can be cached for the session
slot.
This patch fixes the code so that it checks that limit and
does not cache replies larger than the limit, even if the
client requested that it be cached.
This patch is slightly different than what the author
submitted, but retains the check for reply cache size limit.
Reviewed by: rmacklem
MFC after: 1 month
bsd.buildlink.mk: add hack/workaround for PR 57517
Something, at some point, some years back, changed the interaction of
things such that for builtin packages, BUILDLINK_PREFIX.pkg gets set
before we're done assessing whether to use the builtin package, and in
particular before the logic that makes USE_BUILTIN.pkg=no transitive
across deps.
The result has been that when this logic sets USE_BUILTIN.pkg=no, it's
ignored and we buildlink and use the builtin package anyway. This then
results in broken builds of things like fontconfig and Xft2 where this
matters.
As a workaround, clear BUILDLINK_PREFIX.pkg if we set USE_BUILTIN.pkg
to no in this logic. It will then get set to PKGBASE as needed later.
Strengthen the comments in and around this logic too, as what it does
is itself somewhat complicated and confusing and the implementation
is more so.
[4 lines not shown]
ktls: Check the record type message holds its byte
sosend_generic() read the TLS record type past a TLS_SET_RECORD_TYPE
control message holding only a cmsghdr, and sent that stale byte.
Approved by: markj
Fixes: b2e60773c6b0 ("Add kernel-side support for in-kernel TLS.")
Sponsored by: Netflix
ktls: Check the record type message holds its byte
sosend_generic() read the TLS record type past a TLS_SET_RECORD_TYPE
control message holding only a cmsghdr, and sent that stale byte.
Approved by: markj
Fixes: b2e60773c6b0 ("Add kernel-side support for in-kernel TLS.")
Sponsored by: Netflix
py-pydantic*: update to 2.50.2/2.14.2
This release addresses 2 security issues, GHSA-qpmf-fgh3-ff25 and GHSA-3r8g-cqwr-jr29.
Packaging
Bump PyO3 to 0.30.1, jiter to 0.18.0, use PyFrozenDict by @Viicos in #14003
Bump speedate to v0.18.0 by @Viicos in #14007
Publish pydantic-core wheels for PyPy 8.0 (pp80 ABI) by @Viicos in #14083
Performance
Avoid Python tuple allocation during model fields validation by @Viicos in #13955
Lazily call repr of values during nested union serialization by @Viicos in #14082
Skip decorator field checks when no field decorators exist by @alexmojaki in #14111
Avoid heap allocation for small JSON model field buffers by @alexmojaki in #14113
Fixes
[49 lines not shown]