)]}'
{
  "commit": "ebbf7c60bbd1ceedf9faf962e428ceda2388c248",
  "tree": "4be9b60740cee33015e4265d1f1a6a509638b795",
  "parents": [
    "66650fd0cc67e11f84521a114a7cbc8a8a5033ff"
  ],
  "author": {
    "name": "Cédric Le Goater",
    "email": "clg@redhat.com",
    "time": "Fri Nov 15 09:34:40 2024 +0100"
  },
  "committer": {
    "name": "Cédric Le Goater",
    "email": "clg@redhat.com",
    "time": "Mon Nov 18 08:40:06 2024 +0100"
  },
  "message": "vfio/container: Fix container object destruction\n\nWhen commit 96b7af4388b3 intoduced a .instance_finalize() handler,\nit did not take into account that the container was not necessarily\ninserted into the container list of the address space. Hence, if\nthe container object is destroyed, by calling object_unref() for\nexample, before vfio_address_space_insert() is called, QEMU may\ncrash when removing the container from the list as done in\nvfio_container_instance_finalize(). This was seen with an SEV-SNP\nguest for which discarding of RAM fails.\n\nTo resolve this issue, use the safe version of QLIST_REMOVE().\n\nCc: Zhenzhong Duan \u003czhenzhong.duan@intel.com\u003e\nCc: Eric Auger \u003ceric.auger@redhat.com\u003e\nFixes: 96b7af4388b3 (\"vfio/container: Move vfio_container_destroy() to an instance_finalize() handler\")\nReviewed-by: Zhenzhong Duan \u003czhenzhong.duan@intel.com\u003e\nSigned-off-by: Cédric Le Goater \u003cclg@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "809b15767425a48f2404b08fc409ee5684af2094",
      "old_mode": 33188,
      "old_path": "hw/vfio/container-base.c",
      "new_id": "6f86c37d971ec38426dacd471bca837c0d0df806",
      "new_mode": 33188,
      "new_path": "hw/vfio/container-base.c"
    }
  ]
}
