)]}'
{
  "commit": "e0e817392b9acf2c98d3be80c233dddb1b52003d",
  "tree": "ee680c020039313c9f9c40ab3542bb30a7363381",
  "parents": [
    "ed6d76e4c32de0c2ad5f1d572b948ef49e465176"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Sep 02 09:13:40 2009 +0100"
  },
  "committer": {
    "name": "James Morris",
    "email": "jmorris@namei.org",
    "time": "Wed Sep 02 21:29:01 2009 +1000"
  },
  "message": "CRED: Add some configurable debugging [try #6]\n\nAdd a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking\nfor credential management.  The additional code keeps track of the number of\npointers from task_structs to any given cred struct, and checks to see that\nthis number never exceeds the usage count of the cred struct (which includes\nall references, not just those from task_structs).\n\nFurthermore, if SELinux is enabled, the code also checks that the security\npointer in the cred struct is never seen to be invalid.\n\nThis attempts to catch the bug whereby inode_has_perm() faults in an nfsd\nkernel thread on seeing cred-\u003esecurity be a NULL pointer (it appears that the\ncredential struct has been previously released):\n\n\thttp://www.kerneloops.org/oops.php?number\u003d252883\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5573508f707fa5cd652da4503049fa6e89c0f9f8",
      "old_mode": 33188,
      "old_path": "fs/nfsd/auth.c",
      "new_id": "36fcabbf5186452023707c360fe16e3f168200a2",
      "new_mode": 33188,
      "new_path": "fs/nfsd/auth.c"
    },
    {
      "type": "modify",
      "old_id": "492c79b7800b5b7fcb4f8a8813b2d369a5039d7a",
      "old_mode": 33188,
      "old_path": "fs/nfsd/nfssvc.c",
      "new_id": "24d58adfe5fdc1a014caf1d92249146821fd5ca3",
      "new_mode": 33188,
      "new_path": "fs/nfsd/nfssvc.c"
    },
    {
      "type": "modify",
      "old_id": "23341c1063bcd05fb2841dc6b49d0a91eef36293",
      "old_mode": 33188,
      "old_path": "fs/nfsd/vfs.c",
      "new_id": "8fa09bfbcba7f51664f3cf67e68695952f9e348b",
      "new_mode": 33188,
      "new_path": "fs/nfsd/vfs.c"
    },
    {
      "type": "modify",
      "old_id": "40d1fa25f5aa3414d2dcacafc36c879d55b6a6f8",
      "old_mode": 33188,
      "old_path": "fs/open.c",
      "new_id": "31191bf513e40ebcbd05668cc0db2bc46c1c1311",
      "new_mode": 33188,
      "new_path": "fs/open.c"
    },
    {
      "type": "modify",
      "old_id": "b3c76e815d660631aebed8444fce0f93ef8a2c02",
      "old_mode": 33188,
      "old_path": "include/linux/cred.h",
      "new_id": "85439abdbc8019087f234ff08502e7ac307a8e96",
      "new_mode": 33188,
      "new_path": "include/linux/cred.h"
    },
    {
      "type": "modify",
      "old_id": "1bb4d7e5d61694a6b8c01ba47f8432dcd37c828e",
      "old_mode": 33188,
      "old_path": "kernel/cred.c",
      "new_id": "24dd2f5104b1232181f6a8e0b4099edcccb257f5",
      "new_mode": 33188,
      "new_path": "kernel/cred.c"
    },
    {
      "type": "modify",
      "old_id": "869dc221733e27701c275a0bdf283404507108f6",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "c98ff7a8025f70fad1ce747daaeb20bca4c553bb",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    },
    {
      "type": "modify",
      "old_id": "144326b7af505a7c6c2c43cf58e481df29d7e1b2",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "043b5d88049b0ef7bd83ba2e8b7fc8ce4058e672",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    },
    {
      "type": "modify",
      "old_id": "5a7ae57f983f18a7b47a4f1aed55ec7c72acea17",
      "old_mode": 33188,
      "old_path": "kernel/kmod.c",
      "new_id": "4e8cae2e9148153c5055a91d42948e38a685c22f",
      "new_mode": 33188,
      "new_path": "kernel/kmod.c"
    },
    {
      "type": "modify",
      "old_id": "12327b2bb785c256a59cb864a2c2b8976c33e5aa",
      "old_mode": 33188,
      "old_path": "lib/Kconfig.debug",
      "new_id": "fbb87cf138c516db92f9282cf0ee01c1aaa443c3",
      "new_mode": 33188,
      "new_path": "lib/Kconfig.debug"
    },
    {
      "type": "modify",
      "old_id": "27b4c55273583239ceb5bc5415d133d465f4b13c",
      "old_mode": 33188,
      "old_path": "security/selinux/hooks.c",
      "new_id": "c3bb31ecc5aad63c72418c2275df37db5ba544e9",
      "new_mode": 33188,
      "new_path": "security/selinux/hooks.c"
    }
  ]
}
