)]}'
{
  "commit": "8b81bb3b069d4007bc44c8d5888d630b7f0b42ff",
  "tree": "ff4dbda5478a0b0d3367a776a2b60762ffc6dc59",
  "parents": [
    "dd98b71f4885814de9a64e7acc0e17b38ab7c38b"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Fri Jul 04 11:43:49 2014 +0200"
  },
  "committer": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Sun Jul 06 09:13:54 2014 +0300"
  },
  "message": "virtio-pci: fix MSI memory region use after free\n\nAfter memory region QOMification QEMU is stricter in detecting\nwrong usage of the memory region API.  Here it detected a\nmemory_region_destroy done before the corresponding\nmemory_region_del_subregion; the memory_region_destroy is\ndone by msix_uninit_exclusive_bar, the memory_region_del_subregion\nis done by the PCI core\u0027s pci_unregister_io_regions before\npc-\u003eexit is called.\n\nThe problem was introduced by\ncommit 06a1307379fcd6c551185ad87679cd7ed896b9ea\n    virtio-pci: add device_unplugged callback\nAs noted in that commit log, virtio device kick callbacks need to be\nstopped before generic virtio is cleaned up. This is because these are\nnotifications from pci proxy to the generic virtio device so they need\nto be stopped in the unplug call before the virtio device is unrealized.\nHowever interrupts are notifications from the virtio device to\nthe pci proxy so they need to stay around while the device\nis realized.\n\nThe memory API misuse caused an assertion when hot-unplugging virtio\ndevices.  Using the API correctly fixes the assertion.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nReviewed-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "710272808fbadbb9fe0e0a804b1d49503f86dfa0",
      "old_mode": 33188,
      "old_path": "hw/virtio/virtio-pci.c",
      "new_id": "30073197407d8914ad0b7e8ae817946694b14e6a",
      "new_mode": 33188,
      "new_path": "hw/virtio/virtio-pci.c"
    }
  ]
}
