)]}'
{
  "commit": "cb365646a942ed58aae053064b2048a415337ba2",
  "tree": "1c032ed0e7f61274484dcd13b7d73684649d3331",
  "parents": [
    "ea753d81e8b085d679f13e4a6023e003e9854d51"
  ],
  "author": {
    "name": "Liu Ping Fan",
    "email": "qemulist@gmail.com",
    "time": "Wed Sep 25 14:20:58 2013 +0800"
  },
  "committer": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu Oct 17 17:30:52 2013 +0200"
  },
  "message": "timer: protect timers_state\u0027s clock with seqlock\n\nQEMU_CLOCK_VIRTUAL may be read outside BQL. This will make its\nfoundation, i.e. cpu_clock_offset exposed to race condition.\nUsing private lock to protect it.\n\nAfter this patch, reading QEMU_CLOCK_VIRTUAL is thread safe\nunless use_icount is true, in which case the existing callers\nstill rely on the BQL.\n\nLock rule: private lock innermost, ie BQL-\u003e\"this lock\"\n\nSigned-off-by: Liu Ping Fan \u003cpingfank@linux.vnet.ibm.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e566297bd30c12d81724221b0cccb83ba66c86ac",
      "old_mode": 33188,
      "old_path": "cpus.c",
      "new_id": "f07533530c0453e0506ff65edf081dbf527da4d0",
      "new_mode": 33188,
      "new_path": "cpus.c"
    },
    {
      "type": "modify",
      "old_id": "b58903bef583d8c1c3bec363c8e7be78f0764b98",
      "old_mode": 33188,
      "old_path": "include/qemu/timer.h",
      "new_id": "016e29ae95b73401456bd0f6037ce648d4272d68",
      "new_mode": 33188,
      "new_path": "include/qemu/timer.h"
    }
  ]
}
