)]}'
{
  "commit": "84261923d3dddb766736023bead6fa07b7e218d5",
  "tree": "23a0c4af14dd9c548c5bcb457c74fdd980e2312e",
  "parents": [
    "29a4b9333bf9ffef12b3dd7cbf2e3dbe01152968"
  ],
  "author": {
    "name": "Marcelo Tosatti",
    "email": "mtosatti@redhat.com",
    "time": "Wed Jun 17 10:53:47 2009 -0300"
  },
  "committer": {
    "name": "Avi Kivity",
    "email": "avi@redhat.com",
    "time": "Sun Jun 28 14:10:29 2009 +0300"
  },
  "message": "KVM: protect concurrent make_all_cpus_request\n\nmake_all_cpus_request contains a race condition which can\ntrigger false request completed status, as follows:\n\nCPU0                                              CPU1\n\nif (test_and_set_bit(req,\u0026vcpu-\u003erequests))\n   ....                                        \t   if (test_and_set_bit(req,\u0026vcpu-\u003erequests))\n   ..                                                  return\nproceed to smp_call_function_many(wait\u003d1)\n\nUse a spinlock to serialize concurrent CPUs.\n\nCc: stable@kernel.org\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aacc5449f586376a6551518c2a946a7a151ada46",
      "old_mode": 33188,
      "old_path": "include/linux/kvm_host.h",
      "new_id": "16713dc672e4215b4ae2b092980181cdf29a12e4",
      "new_mode": 33188,
      "new_path": "include/linux/kvm_host.h"
    },
    {
      "type": "modify",
      "old_id": "013a5b3e9f75cd473832cb63d81723198e23063d",
      "old_mode": 33188,
      "old_path": "virt/kvm/kvm_main.c",
      "new_id": "2884baf1d5f919a8e72183be0d390e632da4a385",
      "new_mode": 33188,
      "new_path": "virt/kvm/kvm_main.c"
    }
  ]
}
