)]}'
{
  "commit": "96b22d4902a83cb9cce0a84a33ad1d5e4efabdcf",
  "tree": "a95dae334bcbade4d2a4aac3cc9aed73e263be8a",
  "parents": [
    "c744ab276b8398363f2d8067700e332a14d98ac2"
  ],
  "author": {
    "name": "David Chisnall",
    "email": "github@theravensnest.org",
    "time": "Wed Aug 14 17:25:24 2024 +0100"
  },
  "committer": {
    "name": "David Chisnall",
    "email": "davidchisnall@users.noreply.github.com",
    "time": "Thu Aug 15 13:45:36 2024 +0100"
  },
  "message": "Reduce the permissions on hazard pointers.\n\nThe allocator is happy with just load + capability permissions.  Without\nstore, it can\u0027t accidentally damage hazard lists.  Without load-mutable,\nit can\u0027t accidentally load a writeable capability.\n\nThis is purely defence in depth.  The allocator can still write to any\nheap memory, so not being able to load mutable capabilities doesn\u0027t\nrestrict what it can do.  The allocator can still ignore hazard\npointers, so not being able to write them is also no reduction in\nability.  It simply constrains where bugs must be.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "010d57f0192da7cddeaeeac43346b58c2f3fa434",
      "old_mode": 33188,
      "old_path": "sdk/core/allocator/alloc.h",
      "new_id": "1e890eaa170eb4d27e03ef051a81d01d50f25aa9",
      "new_mode": 33188,
      "new_path": "sdk/core/allocator/alloc.h"
    },
    {
      "type": "modify",
      "old_id": "00f7989445f4746210797d1522215902b704e0b6",
      "old_mode": 33188,
      "old_path": "sdk/core/allocator/main.cc",
      "new_id": "8f5776f44422d0ce19961d0ad6ea82765715cdae",
      "new_mode": 33188,
      "new_path": "sdk/core/allocator/main.cc"
    }
  ]
}
