8000 Comparing go1.23.11...go1.23.12 · golang/go · GitHub
[go: up one dir, main page]

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/go
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: go1.23.11
Choose a base ref
...
head repository: golang/go
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: go1.23.12
Choose a head ref
  • 7 commits
  • 16 files changed
  • 7 contributors

Commits on Jul 10, 2025

  1. [release-branch.go1.23] runtime: stash allpSnapshot on the M

    findRunnable takes a snapshot of allp prior to dropping the P because
    afterwards procresize may mutate allp without synchronization.
    procresize is careful to never mutate the contents up to cap(allp), so
    findRunnable can still safely access the Ps in the slice.
    
    Unfortunately, growing allp is problematic. If procresize grows the allp
    backing array, it drops the reference to the old array. allpSnapshot
    still refers to the old array, but allpSnapshot is on the system stack
    in findRunnable, which also likely no longer has a P at all.
    
    This means that a future GC will not find the reference and can free the
    array and use it for another allocation. This would corrupt later reads
    that findRunnable does from the array.
    
    The fix is simple: the M struct itself is reachable by the GC, so we can
    stash the snapshot in the M to ensure it is visible to the GC.
    
    The ugliest part of the CL is the cleanup when we are done with the
    snapshot because there are so many return/goto top sites. I am tempted
    to put mp.clearAllpSnapshot() in the caller and at top to make this less
    error prone, at the expensive of extra unnecessary writes.
    
    For #74414.
    Fixes #74415.
    
    Change-Id: I6a6a636c484e4f4b34794fd07910b3fffeca830b
    Reviewed-on: https://go-review.googlesource.com/c/go/+/684460
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Michael Pratt <mpratt@google.com>
    (cherry picked from commit 740857f)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/685075
    prattmic authored and cagedmantis committed Jul 10, 2025
    Configuration menu
    Copy the full SHA
    317a3c1 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2025

  1. [release-branch.go1.23] cmd/cgo/internal/testsanitizers: disable ASLR…

    … for TSAN tests
    
    Ever since we had to upgrade from our COS image, we've been experiencing
    TSAN test failures. My best guess is that the ASLR randomization entropy
    increased, causing TSAN to fail. TSAN already re-execs itself in Clang
    18+ with ASLR disabled, so just execute the tests with ASLR disabled on
    Linux.
    
    For #59418.
    Fixes #74726.
    
    Change-Id: Icb4536ddf0f2f5e7850734564d40f5a208ab8d01
    Cq-Include-Trybots: luci.golang.try:go1.23-linux-386,go1.23-linux-386-clang15,go1.23-linux-amd64-clang15,go1.23-linux-amd64-boringcrypto,go1.23-linux-amd64-goamd64v3
    Reviewed-on: https://go-review.googlesource.com/c/go/+/623956
    Reviewed-by: Ian Lance Taylor <iant@golang.org>
    Reviewed-by: Keith Randall <khr@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    (cherry picked from commit b813e6f)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/690035
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    mknyszek committed Jul 24, 2025
    Configuration menu
    Copy the full SHA
    cea5be7 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2025

  1. [release-branch.go1.23] cmd/go: skip known TestScript/build_trimpath_…

    …cgo failure on darwin/arm64
    
    The failure is understood. Skip the test since it's failing without
    producing new information.
    
    For #73922.
    Fixes #74721.
    
    Change-Id: I339882e1a9772255b185a33daf8dee97f764f830
    Reviewed-on: https://go-review.googlesource.com/c/go/+/689917
    TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Reviewed-by: Michael Matloob <matloob@golang.org>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    dmitshur authored and Mark Freeman committed Jul 28, 2025
    Configuration menu
    Copy the full SHA
    6c9c80b View commit details
    Browse the repository at this point in the history
  2. [release-branch.go1.23] cmd/compile: for arm64 epilog, do SP incremen…

    …t with a single instruction
    
    That way, the frame is atomically popped. Previously, for big frames
    the SP was unwound in two steps (because arm64 can only add constants
    up to 1<<12 in a single instruction).
    
    Fixes #74693
    
    Change-Id: I382c249194ad7bc9fc19607c27487c58d90d49e5
    Reviewed-on: https://go-review.googlesource.com/c/go/+/689235
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Michael Pratt <mpratt@google.com>
    Reviewed-by: Keith Randall <khr@google.com>
    (cherry picked from commit f7cc61e)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/689595
    randall77 authored and Mark Freeman committed Jul 28, 2025
    Configuration menu
    Copy the full SHA
    e8794e6 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2025

  1. [release-branch.go1.23] os/exec: fix incorrect expansion of "", "." a…

    …nd ".." in LookPath
    
    Fix incorrect expansion of "" and "." when $PATH contains an executable
    file or, on Windows, a parent directory of a %PATH% element contains an
    file with the same name as the %PATH% element but with one of the
    %PATHEXT% extension (ex: C:\utils\bin is in PATH, and C:\utils\bin.exe
    exists).
    
    Fix incorrect expansion of ".." when $PATH contains an element which is
    an the concatenation of the path to an executable file (or on Windows
    a path that can be expanded to an executable by appending a %PATHEXT%
    extension), a path separator and a name.
    
    "", "." and ".." are now rejected early with ErrNotFound.
    
    Fixes CVE-2025-47906
    Fixes #74803
    
    Change-Id: Ie50cc0a660fce8fbdc952a7f2e05c36062dcb50e
    Reviewed-on: https://go-review.googlesource.com/c/go/+/685755
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Auto-Submit: Damien Neil <dneil@google.com>
    Reviewed-by: Roland Shoemaker <roland@golang.org>
    Reviewed-by: Damien Neil <dneil@google.com>
    (cherry picked from commit e0b07dc)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/691855
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    dolmen authored and Mark Freeman committed Jul 30, 2025
    Configuration menu
    Copy the full SHA
    8fa31a2 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2025

  1. [release-branch.go1.23] database/sql: avoid closing Rows while scan i…

    …s in progress
    
    A database/sql/driver.Rows can return database-owned data
    from Rows.Next. The driver.Rows documentation doesn't explicitly
    document the lifetime guarantees for this data, but a reasonable
    expectation is that the caller of Next should only access it
    until the next call to Rows.Close or Rows.Next.
    
    Avoid violating that constraint when a query is cancelled while
    a call to database/sql.Rows.Scan (note the difference between
    the two different Rows types!) is in progress. We previously
    took care to avoid closing a driver.Rows while the user has
    access to driver-owned memory via a RawData, but we could still
    close a driver.Rows while a Scan call was in the process of
    reading previously-returned driver-owned data.
    
    Update the fake DB used in database/sql tests to invalidate
    returned data to help catch other places we might be
    incorrectly retaining it.
    
    Updates #74831
    Fixes #74832
    
    Change-Id: Ice45b5fad51b679c38e3e1d21ef39156b56d6037
    Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2540
    Reviewed-by: Roland Shoemaker <bracewell@google.com>
    Reviewed-by: Neal Patel <nealpatel@google.com>
    Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2601
    Reviewed-on: https://go-review.googlesource.com/c/go/+/693558
    TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: Mark Freeman <markfreeman@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Auto-Submit: Dmitri Shuralyov <dmitshur@google.com>
    neild authored and gopherbot committed Aug 6, 2025
    Configuration menu
    Copy the full SHA
    8a924ca View commit details
    Browse the repository at this point in the history
  2. [release-branch.go1.23] go1.23.12

    Change-Id: Ibd36536a8c9d9c8d90f466d420a30d4e3162ff25
    Reviewed-on: https://go-review.googlesource.com/c/go/+/693698
    TryBot-Bypass: Gopher Robot <gobot@golang.org>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    Reviewed-by: Mark Freeman <markfreeman@google.com>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    gopherbot committed Aug 6, 2025
    Configuration menu
    Copy the full SHA
    dd8b7ad View commit details
    Browse the repository at this point in the history
Loading
0