)]}'
{
  "commit": "f1c84dae0ecc51aa35c81f19a0ebcd6c0921ddcb",
  "tree": "59d729bb7806e42a13f0ec1657c90b717c314002",
  "parents": [
    "d2a7009f0bb03fa22ad08dd25472efa0568126b9"
  ],
  "author": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Tue Jan 03 12:25:15 2012 -0500"
  },
  "committer": {
    "name": "Eric Paris",
    "email": "eparis@redhat.com",
    "time": "Thu Jan 05 18:52:59 2012 -0500"
  },
  "message": "capabilities: remove task_ns_* functions\n\ntask_ in the front of a function, in the security subsystem anyway, means\nto me at least, that we are operating with that task as the subject of the\nsecurity decision.  In this case what it means is that we are using current as\nthe subject but we use the task to get the right namespace.  Who in the world\nwould ever realize that\u0027s what task_ns_capability means just by the name?  This\npatch eliminates the task_ns functions entirely and uses the has_ns_capability\nfunction instead.  This means we explicitly open code the ns in question in\nthe caller.  I think it makes the caller a LOT more clear what is going on.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63f59fa8769db12e2d8dfcf927a67f261650fd8c",
      "old_mode": 33188,
      "old_path": "include/linux/capability.h",
      "new_id": "e3e8d9cb9b08e5983d39228cc9a110c77ae06d77",
      "new_mode": 33188,
      "new_path": "include/linux/capability.h"
    },
    {
      "type": "modify",
      "old_id": "40308969ed005239b1b27889c8eccf3f89d6fcbe",
      "old_mode": 33188,
      "old_path": "include/linux/cred.h",
      "new_id": "adadf71a73271347a5c170df3b1c5490da073910",
      "new_mode": 33188,
      "new_path": "include/linux/cred.h"
    },
    {
      "type": "modify",
      "old_id": "47626446c39affe8247c38787bf83f5c40a0a643",
      "old_mode": 33188,
      "old_path": "kernel/capability.c",
      "new_id": "74fb3b6030451ea3514ffeed6554818793a67c59",
      "new_mode": 33188,
      "new_path": "kernel/capability.c"
    },
    {
      "type": "modify",
      "old_id": "a70d2a5d8c7b1fd4bbbefb2d918136f5ce933875",
      "old_mode": 33188,
      "old_path": "kernel/ptrace.c",
      "new_id": "210bbf045ee983697ea6c187d5d537e32ad0c779",
      "new_mode": 33188,
      "new_path": "kernel/ptrace.c"
    },
    {
      "type": "modify",
      "old_id": "b50b0f0c9aa90cc6d313ccd95573d39f256f90d1",
      "old_mode": 33188,
      "old_path": "kernel/sched.c",
      "new_id": "5670028a9c162eeea70e5d774bd2071b7e18a920",
      "new_mode": 33188,
      "new_path": "kernel/sched.c"
    }
  ]
}
