)]}'
{
  "commit": "bb004a179a034c799809f42d525801ec4a791987",
  "tree": "3d52dbf47edbaa3e456a5c10e4a26018816de921",
  "parents": [
    "889a902d215c57fe2032181370a9a2c30c531c99"
  ],
  "author": {
    "name": "Michael Pratt",
    "email": "mpratt@google.com",
    "time": "Thu Feb 24 16:54:13 2022 -0500"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu Apr 21 22:10:49 2022 +0000"
  },
  "message": "syscall: define Syscall in terms of RawSyscall on linux\n\nThis is a re-do of CL 388477, fixing #52472.\n\nIt is unsafe to call syscall.RawSyscall from syscall.Syscall with\n-coverpkg\u003dall and -race. This is because:\n\n1. Coverage adds a sync/atomic call in RawSyscall to increment the\n   coverage counter.\n2. Race mode instruments sync/atomic calls with TSAN runtime calls. TSAN\n   eventually calls runtime.racecallbackfunc, which expects\n   getg().m.p !\u003d 0, which is no longer true after entersyscall().\n\ncmd/go actually avoids adding coverage instrumention to package runtime\nin race mode entirely to avoid these kinds of problems. Rather than also\nexcluding all of syscall for this one function, work around by calling\nRawSyscall6 instead, which avoids coverage instrumention both by being\nwritten in assembly and in package runtime/*.\n\nFor #51087\nFixes #52472\n\nChange-Id: Iaffd27df03753020c4716059a455d6ca7b62f347\nReviewed-on: https://go-review.googlesource.com/c/go/+/401654\nRun-TryBot: Michael Pratt \u003cmpratt@google.com\u003e\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nAuto-Submit: Michael Pratt \u003cmpratt@google.com\u003e\nReviewed-by: Cherry Mui \u003ccherryyz@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4535f620532bd1b075c44f5f2ddcd47b858cfd1a",
      "old_mode": 33188,
      "old_path": "src/runtime/proc.go",
      "new_id": "b281d9f3b8a49d1254fa91f9a7b2d99c5d9a867c",
      "new_mode": 33188,
      "new_path": "src/runtime/proc.go"
    },
    {
      "type": "modify",
      "old_id": "546d27932d0335c3f107c80825ee2cccc6250be5",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_386.s",
      "new_id": "ae0047b6fb6ed24ae04f37bebc4b3c362ea9c1d0",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_386.s"
    },
    {
      "type": "modify",
      "old_id": "bd50b5ebfeff17dda6621b218f3d0095bc068bb6",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_amd64.s",
      "new_id": "ea939b39f0f77a79f0831cd5c223e95ffbbfb5b7",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_amd64.s"
    },
    {
      "type": "modify",
      "old_id": "12986f801ec3a2ae53571be8fac341b4d9cd5893",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_arm.s",
      "new_id": "6f9a612fa1bbeeba5ced7867121151818bf7edd1",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_arm.s"
    },
    {
      "type": "modify",
      "old_id": "fc1466cc80cc9bfc7f66e8c37524ecffe7e89b82",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_arm64.s",
      "new_id": "c9d28d301a573ecf1da810c4e0e1911b526235cd",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_arm64.s"
    },
    {
      "type": "modify",
      "old_id": "b6f293471de6b798c6cca1205bf567ad4b65944b",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_mips64x.s",
      "new_id": "994d7779fbede17f84cea417813904d5caeea6d0",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_mips64x.s"
    },
    {
      "type": "modify",
      "old_id": "041c353e794d6248ded8f226c957500ff6bc501f",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_mipsx.s",
      "new_id": "8c45861d6411a4f6f843d18ec0cb5b12d450ddd8",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_mipsx.s"
    },
    {
      "type": "modify",
      "old_id": "b03d859ca229bfe08bdc6fee09ac45db83b7af52",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_ppc64x.s",
      "new_id": "d60e4722269e5bc7a5373cbebfbee931b5ae448f",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_ppc64x.s"
    },
    {
      "type": "modify",
      "old_id": "f6b7d11c082d0672bfb71f7c3ec5b89ad3a52fff",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_riscv64.s",
      "new_id": "60b5cdbc1ceae99140f7e8e592e4ce1fa5133123",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_riscv64.s"
    },
    {
      "type": "modify",
      "old_id": "0a4913779ad7d87367658334c06cf82241de4c28",
      "old_mode": 33188,
      "old_path": "src/syscall/asm_linux_s390x.s",
      "new_id": "14dabd85c23baaf7f4d9879aa0206e21a2e38664",
      "new_mode": 33188,
      "new_path": "src/syscall/asm_linux_s390x.s"
    },
    {
      "type": "modify",
      "old_id": "a9a8ecbefd34fa551ddff24ecb000dfaae5ed4ee",
      "old_mode": 33188,
      "old_path": "src/syscall/syscall_linux.go",
      "new_id": "999ca5bb7f511bb6517e4d5fd26f9f6ad9cb021b",
      "new_mode": 33188,
      "new_path": "src/syscall/syscall_linux.go"
    }
  ]
}
