)]}'
{
  "commit": "c78a87d0a1fc885dfdbe21fd5e07787691dfb068",
  "tree": "73f6056f87cd9183e04f3b9f6a4245876cf0cb23",
  "parents": [
    "a566a6b11c86147fe9fc9db7ab15f9eecca3e862"
  ],
  "author": {
    "name": "David Teigland",
    "email": "teigland@redhat.com",
    "time": "Thu Jun 18 13:20:24 2009 -0500"
  },
  "committer": {
    "name": "David Teigland",
    "email": "teigland@redhat.com",
    "time": "Thu Jun 18 13:42:42 2009 -0500"
  },
  "message": "dlm: fix plock use-after-free\n\nFix a regression from the original addition of nfs lock support\n586759f03e2e9031ac5589912a51a909ed53c30a.  When a synchronous\n(non-nfs) plock completes, the waiting thread will wake up and\nfree the op struct.  This races with the user thread in\ndev_write() which goes on to read the op\u0027s callback field to\ncheck if the lock is async and needs a callback.  This check\ncan happen on the freed op.  The fix is to note the callback\nvalue before the op can be freed.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "894a32d438d5094bb9f1882825f5f01f12f096d7",
      "old_mode": 33188,
      "old_path": "fs/dlm/plock.c",
      "new_id": "16f682e26c07e49493e8a667a6b36cf0cf9f6bb6",
      "new_mode": 33188,
      "new_path": "fs/dlm/plock.c"
    }
  ]
}
