)]}'
{
  "commit": "04c44a080d2f699a3042d4e743f7ad2ffae9d538",
  "tree": "f198aa2f653a8b2cd0e4d33ccc68587e9027cd81",
  "parents": [
    "5abbcf29928966b28d70f8a0da424f55582f8603"
  ],
  "author": {
    "name": "Jeremy Fitzhardinge",
    "email": "jeremy@goop.org",
    "time": "Mon Mar 17 16:36:52 2008 -0700"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Thu Mar 27 16:08:45 2008 +0100"
  },
  "message": "xen: fix RMW when unmasking events\n\nxen_irq_enable_direct and xen_sysexit were using \"andw $0x00ff,\nXEN_vcpu_info_pending(vcpu)\" to unmask events and test for pending ones\nin one instuction.\n\nUnfortunately, the pending flag must be modified with a locked operation\nsince it can be set by another CPU, and the unlocked form of this\noperation was causing the pending flag to get lost, allowing the processor\nto return to usermode with pending events and ultimately deadlock.\n\nThe simple fix would be to make it a locked operation, but that\u0027s rather\ncostly and unnecessary.  The fix here is to split the mask-clearing and\npending-testing into two instructions; the interrupt window between\nthem is of no concern because either way pending or new events will\nbe processed.\n\nThis should fix lingering bugs in using direct vcpu structure access too.\n\n[ Stable: needed in 2.6.24.x ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b9ee27805fdd10be4cb19b082131745d1c4a670",
      "old_mode": 33188,
      "old_path": "arch/x86/xen/enlighten.c",
      "new_id": "1a20318c8cfffe850899ce9bdf8b4a467174ee35",
      "new_mode": 33188,
      "new_path": "arch/x86/xen/enlighten.c"
    },
    {
      "type": "modify",
      "old_id": "1a43b60c0c62533cf481d50591166d6530b35f32",
      "old_mode": 33188,
      "old_path": "arch/x86/xen/xen-asm.S",
      "new_id": "6b7190449d07950b7cb869e2cca829497bf132af",
      "new_mode": 33188,
      "new_path": "arch/x86/xen/xen-asm.S"
    }
  ]
}
