)]}'
{
  "commit": "e9571ed54b2a290d61b98ad6f369f963159fe6da",
  "tree": "8767ba834196c08da817e545542ff5a681df96e8",
  "parents": [
    "62d9f0dbc92d7e398fde53fc6021338393522e68"
  ],
  "author": {
    "name": "Marcelo Tosatti",
    "email": "mtosatti@redhat.com",
    "time": "Fri Apr 11 15:01:22 2008 -0300"
  },
  "committer": {
    "name": "Avi Kivity",
    "email": "avi@qumranet.com",
    "time": "Sun Apr 27 18:21:32 2008 +0300"
  },
  "message": "KVM: fix kvm_vcpu_kick vs __vcpu_run race\n\nThere is a window open between testing of pending IRQ\u0027s\nand assignment of guest_mode in __vcpu_run.\n\nInjection of IRQ\u0027s can race with __vcpu_run as follows:\n\nCPU0                                CPU1\nkvm_x86_ops-\u003erun()\nvcpu-\u003eguest_mode \u003d 0                SET_IRQ_LINE ioctl\n..\nkvm_x86_ops-\u003einject_pending_irq\nkvm_cpu_has_interrupt()\n\n                                    apic_test_and_set_irr()\n                                    kvm_vcpu_kick\n                                    if (vcpu-\u003eguest_mode)\n                                        send_ipi()\n\nvcpu-\u003eguest_mode \u003d 1\n\nSo move guest_mode\u003d1 assignment before -\u003einject_pending_irq, and make\nsure that it won\u0027t reorder after it.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5c3c9d38c78022dedbdab973854e92b1c7b21e09",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/x86.c",
      "new_id": "0ce556372a4d1df614499224a634f4967afc8eb3",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/x86.c"
    }
  ]
}
