)]}'
{
  "commit": "fa40a8214bb9bcae8d49c234c19d8b4a6c1f37ff",
  "tree": "6449f27072f128a1c39faaaeef1787f754345aaf",
  "parents": [
    "60eead79ad8750f80384cbe48fc44edcc78a0305"
  ],
  "author": {
    "name": "Marcelo Tosatti",
    "email": "mtosatti@redhat.com",
    "time": "Thu Jun 04 15:08:24 2009 -0300"
  },
  "committer": {
    "name": "Avi Kivity",
    "email": "avi@redhat.com",
    "time": "Thu Sep 10 08:32:49 2009 +0300"
  },
  "message": "KVM: switch irq injection/acking data structures to irq_lock\n\nProtect irq injection/acking data structures with a separate irq_lock\nmutex. This fixes the following deadlock:\n\nCPU A                               CPU B\nkvm_vm_ioctl_deassign_dev_irq()\n  mutex_lock(\u0026kvm-\u003elock);            worker_thread()\n  -\u003e kvm_deassign_irq()                -\u003e kvm_assigned_dev_interrupt_work_handler()\n    -\u003e deassign_host_irq()               mutex_lock(\u0026kvm-\u003elock);\n      -\u003e cancel_work_sync() [blocked]\n\n[gleb: fix ia64 path]\n\nReported-by: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "319922137fddece92552d55f395d2c9b5cc66871",
      "old_mode": 33188,
      "old_path": "arch/ia64/kvm/kvm-ia64.c",
      "new_id": "8dde36953af3b00081a18d0c90f0a1d197dd052d",
      "new_mode": 33188,
      "new_path": "arch/ia64/kvm/kvm-ia64.c"
    },
    {
      "type": "modify",
      "old_id": "977af7ab8193eaffe60a0fe4a1b6de1c98a495d3",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/i8254.c",
      "new_id": "3837db65d33ef31c0314e3f5ab500b37145e9873",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/i8254.c"
    },
    {
      "type": "modify",
      "old_id": "a23f42e550af8d235a4ca9ff206279e4638b1c53",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/lapic.c",
      "new_id": "44f20cdb57099a01100887936ab519b894ae4fcb",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/lapic.c"
    },
    {
      "type": "modify",
      "old_id": "2ad8c97f58cc9f44ee9dfab4cf86cb2499983c0a",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/x86.c",
      "new_id": "05cbe83c74e275a2ca4fded270e43f6cca394c84",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/x86.c"
    },
    {
      "type": "modify",
      "old_id": "0c71688b1ee3049b8a5eb116a07b5198f74fab62",
      "old_mode": 33188,
      "old_path": "include/linux/kvm_host.h",
      "new_id": "a29ea030dd8e5192e5e1bb3cf3051c1e8e29db64",
      "new_mode": 33188,
      "new_path": "include/linux/kvm_host.h"
    },
    {
      "type": "modify",
      "old_id": "314012323afecf0fa8bfe99c80bf7eb9ae8a2c3d",
      "old_mode": 33188,
      "old_path": "virt/kvm/eventfd.c",
      "new_id": "4092b8dcd510cb433c58be1bb467e9e7b4dcd004",
      "new_mode": 33188,
      "new_path": "virt/kvm/eventfd.c"
    },
    {
      "type": "modify",
      "old_id": "ddc17f0e2f353f86c9ff831354a26bb9f76a76f7",
      "old_mode": 33188,
      "old_path": "virt/kvm/irq_comm.c",
      "new_id": "08a9a49481b2ee765058c8915ad9b4cdab3dfc8c",
      "new_mode": 33188,
      "new_path": "virt/kvm/irq_comm.c"
    },
    {
      "type": "modify",
      "old_id": "d47e660fb709aab04a45eb680a4f062a3eec2c5e",
      "old_mode": 33188,
      "old_path": "virt/kvm/kvm_main.c",
      "new_id": "0d481b28244805062194c4b1bec5c06064f9a9fd",
      "new_mode": 33188,
      "new_path": "virt/kvm/kvm_main.c"
    }
  ]
}
