)]}'
{
  "commit": "1a657f78dcc8ea7c53eaa1f2a45ea2315738c15f",
  "tree": "a19972027792082fed505c8d540f7d877e37c0ab",
  "parents": [
    "1c0d04c9e44f4a248335c33d2be7c7f7b06ff359"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@tv-sign.ru",
    "time": "Mon Oct 02 02:18:59 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Mon Oct 02 07:57:25 2006 -0700"
  },
  "message": "[PATCH] introduce get_task_pid() to fix unsafe get_pid()\n\nproc_pid_make_inode:\n\n\tei-\u003epid \u003d get_pid(task_pid(task));\n\nI think this is not safe.  get_pid() can be preempted after checking \"pid\n!\u003d NULL\".  Then the task exits, does detach_pid(), and RCU frees the pid.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a317eb2c44421d5b8aad0c7ad71e9263c69c10dd",
      "old_mode": 33188,
      "old_path": "fs/proc/base.c",
      "new_id": "82da55b5cffef804f4528bf1bed4d94645f7df2d",
      "new_mode": 33188,
      "new_path": "fs/proc/base.c"
    },
    {
      "type": "modify",
      "old_id": "7e39767b4c60c597c7ce3182d9b1a15ed00a4ae2",
      "old_mode": 33188,
      "old_path": "include/linux/pid.h",
      "new_id": "17b9e04d3586c38bcee851473d61428f761943b5",
      "new_mode": 33188,
      "new_path": "include/linux/pid.h"
    },
    {
      "type": "modify",
      "old_id": "e4779bbb205846f9cdf72c86e72d498d308f563f",
      "old_mode": 33188,
      "old_path": "kernel/pid.c",
      "new_id": "b914392085f9a171f08a3e202dc14145e1563929",
      "new_mode": 33188,
      "new_path": "kernel/pid.c"
    }
  ]
}
