<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go/src/runtime/metrics/doc.go, branch fix-runtime-test-GOMAXPROCS</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=fix-runtime-test-GOMAXPROCS</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=fix-runtime-test-GOMAXPROCS'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2025-07-08T18:30:38Z</updated>
<entry>
<title>cmd/go: disable support for multiple vcs in one module</title>
<updated>2025-07-08T18:30:38Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>bracewell@google.com</email>
</author>
<published>2025-06-09T18:23:46Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=54c9d776302d53ab1907645cb67fa4a948e1500c'/>
<id>urn:sha1:54c9d776302d53ab1907645cb67fa4a948e1500c</id>
<content type='text'>
Removes the somewhat redundant vcs.FromDir, "allowNesting" argument,
which was always enabled, and disallow multiple VCS metadata folders
being present in a single directory. This makes VCS injection attacks
much more difficult.

Also adds a GODEBUG, allowmultiplevcs, which re-enables this behavior.

Thanks to RyotaK (https://ryotak.net) of GMO Flatt Security Inc for reporting this issue.

Fixes #74380
Fixes CVE-2025-4674

Change-Id: I5787d90cdca8deb3aca6f154efb627df1e7d2789
Reviewed-on: https://go-review.googlesource.com/c/go/+/686515
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Commit-Queue: Carlos Amedee &lt;carlos@golang.org&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
</content>
</entry>
<entry>
<title>crypto/x509: use truncated SHA-256 for SubjectKeyId</title>
<updated>2025-05-21T22:09:45Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2025-05-20T18:51:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0aeaa6a495b7273f7a2190bc9857710190808e54'/>
<id>urn:sha1:0aeaa6a495b7273f7a2190bc9857710190808e54</id>
<content type='text'>
Fixes #71746

Change-Id: I6a6a46568b092933d8ac2039df99ee9f0edf6e56
Reviewed-on: https://go-review.googlesource.com/c/go/+/674477
Reviewed-by: Daniel McCarney &lt;daniel@binaryparadox.net&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>crypto/tls: disable SHA-1 signature algorithms in TLS 1.2</title>
<updated>2025-05-21T22:09:29Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2025-03-15T14:12:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=59211acb5dbde14647e025eb7379675debcf3930'/>
<id>urn:sha1:59211acb5dbde14647e025eb7379675debcf3930</id>
<content type='text'>
This implements RFC 9155 by removing support for SHA-1 algorithms:

  - we don't advertise them in ClientHello and CertificateRequest
    (where supportedSignatureAlgorithms is used directly)

  - we don't select them in our ServerKeyExchange and CertificateVerify
    (where supportedSignatureAlgorithms filters signatureSchemesForCertificate)

  - we reject them in the peer's ServerKeyExchange and CertificateVerify
    (where we check against the algorithms we advertised in ClientHello
    and CertificateRequest)
  
Fixes #72883

Change-Id: I6a6a4656e2aafd2c38cdd32090d3d8a9a8047818
Reviewed-on: https://go-review.googlesource.com/c/go/+/658216
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Reviewed-by: Daniel McCarney &lt;daniel@binaryparadox.net&gt;
</content>
</entry>
<entry>
<title>runtime: use cgroup CPU limit to set GOMAXPROCS</title>
<updated>2025-05-21T17:21:55Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2025-05-05T17:44:26Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=e6dacf91ffb0a356aa692ab5c46411e2eef913f3'/>
<id>urn:sha1:e6dacf91ffb0a356aa692ab5c46411e2eef913f3</id>
<content type='text'>
This CL adds two related features enabled by default via compatibility
GODEBUGs containermaxprocs and updatemaxprocs.

On Linux, containermaxprocs makes the Go runtime consider cgroup CPU
bandwidth limits (quota/period) when setting GOMAXPROCS. If the cgroup
limit is lower than the number of logical CPUs available, then the
cgroup limit takes precedence.

On all OSes, updatemaxprocs makes the Go runtime periodically
recalculate the default GOMAXPROCS value and update GOMAXPROCS if it has
changed. If GOMAXPROCS is set manually, this update does not occur. This
is intended primarily to detect changes to cgroup limits, but it applies
on all OSes because the CPU affinity mask can change as well.

The runtime only considers the limit in the leaf cgroup (the one that
actually contains the process), caching the CPU limit file
descriptor(s), which are periodically reread for updates. This is a
small departure from the original proposed design. It will not consider
limits of parent cgroups (which may be lower than the leaf), and it will
not detection cgroup migration after process start.

We can consider changing this in the future, but the simpler approach is
less invasive; less risk to packages that have some awareness of runtime
internals. e.g., if the runtime periodically opens new files during
execution, file descriptor leak detection is difficult to implement in a
stable way.

For #73193.

Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest
Change-Id: I6a6a636c631c1ae577fb8254960377ba91c5dc98
Reviewed-on: https://go-review.googlesource.com/c/go/+/670497
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/go: allow symlinks of non-directory files in embed</title>
<updated>2025-03-11T14:51:38Z</updated>
<author>
<name>Michael Matloob</name>
<email>matloob@golang.org</email>
</author>
<published>2025-01-16T20:44:55Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=73fea035bf1e4e68ef14995a389d4fd8df5c6a34'/>
<id>urn:sha1:73fea035bf1e4e68ef14995a389d4fd8df5c6a34</id>
<content type='text'>
We previously disallowed all non-regular files being embedded. This CL
relaxes the restriction a little: if the GODEBUG embedfollowsymlinks=1
is set, we allow the leaf files being embedded (not the directories
containing them) to be symlinks. The files pointed to by the symlinks
must still be regular files.

This will be used when a Bazel build action executing the Go command is
running in a symlink-based sandbox. It's not something we want to enable
in general for now, so it's behind a GODEBUG.

Fixes #59924

Change-Id: I895be14c12de55b7d1b663d81bdda1df37d54804
Reviewed-on: https://go-review.googlesource.com/c/go/+/643215
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Alan Donovan &lt;adonovan@google.com&gt;
</content>
</entry>
<entry>
<title>crypto/x509: keep RSA CRT values in ParsePKCS1PrivateKey</title>
<updated>2024-11-30T01:49:35Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2024-11-29T14:38:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=c5c4f3dd5f5e5a6a27fe53dc57eaf6acf414a4bc'/>
<id>urn:sha1:c5c4f3dd5f5e5a6a27fe53dc57eaf6acf414a4bc</id>
<content type='text'>
Turns out that recomputing them (and qInv in particular) in constant
time is expensive, so let's not throw them away when they are available.
They are much faster to check, so we now do that on precompute.

Also, thanks to the opaque crypto/internal/fips140/rsa.PrivateKey type,
we now have some assurance that the values we use are always ones we
checked.

Recovers most of the performance loss since CL 630516 in the happy path.
Also, since now we always use the CRT, if necessary by running a
throwaway Precompute, which is now cheap if PrecomputedValues is filled
out, we effectively fixed the JSON round-trip slowdown (#59695).

goos: darwin
goarch: arm64
pkg: crypto/rsa
cpu: Apple M2
                            │ 3b42687c56  │          f017604bc6-dirty           │
                            │   sec/op    │   sec/op     vs base                │
ParsePKCS8PrivateKey/2048-8   26.76µ ± 1%   65.99µ ± 1%  +146.64% (p=0.002 n=6)

Fixes #59695
Updates #69799
For #69536

Change-Id: I507f8c5a32e69ab28990a3bf78959836b9b08cc9
Reviewed-on: https://go-review.googlesource.com/c/go/+/632478
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: Russ Cox &lt;rsc@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
</content>
</entry>
<entry>
<title>crypto/rsa: refuse to generate and/or use keys smaller than 1024 bits</title>
<updated>2024-11-22T01:50:32Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2024-11-20T12:59:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=10fb001c7519f2a694e987ecb1e75da80f832b41'/>
<id>urn:sha1:10fb001c7519f2a694e987ecb1e75da80f832b41</id>
<content type='text'>
Fixes #68762

Change-Id: Id89c770571d7cc27c6cf7932139ec3424383a7ef
Reviewed-on: https://go-review.googlesource.com/c/go/+/629938
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>crypto/x509: remove x509sha1 GODEBUG</title>
<updated>2024-11-20T18:27:31Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2024-11-19T19:34:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=7c7170e93934d78b1a1c5c0288f5cdbbf812eeee'/>
<id>urn:sha1:7c7170e93934d78b1a1c5c0288f5cdbbf812eeee</id>
<content type='text'>
Fixes #41682

Change-Id: I37760f2186e75ec7df9674db25ae466cf453d66d
Reviewed-on: https://go-review.googlesource.com/c/go/+/629676
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/go: re-enable build JSON from go test -json, now with GODEBUG</title>
<updated>2024-11-19T02:39:44Z</updated>
<author>
<name>Austin Clements</name>
<email>austin@google.com</email>
</author>
<published>2024-11-18T19:56:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3e7cb78800c662b36f9aebf9312ab25b42c2da2a'/>
<id>urn:sha1:3e7cb78800c662b36f9aebf9312ab25b42c2da2a</id>
<content type='text'>
This re-enables the behavior of CL 536399 (by effectively reverting CL
628955), so now go test -json again includes build output and failures
as JSON rather than text.

However, since this behavior is clearly enough to trip up some build
systems, this CL includes a GODEBUG=gotestjsonbuildtext that can be
set to 1 to revert to the old behavior.

Fixes #70402.
Updates #62067.

Cq-Include-Trybots: luci.golang.try:gotip-darwin-arm64_13,gotip-linux-amd64-longtest,gotip-windows-amd64-longtest
Change-Id: I84e778cd844783dacfc83433e391b5ccb5925127
Reviewed-on: https://go-review.googlesource.com/c/go/+/629335
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Auto-Submit: Austin Clements &lt;austin@google.com&gt;
</content>
</entry>
<entry>
<title>Revert "crypto/rand: add randcrash=0 GODEBUG"</title>
<updated>2024-10-28T14:46:33Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2024-10-23T18:21:50Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0138c1abef3871b72e47d5909ce08c9218f61b16'/>
<id>urn:sha1:0138c1abef3871b72e47d5909ce08c9218f61b16</id>
<content type='text'>
A GODEBUG is actually a security risk here: most programs will start to
ignore errors from Read because they can't happen (which is the intended
behavior), but then if a program is run with GODEBUG=randcrash=0 it will
use a partial buffer in case an error occurs, which may be catastrophic.

Note that the proposal was accepted without the GODEBUG, which was only
added later.

This (partially) reverts CL 608435. I kept the tests.

Updates #66821

Change-Id: I3fd20f9cae0d34115133fe935f0cfc7a741a2662
Reviewed-on: https://go-review.googlesource.com/c/go/+/622115
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
Reviewed-by: Daniel McCarney &lt;daniel@binaryparadox.net&gt;
</content>
</entry>
</feed>
