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.19.9
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.19.10
Choose a head ref
  • 10 commits
  • 90 files changed
  • 6 contributors

Commits on May 11, 2023

  1. [release-branch.go1.19] cmd/compile: fix bswap/load rewrite rules

    When combining a byteswap and a load, the resulting combined op
    must go in the load's block, not the byteswap's block, as the load
    has a memory argument that might only be valid in its original block.
    
    Fixes #59974
    
    Change-Id: Icd84863ef3a9ca1fc22f2bb794a003f2808c746f
    Reviewed-on: https://go-review.googlesource.com/c/go/+/492616
    Run-TryBot: Keith Randall <khr@golang.org>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Reviewed-by: Cherry Mui <cherryyz@google.com>
    Reviewed-by: Wayne Zuo <wdvxdr@golangcn.org>
    Reviewed-by: Keith Randall <khr@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/492697
    TryBot-Bypass: Cherry Mui <cherryyz@google.com>
    Run-TryBot: Cherry Mui <cherryyz@google.com>
    randall77 authored and cherrymui committed May 11, 2023
    Copy the full SHA
    e738f13 View commit details

Commits on May 22, 2023

  1. [release-branch.go1.19] runtime: consistently define fcntl

    Clean up and consolidate on a single consistent definition of fcntl,
    which takes three int32 arguments and returns either a positive result
    or a negative errno value.
    
    Change-Id: Id9505492712db4b0aab469c6bd15e4fce3c9ff6e
    Reviewed-on: https://go-review.googlesource.com/c/go/+/495075
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    Reviewed-by: Ian Lance Taylor <iant@google.com>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Auto-Submit: Ian Lance Taylor <iant@google.com>
    Run-TryBot: Ian Lance Taylor <iant@google.com>
    Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
    Reviewed-by: Michael Pratt <mpratt@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/497135
    Auto-Submit: Heschi Kreinick <heschi@google.com>
    Run-TryBot: Roland Shoemaker <roland@golang.org>
    ianlancetaylor authored and gopherbot committed May 22, 2023
    Copy the full SHA
    ecb9ecf View commit details
  2. [release-branch.go1.19] runtime: change fcntl to return two values

    Separate the result and the errno value, rather than assuming
    that the result can never be negative.
    
    Change-Id: Ib01a70a3d46285aa77e95371cdde74e1504e7c12
    Reviewed-on: https://go-review.googlesource.com/c/go/+/496416
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    Run-TryBot: Ian Lance Taylor <iant@google.com>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Reviewed-by: Ian Lance Taylor <iant@google.com>
    Reviewed-by: Bryan Mills <bcmills@google.com>
    Auto-Submit: Ian Lance Taylor <iant@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/497136
    Run-TryBot: Roland Shoemaker <roland@golang.org>
    Auto-Submit: Heschi Kreinick <heschi@google.com>
    ianlancetaylor authored and gopherbot committed May 22, 2023
    Copy the full SHA
    65cc8e6 View commit details

Commits on May 30, 2023

  1. [release-branch.go1.19] cmd/go: save checksums for go.mod files neede…

    …d for go version lines
    
    When we load a package from a module, we need the go version line from
    that module's go.mod file to know what language semantics to use for
    the package. We need to save a checksum for the go.mod file even if
    the module's requirements are pruned out of the module graph.
    Previously, we were missing checksums for test dependencies of
    packages in 'all' and packages passed to 'go get -t'.
    
    This change preserves the existing bug for 'go mod tidy',
    but fixes it for 'go get -t' and flags the missing checksum
    with a clearer error in other cases.
    
    Fixes #60000.
    Updates #56222.
    
    Change-Id: Icd6acce348907621ae0b02dbeac04fb180353dcf
    (cherry picked from CL 489075 and CL 492741)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/492983
    Reviewed-by: Michael Matloob <matloob@golang.org>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Run-TryBot: Bryan Mills <bcmills@google.com>
    TryBot-Bypass: Bryan Mills <bcmills@google.com>
    Bryan C. Mills authored and mknyszek committed May 30, 2023
    Copy the full SHA
    29f3469 View commit details
  2. [release-branch.go1.19] cmd/go/internal: update documentation of go t…

    …est and go generate
    
    For #57050.
    Fixes #60457.
    
    Change-Id: I46cac667ff78ac171c878f4366f8f01f58f1d27d
    GitHub-Last-Rev: 697c255
    GitHub-Pull-Request: #57814
    Reviewed-on: https://go-review.googlesource.com/c/go/+/461683
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
    Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: Bryan Mills <bcmills@google.com>
    (cherry picked from commit 93d9035)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/499295
    Run-TryBot: Dmitri Shuralyov <dmitshur@google.com>
    Auto-Submit: Dmitri Shuralyov <dmitshur@google.com>
    shogohida authored and gopherbot committed May 30, 2023
    Copy the full SHA
    ed9db1d View commit details

