)]}'
{
  "commit": "d793458c45df2aed498d7f74145eab7ee22d25aa",
  "tree": "fc124196aee5c0e9c1f3357273ff02aef16d9124",
  "parents": [
    "0efdc02f4f6d52f8ca5d5889560f325a836ce0a8"
  ],
  "author": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Tue Mar 03 08:23:45 2026 -0800"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Wed Mar 04 18:18:57 2026 -0800"
  },
  "message": "nfc: rawsock: cancel tx_work before socket teardown\n\nIn rawsock_release(), cancel any pending tx_work and purge the write\nqueue before orphaning the socket.  rawsock_tx_work runs on the system\nworkqueue and calls nfc_data_exchange which dereferences the NCI\ndevice.  Without synchronization, tx_work can race with socket and\ndevice teardown when a process is killed (e.g. by SIGKILL), leading\nto use-after-free or leaked references.\n\nSet SEND_SHUTDOWN first so that if tx_work is already running it will\nsee the flag and skip transmitting, then use cancel_work_sync to wait\nfor any in-progress execution to finish, and finally purge any\nremaining queued skbs.\n\nFixes: 23b7869c0fd0 (\"NFC: add the NFC socket raw protocol\")\nReviewed-by: Joe Damato \u003cjoe@dama.to\u003e\nLink: https://patch.msgid.link/20260303162346.2071888-6-kuba@kernel.org\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b049022399aea0361fb90e77d14c0727474e0688",
      "old_mode": 33188,
      "old_path": "net/nfc/rawsock.c",
      "new_id": "f7d7a599fade772bf8b91e602f6baeed1ed294a3",
      "new_mode": 33188,
      "new_path": "net/nfc/rawsock.c"
    }
  ]
}
