)]}'
{
  "commit": "2fccd796b687dd10fc40c794fafefdcc3af48570",
  "tree": "cd788b7ca31b223d0604a0caf1dda07fd3ed947e",
  "parents": [
    "a5b3a66fecc127820144a1f611b142526119e316"
  ],
  "author": {
    "name": "Sabrina Dubroca",
    "email": "sd@queasysnail.net",
    "time": "Fri Jul 04 16:54:33 2025 +0200"
  },
  "committer": {
    "name": "Cloud Image Release",
    "email": "cloud-image-release@prod.google.com",
    "time": "Tue Nov 25 16:31:10 2025 -0800"
  },
  "message": "xfrm: delete x-\u003etunnel as we delete x\n\n[ Upstream commit b441cf3f8c4b8576639d20c8eb4aa32917602ecd ]\n\nThe ipcomp fallback tunnels currently get deleted (from the various\nlists and hashtables) as the last user state that needed that fallback\nis destroyed (not deleted). If a reference to that user state still\nexists, the fallback state will remain on the hashtables/lists,\ntriggering the WARN in xfrm_state_fini. Because of those remaining\nreferences, the fix in commit f75a2804da39 (\"xfrm: destroy xfrm_state\nsynchronously on net exit path\") is not complete.\n\nWe recently fixed one such situation in TCP due to defered freeing of\nskbs (commit 9b6412e6979f (\"tcp: drop secpath at the same time as we\ncurrently drop dst\")). This can also happen due to IP reassembly: skbs\nwith a secpath remain on the reassembly queue until netns\ndestruction. If we can\u0027t guarantee that the queues are flushed by the\ntime xfrm_state_fini runs, there may still be references to a (user)\nxfrm_state, preventing the timely deletion of the corresponding\nfallback state.\n\nInstead of chasing each instance of skbs holding a secpath one by one,\nthis patch fixes the issue directly within xfrm, by deleting the\nfallback state as soon as the last user state depending on it has been\ndeleted. Destruction will still happen when the final reference is\ndropped.\n\nA separate lockdep class for the fallback state is required since\nwe\u0027re going to lock x-\u003etunnel while x is locked.\n\nBUG\u003db/463292910\nTEST\u003dpresubmit\nRELEASE_NOTE\u003dFixed KCTF-b441cf3 in the Linux kernel.\n\ncos-patch: security-high\nFixes: 9d4139c76905 (\"netns xfrm: per-netns xfrm_state_all list\")\nSigned-off-by: Sabrina Dubroca \u003csd@queasysnail.net\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nChange-Id: I8163548bbc6bfb8cd4d90b98127ebc65a0446016\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/119385\nReviewed-by: He Gao \u003chegao@google.com\u003e\nReviewed-by: Miri Amarilio \u003cmirilio@google.com\u003e\nTested-by: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nMain-Branch-Verified: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/119396\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64911162ab5f44957424180d824f9bcd91e420f4",
      "old_mode": 33188,
      "old_path": "include/net/xfrm.h",
      "new_id": "589c767615beee64e5c751e3ae57a76fbeed6df8",
      "new_mode": 33188,
      "new_path": "include/net/xfrm.h"
    },
    {
      "type": "modify",
      "old_id": "5a4fb2539b08b60212a42638a8e6c4e39eaa472c",
      "old_mode": 33188,
      "old_path": "net/ipv4/ipcomp.c",
      "new_id": "9a45aed508d193de4f443a58a4d41cc8f6f93c85",
      "new_mode": 33188,
      "new_path": "net/ipv4/ipcomp.c"
    },
    {
      "type": "modify",
      "old_id": "72d4858dec18a0b985171c7ddda70e073aa0ac9d",
      "old_mode": 33188,
      "old_path": "net/ipv6/ipcomp6.c",
      "new_id": "8607569de34f3af5aa6354bec28746388b5d0c0f",
      "new_mode": 33188,
      "new_path": "net/ipv6/ipcomp6.c"
    },
    {
      "type": "modify",
      "old_id": "1323f2f6928e2abf277e9ce7bd06025cd0049031",
      "old_mode": 33188,
      "old_path": "net/ipv6/xfrm6_tunnel.c",
      "new_id": "1702b4de1c1ef8f45748297872085da2ce7f5380",
      "new_mode": 33188,
      "new_path": "net/ipv6/xfrm6_tunnel.c"
    },
    {
      "type": "modify",
      "old_id": "80143360bf0955420b97ebe3f7538c1fda14b217",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_ipcomp.c",
      "new_id": "7471f22a08ad2405098860e15b5428435e686fed",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_ipcomp.c"
    },
    {
      "type": "modify",
      "old_id": "58c53bb1c58381d6b4c48990e06cf346d48a19f6",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_state.c",
      "new_id": "42c7224d763f2098b688807ac136fb8b4ed94d00",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_state.c"
    }
  ]
}
