)]}'
{
  "commit": "ee992744ea53db0a90c986fd0a70fbbf91e7f8bd",
  "tree": "2d15727e92c407bb22c4842923cbfb2dfda82306",
  "parents": [
    "be614086a4aff163d5aa0dc160638d1193b59cde"
  ],
  "author": {
    "name": "Eric W. Biederman",
    "email": "ebiederm@xmission.com",
    "time": "Fri Feb 08 04:18:31 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri Feb 08 09:22:23 2008 -0800"
  },
  "message": "proc: rewrite do_task_stat to correctly handle pid namespaces.\n\nCurrently (as pointed out by Oleg) do_task_stat has a race when calling\ntask_pid_nr_ns with the task exiting.  In addition do_task_stat is not\ncurrently displaying information in the context of the pid namespace that\nmounted the /proc filesystem.  So \"cut -d\u0027 \u0027 -f 1 /proc/\u003cpid\u003e/stat\" may not\nequal \u003cpid\u003e.\n\nThis patch fixes the problem by converting to a single_open seq_file show\nmethod.  Getting the pid namespace from the filesystem superblock instead of\ncurrent, and simply using the the struct pid from the inode instead of\nattempting to get that same pid from the task.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ba2746e451706fc59beee9319cb896187958f05",
      "old_mode": 33188,
      "old_path": "fs/proc/array.c",
      "new_id": "7e9f3b65f25bd593269fb465f6382ea61672b74c",
      "new_mode": 33188,
      "new_path": "fs/proc/array.c"
    },
    {
      "type": "modify",
      "old_id": "f4b1e14bd95b4eed72e0758415d11f9b3148ea66",
      "old_mode": 33188,
      "old_path": "fs/proc/base.c",
      "new_id": "f77818ecaa8aacfe9e904dd88705e0eba57c6a74",
      "new_mode": 33188,
      "new_path": "fs/proc/base.c"
    },
    {
      "type": "modify",
      "old_id": "7d57e80699241fade80e341cd47ca057444a6f69",
      "old_mode": 33188,
      "old_path": "fs/proc/internal.h",
      "new_id": "f1cc6f1f4e34ba292564fa07e69a7f1e4ee59453",
      "new_mode": 33188,
      "new_path": "fs/proc/internal.h"
    }
  ]
}
