)]}'
{
  "commit": "ff6e798c2eac3ebd0501ad7e796f583fab928de8",
  "tree": "d3a7c5c004e21d60fe354db604d20e7d1e3f4f32",
  "parents": [
    "9c7da87c2dc860bb17ca1ece942495d28b1ce3b9"
  ],
  "author": {
    "name": "Pavel Begunkov",
    "email": "asml.silence@gmail.com",
    "time": "Thu May 28 19:43:53 2026 +0100"
  },
  "committer": {
    "name": "Jakub Kicinski",
    "email": "kuba@kernel.org",
    "time": "Fri May 29 12:55:27 2026 -0700"
  },
  "message": "net: skbuff: fix pskb_carve leaking zcopy pages\n\nWhen SKBFL_MANAGED_FRAG_REFS is set, frag pages are not refcounted but\ntheir lifetime is controlled by the attached ubuf_info. To make a copy\nof the skb_shared_info, we either should clear the flag and reference\nthe frags, or keep the flag and have frags unreferenced.\n\npskb_carve_inside_header() and pskb_carve_inside_nonlinear() don\u0027t\nfollow the rule and thus can leak page references. Let\u0027s clear\nSKBFL_MANAGED_FRAG_REFS from the original skb to fix it. It\u0027s the\nsimplest way to address it, but there are more performant ways to do\nthat if it ever becomes a problem.\n\nLink: https://lore.kernel.org/all/20260523085809.26331-1-nvminh232@clc.fitus.edu.vn/\nFixes: 753f1ca4e1e50 (\"net: introduce managed frags infrastructure\")\nReported-by: Minh Nguyen \u003cminhnguyen.080505@gmail.com\u003e\nReported-by: Willem de Bruijn \u003cwillemdebruijn.kernel@gmail.com\u003e\nSigned-off-by: Pavel Begunkov \u003casml.silence@gmail.com\u003e\nReviewed-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nLink: https://patch.msgid.link/1e2086aa69217d7f9c8da3d38f5be7160f1b4cd1.1779993185.git.asml.silence@gmail.com\nSigned-off-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d3cc115f2e7bc58dbb8f399f4a9c75d7cb44842",
      "old_mode": 33188,
      "old_path": "net/core/skbuff.c",
      "new_id": "c02f0a507ba8c429f55471522dcf1f25c849d9eb",
      "new_mode": 33188,
      "new_path": "net/core/skbuff.c"
    }
  ]
}
