)]}'
{
  "commit": "cc967be54710d97c05229b2e5ba2d00df84ddd64",
  "tree": "f2b5f79ee07f16abe92f27c6663dea4339d2f437",
  "parents": [
    "ea635c64e007061f6468ece5cc9cc62d41d4ecf2"
  ],
  "author": {
    "name": "Julia Lawall",
    "email": "julia@diku.dk",
    "time": "Wed May 26 17:54:39 2010 +0200"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Thu May 27 22:03:09 2010 -0400"
  },
  "message": "fs: Add missing mutex_unlock\n\nAdd a mutex_unlock missing on the error path.  At other exists from the\nfunction that return an error flag, the mutex is unlocked, so do the same\nhere.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression E1;\n@@\n\n* mutex_lock(E1,...);\n  \u003c+... when !\u003d E1\n  if (...) {\n    ... when !\u003d E1\n*   return ...;\n  }\n  ...+\u003e\n* mutex_unlock(E1,...);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d79872eba09a56a03ade25f28a9d9cc8c8b86cb8",
      "old_mode": 33188,
      "old_path": "fs/pipe.c",
      "new_id": "60da077400f1ddcc7c97abf3bc524912cc22c579",
      "new_mode": 33188,
      "new_path": "fs/pipe.c"
    }
  ]
}
