[JITLink] Handle errors after allocation for empty graphs (#242164)
Graphs with no alloc actions and only NoAlloc sections skip memory
allocation, so JITLinkerBase's Alloc member is null for the rest of the
link. Any failure after the point where allocation would have happened
(in a post-allocation, pre-fixup or post-fixup pass, in notifyResolved,
or during fixup) goes through abandonAllocAndBailOut, which asserted
that Alloc was non-null, and would have dereferenced null in release
builds. It now reports the error directly when there is no allocation to
abandon.
The new JITLinkGenericPassErrorTest.FailingPassIsReported test adds a
failing pass to each pass list in turn, for both an empty graph and a
graph with one external symbol, and checks that the error is reported
exactly once, that the link stops, and that the allocation (if any) is
abandoned.
[libc++] Mark LWG4299 and LWG4304 as Complete (#241193)
Both LWG4299 and LWG4304 relate to optional<T&>, which libc++ has
conformed to since optional<T&> was implemented in LLVM 22 (#155202).
LWG4304 constrains optional<T&>::value_or so that optional<T&> is
well-formed when T is a function or array type (already tested in
value_or.compile.pass.cpp). LWG4299 adds a Mandates that the result type
U of optional<T&>::transform is a valid contained type for optional,
which libc++ enforces via static_assert.
This adds a test covering the Mandates for optional<T&>::transform and
marks both LWG4299 and LWG4304 as complete in Cxx26Issues.csv.
Fixes #171339
Fixes #171343
---------
Signed-off-by: anant <anant1234466 at gmail.com>
!fixup Merge the tryAssignCSRFirstTimeMinCost into tryAssignCSRFirstTime and make it enable by default
Note: I still added a hook, shouldSpillInsteadOfFirstCSRUse, to avoid a test case crash. The crash happens because AMDGPU has a register class that isn’t suitable for this kind of spill.
I keep it enable by default but disable for AMDGPU.
xdr: Fix xdr_string
Forcing maxsize to RPC_MAXDATASIZE breaks code that deliberately uses
XDR with longer strings than permitted by SunRPC.
MFC after: 1 week
Fixes: 6448ec89e739 (" * limit size of buffers to RPC_MAXDATASIZE")
Fixes: e17d7ab869bb ("xdr_string: don't leak strings with xdr_free")
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
Reviewed by: kevans, brooks
Differential Revision: https://reviews.freebsd.org/D59994
(cherry picked from commit d2018cedb414ef17e77b7fc2fa19fd81328da46b)
xdr: Limit xdr_wrapstring
The previous commit (re)introduced the possibility that a malicious or
corrupt message can cause the receiver to allocate a very large amount
[11 lines not shown]
xdr_string: don't leak strings with xdr_free
Historically (and in a small amount of older software such as OpenAFS),
developers would attempt to free XDR strings with
xdr_free((xdrproc_t)xdr_string, &string)
This resulted in xdr_free calling xdr_string with only two intentional
arguments and whatever was left in the third argument register. If the
register held a sufficently small number, xdr_string would return FALSE
and not free the string (no one checks the return values).
Software should instead free strings with:
xdr_free((xdrproc_t)xdr_wrapstring, &string)
Because buggy software exists in the wild, act as though xdr_wrapstring
was used in the XDR_FREE case and plug these leaks.
[9 lines not shown]
[Bazel] Update mpfr to 4.2.2.bcr.4 (#242184)
Updates the BCR mpfr dependency from 4.2.2.bcr.3 to 4.2.2.bcr.4 to
restore float128 detection when building MPFR from source
(bazelbuild/bazel-central-registry#11691).
Fixes #240663
See https://github.com/bazelbuild/bazel-central-registry/issues/11691
commitcheck: exempt all email trailers from the line limit
Only Signed-off-by and Reviewed-by lines are exempt from the
72-character body limit, so a Co-authored-by line with a long name
or address fails commitcheck. So do Reported-by, Tested-by,
Suggested-by and the other "-by" trailers used in this repository.
Exempt any trailer line that ends in an email address instead of
listing tags. This covers the two existing exemptions too.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Matthew Ahrens <matt at mahrens.org>
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Closes #19860
zcp: check clone names with clone_namecheck()
zfs.sync.clone() passes the new dataset's name from Lua straight to
dsl_dataset_clone_check(), which only rejects '@' and names that are
too long. zfs clone also rejects names that fail dataset_namecheck()
(the ioctl layer checks them) and, in zfs_ioc_clone(), names with '%',
which marks internal datasets such as %recv. A channel program can
therefore create clones that zfs(8) can't create, including ones zfs
list never shows.
Add clone_namecheck(): dataset_namecheck() plus rejecting '@' and '%',
reported as NAME_ERR_INVALCHAR with the character in 'what'. Use it
in zfs_ioc_clone() in place of its own '@' and '%' checks, which
doesn't change what the ioctl accepts, and in a check function for
zfs.sync.clone() that runs it before dsl_dataset_clone_check(). Doing
the check there keeps zcp_sync_task()'s handling: zfs.check.clone()
returns the error, and zfs.sync.clone() still fails in open context
(zfs program -n). Names that are too long still reach
dsl_dataset_clone_check(), which returns ENAMETOOLONG. Add
[8 lines not shown]
ZTS: test invalid clone names in channel programs
zfs.sync.clone() passes the new dataset's name from Lua to the dsl
checks, which only reject '@' and over-long names, while zfs clone
also rejects '%' and characters dataset_namecheck() refuses. Add
tst.clone_neg, which expects EINVAL for such names.
This fails now: zfs.sync.clone() creates "fs/bad%name", which zfs list
never shows because '%' marks internal datasets, and "fs/bad*name".
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Closes #19311
[COFF] Parallelize PDB Section Contrib. NFC
PDB's createSectionContrib was computed serially.
This contains a CRC over data which can be expensive
for large binaries.
py-awscli: updated to 1.46.3
1.46.3
* bugfix:alias: Pass Windows external alias args to cmd.exe as literals
* bugfix:codedeploy: Tighten file permissions for the on-premises instance configuration file written by ``aws deploy install``
py-boto3: updated to 1.44.2
1.44.2
* api-change:``autoscaling``: [``botocore``] Amazon EC2 Auto Scaling now supports ASGAverageCPUUtilizationHighResolution as a predefined metric type for target tracking scaling policies.
* api-change:``backup``: [``botocore``] Adding new notification types for SNS notifications
* api-change:``cleanrooms``: [``botocore``] Adds a retry signal to protected query and protected job errors that indicates whether running the same request again might succeed, and defines error codes that identify the category of the failure.
* api-change:``cloudwatch``: [``botocore``] Adds support for saving, retrieving, listing, and deleting CloudWatch metric data query definitions.
* api-change:``cloudwatchomni``: [``botocore``] Add aggregationTemporality and monotonicity to GetContextGraph MetricMetadata
* api-change:``connect``: [``botocore``] This release adds a LastModifiedTime and LastModifiedRegion field to ListIntegrationAssociations so customers can see at what time and in which Region an IntegrationAssociation was last modified in.
* api-change:``ec2``: [``botocore``] This release adds support for multiple features, including EC2 Image Builder image recipes and container recipes in AMI usage reports, Amazon EC2 Detailed Monitoring adds opt-in metrics, and Global Accelerator and API Gateway V2 as resource exclusions for VPC Encryption Control.
* api-change:``emr-containers``: [``botocore``] This release updates range of maxInQueueDepth and maxConcurrency limit from 10000 to 1000.
* api-change:``gameliftstreams``: [``botocore``] Adds support for ApplicationStartedAt on stream sessions, a timestamp that indicates when the application launched for the stream session, returned by GetStreamSession and StartStreamSession. Also added streamingStartedAt and streamingEndedAt.
* api-change:``guardduty``: [``botocore``] Adds the ListInvestigationRecords API, which returns the step-by-step records of a completed investigation. Adds investigation scope details and an optional structured summary to GetInvestigation. Adds filter criteria and investigation type to ListInvestigations.
* api-change:``lightsail``: [``botocore``] Amazon Lightsail now offers web addresses, so you can quickly make a website or application reachable at a name like mysite.amazonlightsail.com. A web address is free while attached to a Lightsail CDN, with no domain to register and no SSL TLS certificate to create or renew.
* api-change:``mediaconnect``: [``botocore``] MediaConnect adds four features. (1) RTMP Push on Router Input and Flows (RTMP, RTMPS, eRTMP). (2) PID Remapping on Router rewrites PIDs inline without transcoding. (3) Key Frame Switching transitions router inputs on video boundaries. (4) SRT Merge Input bonds redundant SRT streams.
* api-change:``medialive``: [``botocore``] AWS Elemental MediaLive now adds a caption language setting for MediaPackage V2 output groups that signals a stream carries no closed captions.
* api-change:``mediatailor``: [``botocore``] Add post origin manifest hook, add HLS tag processor
* api-change:``mwaa``: [``botocore``] Amazon MWAA now supports Airflow environments with IAM Identity Center (IDC) integration and exposes OSS Airflow Multi-Team feature. Users can configure individual IDC-backed identities and fine-grained authorization, and define Dags on per-team basis.
[7 lines not shown]