)]}'
{
  "commit": "20a80e7f6b71bd664c98e95589f0cbc68804d200",
  "tree": "bf22095775b4af07904b63b9b354bd4a2d3cb21d",
  "parents": [
    "4e0ee51cc2b7a542e5679edaa14aaa82be3b4abb"
  ],
  "author": {
    "name": "Breno Leitao",
    "email": "leitao@debian.org",
    "time": "Thu Aug 13 06:12:12 2026 -0700"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Thu Aug 13 07:00:19 2026 -1000"
  },
  "message": "workqueue: annotate racy p-\u003ewake_cpu accesses in kick_pool_pick()\n\nkick_pool_pick() reads and writes p-\u003ewake_cpu while the scheduler can\nupdate it concurrently. KCSAN reports:\n\n  BUG: KCSAN: data-race in kick_pool_pick+0xf8/0x2d8\n\n  race at unknown origin, with read to 0xffff000663229da4 of 4 bytes by\n  task 1817002 on cpu 40:\n   kick_pool_pick+0xf8/0x2d8\n   process_scheduled_works+0x2bc/0x888\n   worker_thread+0x394/0x548\n   kthread+0x1b8/0x1f0\n   ret_from_fork+0x10/0x20\n\n  value changed: 0x0000002b -\u003e 0x0000002f\n\nThe race is harmless. wake_cpu is a best-effort placement hint: every\nwriter stores a valid CPU id and the wakeup path validates it through\nselect_task_rq(), so a stale value only affects which CPU the worker\nwakes up on.\n\nMark both accesses with READ_ONCE() and WRITE_ONCE() to document that\nthey are intentionally racy and to stop the compiler from reloading or\ntearing them.\n\nSigned-off-by: Breno Leitao \u003cleitao@debian.org\u003e\nReviewed-by: Bradley Morgan \u003cinclude@grrlz.net\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d4ad5d93e1a76a5ba99916aa868824cfc021a403",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "bfeef512f6dd8ccf21430a82c803122e727fa26f",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    }
  ]
}
