)]}'
{
  "commit": "2afd6c8a512fed7956c8d2579e10c2209b23960d",
  "tree": "53d6f195c1b3b56467d5dae3affc2ebb7c42ed76",
  "parents": [
    "374440a9130dce680dacd3b27bf13e9c8f7c27e7"
  ],
  "author": {
    "name": "Lokbondo Kung",
    "email": "lokokung@google.com",
    "time": "Wed Oct 21 00:17:20 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Oct 21 00:17:20 2026 -0700"
  },
  "message": "[security] Make sure that mPipeline in CreatePipelineEvent is cleared.\n\n- As per the bug below, the mPipeline reference may live if an error\n  occurs as a part of initializing the pipeline. Because we still hold\n  a reference to the resulting pipeline in the error case, we can run\n  into a teardown race where we reference the Vulkan object when it is\n  no longer valid.\n- This change just ensures that we always move the member variable out\n  after the Complete call while holding the device lock.\n- Update existing tests to verify the fix. Note that the crucial change\n  to the test is to pass Ref\u003cPipelineMock\u003e with std::move so that the\n  last reference is dropped the way it would be in actual production.\n\nBug: 575150692\nChange-Id: Id1497f9fde96595bdba3b675415d2f07bc709a73\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/352215\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nAuto-Submit: Loko Kung \u003clokokung@google.com\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8722e2eaf8bc8110d0ca36f18b7d28b6caab7fc8",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp",
      "new_id": "2628fa55c901a117ef6fb68252738dfb75fe4be9",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp"
    },
    {
      "type": "modify",
      "old_id": "b22953723157fe10c3ffe93de9291842c3a6adb5",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/native/CreatePipelineAsyncEventTests.cpp",
      "new_id": "0f21f69ec27838d775ae352a2310a3474e31d397",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/native/CreatePipelineAsyncEventTests.cpp"
    }
  ]
}
