)]}'
{
  "commit": "6592f710e4e1890a8a71e157266060bceacef6dd",
  "tree": "6b13884d0577407ef456ee3ae301a6327b75c10a",
  "parents": [
    "4dec497264c2e03b32fc82d6f24a694661b14d64"
  ],
  "author": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Aug 26 18:49:56 2025 +0100"
  },
  "committer": {
    "name": "Philippe Mathieu-Daudé",
    "email": "philmd@linaro.org",
    "time": "Tue Sep 02 17:57:05 2025 +0200"
  },
  "message": "hw/display/xlnx_dp: Don\u0027t leak dpcd and edid objects\n\nIn the xnlx_dp_init() function we create the s-\u003edpcd and\ns-\u003eedid objects with qdev_new(); then in xlnx_dp_realize()\nwe realize the dpcd with qdev_realize() and the edid with\nqdev_realize_and_unref().\n\nThis is inconsistent, and both ways result in a memory\nleak for the instance_init -\u003e deinit lifecycle tested\nby device-introspect-test:\n\nIndirect leak of 1968 byte(s) in 1 object(s) allocated from:\n    #0 0x5aded4d54e23 in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/qemu-system-aarch64+0x24ffe23) (BuildId: 9f1e6c5\n3fecd904ba5fc1f521d7da080a0e4103b)\n    #1 0x71fbfac9bb09 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)\n    #2 0x5aded7b9211c in object_new_with_type /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:767:15\n    #3 0x5aded7b92240 in object_new /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:789:12\n    #4 0x5aded7b773e4 in qdev_new /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/core/qdev.c:149:19\n    #5 0x5aded54458be in xlnx_dp_init /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/display/xlnx_dp.c:1272:20\n\nDirect leak of 344 byte(s) in 1 object(s) allocated from:\n    #0 0x5aded4d54e23 in malloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/qemu-system-aarch64+0x24ffe23) (BuildId: 9f1e6c53fecd904ba5fc1f521d7da080a0e4103b)\n    #1 0x71fbfac9bb09 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x62b09) (BuildId: 1eb6131419edb83b2178b682829a6913cf682d75)\n    #2 0x5aded7b9211c in object_new_with_type /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:767:15\n    #3 0x5aded7b92240 in object_new /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../qom/object.c:789:12\n    #4 0x5aded7b773e4 in qdev_new /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/core/qdev.c:149:19\n    #5 0x5aded5445a56 in xlnx_dp_init /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-asan/../../hw/display/xlnx_dp.c:1275:22\n\nInstead, explicitly object_unref() after we have added the objects as\nchild properties of the device.  This means they will automatically\nbe freed when this device is deinited.  When we do this,\nqdev_realize() is the correct way to realize them in\nxlnx_dp_realize().\n\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nReviewed-by: Francisco Iglesias \u003cfrancisco.iglesias@amd.com\u003e\nReviewed-by: Manos Pitsidianakis \u003cmanos.pitsidianakis@linaro.org\u003e\nReviewed-by: Edgar E. Iglesias \u003cedgar.iglesias@amd.com\u003e\nMessage-ID: \u003c20250826174956.3010274-3-peter.maydell@linaro.org\u003e\nSigned-off-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c980ee6423d0dc319499d2c0422eeb1c552d65c",
      "old_mode": 33188,
      "old_path": "hw/display/xlnx_dp.c",
      "new_id": "ef73e1815fc18cdd3780390c3e526fc4b118254a",
      "new_mode": 33188,
      "new_path": "hw/display/xlnx_dp.c"
    }
  ]
}