Commits on Jun 6, 2023

  1. [release-branch.go1.19] runtime: implement SUID/SGID protections

    On Unix platforms, the runtime previously did nothing special when a
    program was run with either the SUID or SGID bits set. This can be
    dangerous in certain cases, such as when dumping memory state, or
    assuming the status of standard i/o file descriptors.
    
    Taking cues from glibc, this change implements a set of protections when
    a binary is run with SUID or SGID bits set (or is SUID/SGID-like). On
    Linux, whether to enable these protections is determined by whether the
    AT_SECURE flag is passed in the auxiliary vector. On platforms which
    have the issetugid syscall (the BSDs, darwin, and Solaris/Illumos), that
    is used. On the remaining platforms (currently only AIX) we check
    !(getuid() == geteuid() && getgid == getegid()).
    
    Currently when we determine a binary is "tainted" (using the glibc
    terminology), we implement two specific protections:
      1. we check if the file descriptors 0, 1, and 2 are open, and if they
         are not, we open them, pointing at /dev/null (or fail).
      2. we force GOTRACKBACK=none, and generally prevent dumping of
         trackbacks and registers when a program panics/aborts.
    
    In the future we may add additional protections.
    
    This change requires implementing issetugid on the platforms which
    support it, and implementing getuid, geteuid, getgid, and getegid on
    AIX.
    
    Thanks to Vincent Dehors from Synacktiv for reporting this issue.
    
    Updates #60272
    Fixes #60517
    Fixes CVE-2023-29403
    
    Change-Id: I057fa7153d29cf26515e7f49fed86e4f8bedd0f0
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1878434
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Ian Lance Taylor <iant@google.com>
    Run-TryBot: Roland Shoemaker <bracewell@google.com>
    Reviewed-by: Russ Cox <rsc@google.com>
    (cherry picked from commit 87065663ea6d89cd54f65a515d8f2ed0ef285c19)
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1902231
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1904340
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/501228
    Auto-Submit: Michael Knyszek <mknyszek@google.com>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Run-TryBot: David Chase <drchase@google.com>
    rolandshoemaker authored and gopherbot committed Jun 6, 2023
    Copy the full SHA
    a7b1cd4 View commit details
  2. [release-branch.go1.19] cmd/go,cmd/cgo: in _cgo_flags use one line pe…

    …r flag
    
    The flags that we recorded in _cgo_flags did not use any quoting,
    so a flag containing embedded spaces was mishandled.
    Change the _cgo_flags format to put each flag on a separate line.
    That is a simple format that does not require any quoting.
    
    As far as I can tell only cmd/go uses _cgo_flags, and it is only
    used for gccgo. If this patch doesn't cause any trouble, then
    in the next release we can change to only using _cgo_flags for gccgo.
    
    Thanks to Juho Nurminen of Mattermost for reporting this issue.
    
    Updates #60306
    Fixes #60513
    Fixes CVE-2023-29405
    
    Change-Id: Id738a737ecae47babb34c4b4fc4d65336cf0c0f3
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1875094
    Reviewed-by: Damien Neil <dneil@google.com>
    Reviewed-by: Roland Shoemaker <bracewell@google.com>
    (cherry picked from commit bcdfcadd5612212089d958bc352a6f6c90742dcc)
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1902227
    Run-TryBot: Roland Shoemaker <bracewell@google.com>
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1904341
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/501216
    Auto-Submit: Michael Knyszek <mknyszek@google.com>
    Run-TryBot: David Chase <drchase@google.com>
    TryBot-Bypass: David Chase <drchase@google.com>
    ianlancetaylor authored and gopherbot committed Jun 6, 2023
    Copy the full SHA
    44e0fb1 View commit details
  3. [release-branch.go1.19] cmd/go: enforce flags with non-optional argum…

    …ents
    
    Enforce that linker flags which expect arguments get them, otherwise it
    may be possible to smuggle unexpected flags through as the linker can
    consume what looks like a flag as an argument to a preceding flag (i.e.
    "-Wl,-O -Wl,-R,-bad-flag" is interpreted as "-O=-R -bad-flag"). Also be
    somewhat more restrictive in the general format of some flags.
    
    Thanks to Juho Nurminen of Mattermost for reporting this issue.
    
    Updates #60305
    Fixes #60511
    Fixes CVE-2023-29404
    
    Change-Id: Icdffef2c0f644da50261cace6f43742783931cff
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1876275
    Reviewed-by: Ian Lance Taylor <iant@google.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    (cherry picked from commit 896779503cf754cbdac24b61d4cc953b50fe2dde)
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1902225
    Run-TryBot: Roland Shoemaker <bracewell@google.com>
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1904342
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/501217
    Auto-Submit: Michael Knyszek <mknyszek@google.com>
    Run-TryBot: David Chase <drchase@google.com>
    TryBot-Bypass: Michael Knyszek <mknyszek@google.com>
    rolandshoemaker authored and gopherbot committed Jun 6, 2023
    Copy the full SHA
    bf3c8ce View commit details
  4. [release-branch.go1.19] cmd/go: disallow package directories containi…

    …ng newlines
    
    Directory or file paths containing newlines may cause tools (such as
    cmd/cgo) that emit "//line" or "#line" -directives to write part of
    the path into non-comment lines in generated source code. If those
    lines contain valid Go code, it may be injected into the resulting
    binary.
    
    (Note that Go import paths and file paths within module zip files
    already could not contain newlines.)
    
    Thanks to Juho Nurminen of Mattermost for reporting this issue.
    
    Updates #60167.
    Fixes #60515.
    Fixes CVE-2023-29402.
    
    Change-Id: If55d0400c02beb7a5da5eceac60f1abeac99f064
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1882606
    Reviewed-by: Roland Shoemaker <bracewell@google.com>
    Run-TryBot: Roland Shoemaker <bracewell@google.com>
    Reviewed-by: Russ Cox <rsc@google.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    (cherry picked from commit 41f9046495564fc728d6f98384ab7276450ac7e2)
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1902229
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1904343
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    Reviewed-by: Bryan Mills <bcmills@google.com>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/501218
    Run-TryBot: David Chase <drchase@google.com>
    Auto-Submit: Michael Knyszek <mknyszek@google.com>
    TryBot-Result: Gopher Robot <gobot@golang.org>
    Bryan C. Mills authored and gopherbot committed Jun 6, 2023
    Copy the full SHA
    c160b49 View commit details
  5. [release-branch.go1.19] go1.19.10

    Change-Id: I2005c04787ac85f4ec62eb9a9c21d8ebc9018199
    Reviewed-on: https://go-review.googlesource.com/c/go/+/501237
    Run-TryBot: Gopher Robot <gobot@golang.org>
    Auto-Submit: Gopher Robot <gobot@golang.org>
    Reviewed-by: David Chase <drchase@google.com>
    Reviewed-by: Michael Knyszek <mknyszek@google.com>
    TryBot-Bypass: David Chase <drchase@google.com>
    gopherbot committed Jun 6, 2023
    Copy the full SHA
    7fe60b5 View commit details
Loading