)]}'
{
  "commit": "c16f74dc1d75d0e2e7670076d5375deda110ebeb",
  "tree": "a84111acd393d14f93ebfa2bbf81dafcb6a42934",
  "parents": [
    "3e52417318473782012b236d0325bf7d2266a597"
  ],
  "author": {
    "name": "Zhengchuan Liang",
    "email": "zcliangcn@gmail.com",
    "time": "Fri May 22 17:31:55 2026 +0800"
  },
  "committer": {
    "name": "Steffen Klassert",
    "email": "steffen.klassert@secunet.com",
    "time": "Tue May 26 10:35:30 2026 +0200"
  },
  "message": "xfrm: input: hold netns during deferred transport reinjection\n\nTransport-mode reinjection stores a struct net pointer in skb-\u003ecb and\nuses it later from xfrm_trans_reinject(). That pointer must stay valid\nuntil the deferred callback runs.\n\nTake a netns reference when queueing deferred reinjection work and drop\nit after the callback completes. Use maybe_get_net() so the queueing\npath does not revive a namespace that is already being torn down.\n\nThis keeps the existing workqueue design and fixes the netns lifetime\nhandling in one place for all users of xfrm_trans_queue_net().\n\nFixes: 7b3801927e52 (\"xfrm: introduce xfrm_trans_queue_net\")\nCc: stable@kernel.org\nReported-by: Yuan Tan \u003cyuantan098@gmail.com\u003e\nReported-by: Xin Liu \u003cbird@lzu.edu.cn\u003e\nCo-developed-by: Luxing Yin \u003ctr0jan@lzu.edu.cn\u003e\nSigned-off-by: Luxing Yin \u003ctr0jan@lzu.edu.cn\u003e\nSigned-off-by: Zhengchuan Liang \u003czcliangcn@gmail.com\u003e\nSigned-off-by: Ren Wei \u003cn05ec@lzu.edu.cn\u003e\nAssisted-by: Codex:gpt-5.4\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f65291eba1f68cb1368d9f75d95705d611ebe7ec",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_input.c",
      "new_id": "e4c2cd24936d3f8f94ce8b83e46a774e633ff3ac",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_input.c"
    }
  ]
}
