<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.20.14</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.20.14</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.20.14'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2024-02-06T18:22:28Z</updated>
<entry>
<title>[release-branch.go1.20] go1.20.14</title>
<updated>2024-02-06T18:22:28Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2024-02-06T17:28:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=90a870f1dc49bfcc6ffe95f80fbaf21875198e7a'/>
<id>urn:sha1:90a870f1dc49bfcc6ffe95f80fbaf21875198e7a</id>
<content type='text'>
Change-Id: Iaa2b96cca1f7cbeb6648cf8d189e808c275d1f7f
Reviewed-on: https://go-review.googlesource.com/c/go/+/562116
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] Revert "crypto/internal/boring: upgrade module to fips-20220613" +1</title>
<updated>2024-02-01T18:26:01Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2024-01-26T22:22:45Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a2f4a5a6e7d68847163e4e58c905cb39219cb3e5'/>
<id>urn:sha1:a2f4a5a6e7d68847163e4e58c905cb39219cb3e5</id>
<content type='text'>
This reverts CL 553875 ("crypto/internal/boring: upgrade module to
fips-20220613") and CL 553876 ("crypto/tls: align FIPS-only mode with
BoringSSL policy").

Fixes #65322
Updates #65321
Updates #64717
Updates #62372

Change-Id: I0938b97e5b4904e6532448b8ae76e920d03d0508
Reviewed-on: https://go-review.googlesource.com/c/go/+/558796
Reviewed-by: Michael Knyszek &lt;mknyszek@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;
(cherry picked from commit 09b5de48e64e67db92b31eaca054c5d096e3c057)
Reviewed-on: https://go-review.googlesource.com/c/go/+/560276
</content>
</entry>
<entry>
<title>[release-branch.go1.20] crypto/x509: properly gate test on macos version</title>
<updated>2024-01-31T17:29:47Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2023-12-12T17:28:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=746a07279154dc57291d9f67d0e256492baa9a6c'/>
<id>urn:sha1:746a07279154dc57291d9f67d0e256492baa9a6c</id>
<content type='text'>
Fixes the gating of TestIssue51759 by shelling out to sw_vers to check
what version of macOS we are on.

For #64677
Fixes #65379

Change-Id: I5eef4fa39e5449e7b2aa73864625c3abf002aef8
Reviewed-on: https://go-review.googlesource.com/c/go/+/549195
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
Auto-Submit: Roland Shoemaker &lt;roland@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 400e24a8be852e7b20eb4af1999b28c20bb4ea21)
Reviewed-on: https://go-review.googlesource.com/c/go/+/559516
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] runtime: properly model rwmutex in lock ranking</title>
<updated>2024-01-25T17:20:11Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2023-12-13T20:07:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=d7df7f4fa01f1b445d835fc908c54448a63c68fb'/>
<id>urn:sha1:d7df7f4fa01f1b445d835fc908c54448a63c68fb</id>
<content type='text'>
(This cherry-pick combines CL 549536 and the follow-up fix CL 555055.)

Currently, lock ranking doesn't really try to model rwmutex. It records
the internal locks rLock and wLock, but in a subpar fashion:

1. wLock is held from lock to unlock, so it works OK, but it conflates
   write locks of all rwmutexes as rwmutexW, rather than allowing
   different rwmutexes to have different rankings.
2. rLock is an internal implementation detail that is only taken when
   there is contention in rlock. As as result, the reader lock path is
   almost never checked.

Add proper modeling. rwmutexR and rwmutexW remain as the ranks of the
internal locks, which have their own ordering. The new init method is
passed the ranks of the higher level lock that this represents, just
like lockInit for mutex.

execW ordered before MALLOC captures the case from #64722. i.e., there
can be allocation between BeforeFork and AfterFork.

For #64722.
Fixes #64760.

------

runtime: replace rwmutexR/W with per-rwmutex lock rank

CL 549536 intended to decouple the internal implementation of rwmutex
from the semantic meaning of an rwmutex read/write lock in the static
lock ranking.

