)]}'
{
  "commit": "3b1253880b7a9e6db54b943b2d40bcf2202f58ab",
  "tree": "5301be7b4d4310faa8db5a0d027b81421e36570e",
  "parents": [
    "fd8328be874f4190a811c58cd4778ec2c74d2c05"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Tue Apr 22 05:31:30 2008 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Fri Apr 25 09:23:59 2008 -0400"
  },
  "message": "[PATCH] sanitize unshare_files/reset_files_struct\n\n* let unshare_files() give caller the displaced files_struct\n* don\u0027t bother with grabbing reference only to drop it in the\n  caller if it hadn\u0027t been shared in the first place\n* in that form unshare_files() is trivially implemented via\n  unshare_fd(), so we eliminate the duplicate logics in fork.c\n* reset_files_struct() is not just only called for current;\n  it will break the system if somebody ever calls it for anything\n  else (we can\u0027t modify -\u003efiles of somebody else).  Lose the\n  task_struct * argument.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "475543002f13847ad7e2ef42eac0d1313c7a837a",
      "old_mode": 33188,
      "old_path": "fs/exec.c",
      "new_id": "b152029f18f61e68e260d63bab4a9720f2e31ab6",
      "new_mode": 33188,
      "new_path": "fs/exec.c"
    },
    {
      "type": "modify",
      "old_id": "653477021e4c545b9f4dcc983587ceb26eb11eac",
      "old_mode": 33188,
      "old_path": "include/linux/file.h",
      "new_id": "69baf5a4f0a582cfeb061af5735e4a2d70e701e6",
      "new_mode": 33188,
      "new_path": "include/linux/file.h"
    },
    {
      "type": "modify",
      "old_id": "ad41d0bbcb4dd437514f0e655f6adfa2869448f9",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "e057438a05ad56a2acb70ed770e674da41f40a63",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "3d320003cc03f627e45d4328d53def9985333a77",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "97f609f574b1843556a6a07fc4c6c50180725b31",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    },
    {
      "type": "modify",
      "old_id": "2fc11f2e2b21a7c5d19d347774de930d9e4bc0ee",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "efb618fc8ffe4724aafa4d14ecb324a12df1ddea",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    }
  ]
}
