)]}'
{
  "commit": "0ffaa1bc65afe89985bcf3f0c9f564c6b09e3091",
  "tree": "937c6c5630f30f3cc33d803fdf4243604d0e12e4",
  "parents": [
    "5b1e739428fecb1bb107276442143fb18e4003f4"
  ],
  "author": {
    "name": "Chen Pei",
    "email": "cp0613@linux.alibaba.com",
    "time": "Mon Aug 17 16:43:03 2026 +0800"
  },
  "committer": {
    "name": "Anup Patel",
    "email": "anup@brainfault.org",
    "time": "Mon Sep 28 11:41:25 2026 +0530"
  },
  "message": "lib/utils/fdt: Reserve exactly enough FDT space for fdt_cpu_fixup\n\nfdt_cpu_fixup() reserves a hardcoded 32 extra bytes, plus 16 more per\nHART inside the \"zicntr\" loop. Those 32 bytes also have to cover every\n\"status\" property rewritten to \"disabled\", so once more than a handful\nof HARTs are disabled the fixups fail with FDT_ERR_NOSPACE (-3).\n\nBumping the reservation to a fixed worst case is not safe either:\nfdt_open_into() cannot know how much space the caller\u0027s buffer really\nhas, it just trusts the requested size. As OpenSBI does not own the\nmemory following a device tree passed in by the previous booting stage,\nover-declaring the blob risks corrupting whatever follows it.\n\nWalk the HART nodes once without modifying them instead, and reserve\nexactly what the fixups need. The read-only decision logic is factored\ninto fdt_cpu_fixup_needed() so the sizing and fixup passes cannot drift\napart, which also makes the per-HART fdt_open_into() redundant. Check\nthe return values of fdt_setprop_string() and fdt_appendprop_string()\nas well, as running out of space used to fail silently.\n\nFixes: dd9439fbace2 (\"lib: utils: Add a fdt_cpu_fixup() helper\")\nSigned-off-by: Chen Pei \u003ccp0613@linux.alibaba.com\u003e\nReviewed-by: Anup Patel \u003canup@brainfault.org\u003e\nLink: https://lore.kernel.org/r/20260817084303.1232-1-cp0613@linux.alibaba.com\nSigned-off-by: Anup Patel \u003canup@brainfault.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b0ed20c85144d83575a0a7fb01103bdc235a8b2d",
      "old_mode": 33188,
      "old_path": "lib/utils/fdt/fdt_fixup.c",
      "new_id": "23899c0e7db8555e39308770eb1f1f60e7d25ba5",
      "new_mode": 33188,
      "new_path": "lib/utils/fdt/fdt_fixup.c"
    }
  ]
}