Unfortunately, it was not thought through well enough. The internals
were represented with the rwmutexR and rwmutexW lock ranks. The idea was
that the internal lock ranks need not model the higher-level ordering,
since those have separate rankings. That is incorrect; rwmutexW is held
for the duration of a write lock, so it must be ranked before any lock
taken while any write lock is held, which is precisely what we were
trying to avoid.

This is visible in violations like:

        0 : execW 11 0x0
        1 : rwmutexW 51 0x111d9c8
        2 : fin 30 0x111d3a0
        fatal error: lock ordering problem

execW &lt; fin is modeled, but rwmutexW &lt; fin is missing.

Fix this by eliminating the rwmutexR/W lock ranks shared across
different types of rwmutex. Instead require users to define an
additional "internal" lock rank to represent the implementation details
of rwmutex.rLock. We can avoid an additional "internal" lock rank for
rwmutex.wLock because the existing writeRank has the same semantics for
semantic and internal locking. i.e., writeRank is held for the duration
of a write lock, which is exactly how rwmutex.wLock is used, so we can
use writeRank directly on wLock.

For #64722.

Cq-Include-Trybots: luci.golang.try:go1.20-linux-amd64-staticlockranking
Change-Id: I23335b28faa42fb04f1bc9da02fdf54d1616cd28
Reviewed-on: https://go-review.googlesource.com/c/go/+/549536
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 9b4b3e5acca2dabe107fa2c3ed963097d78a4562)
(cherry picked from commit dcbe77246922fe7ef41f07df228f47a37803f360)
Reviewed-on: https://go-review.googlesource.com/c/go/+/554995
</content>
</entry>
<entry>
<title>[release-branch.go1.20] go1.20.13</title>
<updated>2024-01-09T18:15:45Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2024-01-09T18:09:18Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a95136a88cb8a51ede3ec2cdca4cfa3962dcfacd'/>
<id>urn:sha1:a95136a88cb8a51ede3ec2cdca4cfa3962dcfacd</id>
<content type='text'>
Change-Id: I8982d80d8221bf6b5a4b1efd559192b74886aab2
Reviewed-on: https://go-review.googlesource.com/c/go/+/555015
Commit-Queue: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Matthew Dempsky &lt;mdempsky@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
TryBot-Bypass: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] crypto/tls: align FIPS-only mode with BoringSSL policy</title>
<updated>2024-01-04T22:45:14Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2023-12-14T21:13:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=5c38c04957dd93db2f6f1d4a507031631976a122'/>
<id>urn:sha1:5c38c04957dd93db2f6f1d4a507031631976a122</id>
<content type='text'>
This enables TLS 1.3, disables P-521, and disables non-ECDHE suites.

Updates #64717
Updates #62372
Fixes #64718

Change-Id: I3a65b239ef0198bbdbe5e55e0810e7128f90a091
Reviewed-on: https://go-review.googlesource.com/c/go/+/549975
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Than McIntosh &lt;thanm@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/553876
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
Reviewed-by: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] crypto/internal/boring: upgrade module to fips-20220613</title>
<updated>2024-01-04T22:34:11Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2023-12-14T16:07:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9e4abed39bf75d37490e2c14737f32b1d7dc495b'/>
<id>urn:sha1:9e4abed39bf75d37490e2c14737f32b1d7dc495b</id>
<content type='text'>
Also, add EVP_aead_aes_*_gcm_tls13 to the build, which we will need in a
following CL, to avoid rebuilding the syso twice.

Updates #64717
Updates #62372
Updates #64718

Change-Id: Ie4d853ad9b914c1095cad60694a1ae6f77dc22ce
Cq-Include-Trybots: luci.golang.try:go1.20-linux-amd64-boringcrypto
Reviewed-on: https://go-review.googlesource.com/c/go/+/549695
Reviewed-by: Than McIntosh &lt;thanm@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/553875
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
Reviewed-by: Matthew Dempsky &lt;mdempsky@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] runtime: put ReadMemStats debug assertions behind a double-check mode</title>
<updated>2024-01-04T21:33:30Z</updated>
<author>
<name>Michael Anthony Knyszek</name>
<email>mknyszek@google.com</email>
</author>
<published>2023-11-27T22:27:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=95afc744a7abd78dcaf06423583821ead5cc7c1e'/>
<id>urn:sha1:95afc744a7abd78dcaf06423583821ead5cc7c1e</id>
<content type='text'>
ReadMemStats has a few assertions it makes about the consistency of the
stats it's about to produce. Specifically, how those stats line up with
runtime-internal stats. These checks are generally useful, but crashing
just because some stats are wrong is a heavy price to pay.

