)]}'
{
  "commit": "52ee2dfdd4f51cf422ea6a96a0846dc94244aa37",
  "tree": "e15753e01d2c2fbe980edc45f78a9ae77d2cf891",
  "parents": [
    "2ae448efc87df6d328f5835969076c7f9fce59c3"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Thu Apr 02 16:58:38 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Apr 02 19:05:02 2009 -0700"
  },
  "message": "pids: refactor vnr/nr_ns helpers to make them safe\n\nInho, the safety rules for vnr/nr_ns helpers are horrible and buggy.\n\ntask_pid_nr_ns(task) needs rcu/tasklist depending on task \u003d\u003d current.\n\nAs for \"special\" pids, vnr/nr_ns helpers always need rcu.  However, if\ntask !\u003d current, they are unsafe even under rcu lock, we can\u0027t trust\ntask-\u003egroup_leader without the special checks.\n\nAnd almost every helper has a callsite which needs a fix.\n\nAlso, it is a bit annoying that the implementations of, say,\ntask_pgrp_vnr() and task_pgrp_nr_ns() are not \"symmetrical\".\n\nThis patch introduces the new helper, __task_pid_nr_ns(), which is always\nsafe to use, and turns all other helpers into the trivial wrappers.\n\nAfter this I\u0027ll send another patch which converts task_tgid_xxx() as well,\nthey\u0027re are a bit special.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.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": "722dd313bf8ab149563789ff297333040df5efe0",
      "old_mode": 33188,
      "old_path": "include/linux/sched.h",
      "new_id": "49df878a0cadef840e206205b2c7e8557347ff02",
      "new_mode": 33188,
      "new_path": "include/linux/sched.h"
    },
    {
      "type": "modify",
      "old_id": "6628abcc520efe445e2a380f44ff1516b8771fb2",
      "old_mode": 33188,
      "old_path": "kernel/pid.c",
      "new_id": "b2e5f78fd2812cdc31624583f347853f1d236024",
      "new_mode": 33188,
      "new_path": "kernel/pid.c"
    }
  ]
}
