)]}'
{
  "commit": "8f01bd7cad431636ba9b859cd3fb0f169e55a58c",
  "tree": "43025c6764203b83530e8728f017b3f916a2f65e",
  "parents": [
    "ff6e7c064f96e867e26d16e4383100b430575e84"
  ],
  "author": {
    "name": "John Johansen",
    "email": "john.johansen@canonical.com",
    "time": "Sun Mar 01 16:10:51 2026 -0800"
  },
  "committer": {
    "name": "Robert Kolchmeyer",
    "email": "rkolchmeyer@google.com",
    "time": "Fri Mar 13 13:34:30 2026 -0700"
  },
  "message": "apparmor: fix race between freeing data and fs accessing it\n\ncommit 8e135b8aee5a06c52a4347a5a6d51223c6f36ba3 upstream.\n\nAppArmor was putting the reference to i_private data on its end after\nremoving the original entry from the file system. However the inode\ncan aand does live beyond that point and it is possible that some of\nthe fs call back functions will be invoked after the reference has\nbeen put, which results in a race between freeing the data and\naccessing it through the fs.\n\nWhile the rawdata/loaddata is the most likely candidate to fail the\nrace, as it has the fewest references. If properly crafted it might be\npossible to trigger a race for the other types stored in i_private.\n\nFix this by moving the put of i_private referenced data to the correct\nplace which is during inode eviction.\n\nBUG\u003dNone\nTEST\u003dpresubmit\nRELEASE_NOTE\u003dFixed the \"CrackArmor\" vulnerability in the Linux kernel.\n\ncos-patch: security-high\nFixes: c961ee5f21b20 (\"apparmor: convert from securityfs to apparmorfs for policy ns files\")\nReported-by: Qualys Security Advisory \u003cqsa@qualys.com\u003e\nReviewed-by: Georgia Garcia \u003cgeorgia.garcia@canonical.com\u003e\nReviewed-by: Maxime Bélair \u003cmaxime.belair@canonical.com\u003e\nReviewed-by: Cengiz Can \u003ccengiz.can@canonical.com\u003e\nChange-Id: I609b901d5aee9aff6b28dc6b52eb1ca8e879eecd\nSigned-off-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n(cherry picked from commit eecce026399917f6efa532c56bc7a3e9dd6ee68b)\nSigned-off-by: Robert Kolchmeyer \u003crkolchmeyer@google.com\u003e\nReviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/137851\nReviewed-by: He Gao \u003chegao@google.com\u003e\nTested-by: Cusky Presubmit Bot \u003cpresubmit@cos-infra-prod.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2cee8cc169b327e82f3a2aa210e0357378153761",
      "old_mode": 33188,
      "old_path": "security/apparmor/apparmorfs.c",
      "new_id": "c12406e62e58cd6ddf80e89347d5866823cd5dcf",
      "new_mode": 33188,
      "new_path": "security/apparmor/apparmorfs.c"
    },
    {
      "type": "modify",
      "old_id": "2a72e6b17d68bc7affb6f13b553ea2c17a6cc90c",
      "old_mode": 33188,
      "old_path": "security/apparmor/include/label.h",
      "new_id": "5aca0f612f8fd698adec350f1de6717d9a75b278",
      "new_mode": 33188,
      "new_path": "security/apparmor/include/label.h"
    },
    {
      "type": "modify",
      "old_id": "1ec00113a056fca17cfc5a15136941194dfb9c0b",
      "old_mode": 33188,
      "old_path": "security/apparmor/include/lib.h",
      "new_id": "e76470c8b84c2c8c51266c2f4c2ada128ba62131",
      "new_mode": 33188,
      "new_path": "security/apparmor/include/lib.h"
    },
    {
      "type": "modify",
      "old_id": "b8c35972883ce70e9347b4d92ff7fb311089a58e",
      "old_mode": 33188,
      "old_path": "security/apparmor/include/policy.h",
      "new_id": "dbd6af6034f193543f4ae6c8b9316583b3ba143a",
      "new_mode": 33188,
      "new_path": "security/apparmor/include/policy.h"
    },
    {
      "type": "modify",
      "old_id": "4f800fbb805a5b50f037141e31683fdf609c26c1",
      "old_mode": 33188,
      "old_path": "security/apparmor/include/policy_unpack.h",
      "new_id": "e5a95dc4da1f769594b1e94362fa4708517f6a63",
      "new_mode": 33188,
      "new_path": "security/apparmor/include/policy_unpack.h"
    },
    {
      "type": "modify",
      "old_id": "af25ca6b6b83f73011ec09ce6810ed5de95c4b78",
      "old_mode": 33188,
      "old_path": "security/apparmor/label.c",
      "new_id": "3bcc45437b44728f6365d1ef391205faca83567c",
      "new_mode": 33188,
      "new_path": "security/apparmor/label.c"
    },
    {
      "type": "modify",
      "old_id": "a24618e590c549e36758044131e595f2e50c7aa7",
      "old_mode": 33188,
      "old_path": "security/apparmor/policy_unpack.c",
      "new_id": "46420587bcd52333cc989721a84da92079e3f487",
      "new_mode": 33188,
      "new_path": "security/apparmor/policy_unpack.c"
    }
  ]
}