For a long time this wasn't a problem, but very recently it became a
real problem. It turns out that there's real benign skew that can happen
wherein sysmon (which doesn't synchronize with a STW) generates a trace
event when tracing is enabled, and may mutate some stats while
ReadMemStats is running its checks.

Fix this by synchronizing with both sysmon and the tracer. This is a bit
heavy-handed, but better that than false positives.

Also, put the checks behind a debug mode. We want to reduce the risk of
backporting this change, and again, it's not great to crash just because
user-facing stats are off. Still, enable this debug mode during the
runtime tests so we don't lose quite as much coverage from disabling
these checks by default.

For #64401.
Fixes #64409.

Change-Id: I9adb3e5c7161d207648d07373a11da8a5f0fda9a
Reviewed-on: https://go-review.googlesource.com/c/go/+/545277
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Felix Geisendörfer &lt;felix.geisendoerfer@datadoghq.com&gt;
(cherry picked from commit b2efd1de97402ec4b8fb4e9e0ec29c8e49e8e200)
Reviewed-on: https://go-review.googlesource.com/c/go/+/545556
Auto-Submit: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Bypass: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] os/signal: skip nohup tests on darwin builders</title>
<updated>2023-12-08T18:47:53Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2023-11-01T15:55:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=8cb86b5f85ce695cba8cb54fd9780d39d9de924d'/>
<id>urn:sha1:8cb86b5f85ce695cba8cb54fd9780d39d9de924d</id>
<content type='text'>
The new LUCI builders have a temporary limitation that breaks nohup.
Skip nohup tests there.

For #63875.
Fixes #63910.

Cq-Include-Trybots: luci.golang.try:go1.20-darwin-amd64_13
Change-Id: Ia9ffecea7310f84a21f6138d8f8cdfc5e1392307
Reviewed-on: https://go-review.googlesource.com/c/go/+/538698
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@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;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
(cherry picked from commit a334c452731e7becc2dc879e253c7198202af126)
Reviewed-on: https://go-review.googlesource.com/c/go/+/546376
TryBot-Bypass: Carlos Amedee &lt;carlos@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] os/signal: remove go t.Run from TestNohup</title>
<updated>2023-12-07T21:49:00Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2023-11-01T21:06:08Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=59ffd3b90d0ead2dc36f855f13bb37717d96dc2d'/>
<id>urn:sha1:59ffd3b90d0ead2dc36f855f13bb37717d96dc2d</id>
<content type='text'>
Since CL 226138, TestNohup has a bit of a strange construction: it wants
to run the "uncaught" subtests in parallel with each other, and the
"nohup" subtests in parallel with each other, but also needs join
between "uncaught" and "nohop" so it can Stop notifying for SIGHUP.

It achieves this by doing `go t.Run` with a WaitGroup rather than using
`t.Parallel` in the subtest (which would make `t.Run` return immediately).

However, this makes things more difficult to understand than necessary.
As noted on https://pkg.go.dev/testing#hdr-Subtests_and_Sub_benchmarks,
a second layer of subtest can be used to join parallel subtests.

Switch to this form, which makes the test simpler to follow
(particularly the cleanup that goes with "uncaught").

For #63799.
For #63910.

Change-Id: Ibfce0f439508a7cfca848c7ccfd136c9c453ad8b
Reviewed-on: https://go-review.googlesource.com/c/go/+/538899
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
(cherry picked from commit 5622a4b2054664edcdd64974b9df73b440aedfae)
Reviewed-on: https://go-review.googlesource.com/c/go/+/546375
</content>
</entry>
</feed>
