)]}'
{
  "log": [
    {
      "commit": "6a3fd92e73fffd9e583650c56ad9558afe51dc5c",
      "tree": "d65917432ffd0e6223dab3500819205433de22bd",
      "parents": [
        "f66e883eb6186bc43a79581b67aff7d1a69d0ff1"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: make key module subsystem respect namespaces\n\nMake eCryptfs key module subsystem respect namespaces.\n\nSince I will be removing the netlink interface in a future patch, I just made\nchanges to the netlink.c code so that it will not break the build.  With my\nrecent patches, the kernel module currently defaults to the device handle\ninterface rather than the netlink interface.\n\n[akpm@linux-foundation.org: export free_user_ns()]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1aeb272cf09f9e2cbc62163b9f37a9b4d1c7e81d",
      "tree": "17c76e18fa145affedae790460cff724f965646b",
      "parents": [
        "3a2e7f47d71e1df86acc1dda6826890b6546a4e1"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 00:59:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:04 2008 -0700"
      },
      "message": "kernel: explicitly include required header files under kernel/\n\nFollowing an experimental deletion of the unnecessary directive\n\n #include \u003clinux/slab.h\u003e\n\nfrom the header file \u003clinux/percpu.h\u003e, these files under kernel/ were exposed\nas needing to include one of \u003clinux/slab.h\u003e or \u003clinux/gfp.h\u003e, so explicit\nincludes were added where necessary.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aee16ce73c71a241190cef3aaa265f6a3ab8e035",
      "tree": "ccfded2678d36af2d4ba9ad106240acf65173b28",
      "parents": [
        "ae5e1b22f17983da929a0d0178896269e19da186"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: cleanup the code managed with the USER_NS option\n\nMake the user_namespace.o compilation depend on this option and move the\ninit_user_ns into user.c file to make the kernel compile and work without the\nnamespaces support.  This make the user namespace code be organized similar to\nother namespaces\u0027.\n\nAlso mask the USER_NS option as \"depend on NAMESPACES\".\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28f300d23674fa01ae747c66ce861d4ee6aebe8c",
      "tree": "52ea69a57a89760d7060597690cb289d049eb4d0",
      "parents": [
        "735de2230f09741077a645a913de0a04b10208bf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Fix user namespace exiting OOPs\n\nIt turned out, that the user namespace is released during the do_exit() in\nexit_task_namespaces(), but the struct user_struct is released only during the\nput_task_struct(), i.e.  MUCH later.\n\nOn debug kernels with poisoned slabs this will cause the oops in\nuid_hash_remove() because the head of the chain, which resides inside the\nstruct user_namespace, will be already freed and poisoned.\n\nSince the uid hash itself is required only when someone can search it, i.e.\nwhen the namespace is alive, we can safely unhash all the user_struct-s from\nit during the namespace exiting.  The subsequent free_uid() will complete the\nuser_struct destruction.\n\nFor example simple program\n\n   #include \u003csched.h\u003e\n\n   char stack[2 * 1024 * 1024];\n\n   int f(void *foo)\n   {\n   \treturn 0;\n   }\n\n   int main(void)\n   {\n   \tclone(f, stack + 1 * 1024 * 1024, 0x10000000, 0);\n   \treturn 0;\n   }\n\nrun on kernel with CONFIG_USER_NS turned on will oops the\nkernel immediately.\n\nThis was spotted during OpenVZ kernel testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735de2230f09741077a645a913de0a04b10208bf",
      "tree": "b408a671c9c07bec41a9ca8056fa7a6710982f3b",
      "parents": [
        "d8a4821dca693867a7953104c1e3cc830eb9191f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Convert uid hash to hlist\n\nSurprisingly, but (spotted by Alexey Dobriyan) the uid hash still uses\nlist_heads, thus occupying twice as much place as it could.  Convert it to\nhlist_heads.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99db67bc04af0f2e8cb710ac92aaeb9af135a7c6",
      "tree": "ccecbdec74517220854685ab2517ff15208f13c6",
      "parents": [
        "59845b1ffd9121e5ef474ea5f27405fd7a83c85b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Aug 30 23:56:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:23 2007 -0700"
      },
      "message": "userns: don\u0027t leak root user\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "467e9f4b5086a60a5cb2e032ccaf4a31abadc4c2",
      "tree": "f21b3975db312e4cdee1d9d3622549de2648b7ff",
      "parents": [
        "3e733f071e16bdad13a75eedb102e8941b09927e"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:41:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "fix create_new_namespaces() return value\n\ndup_mnt_ns() and clone_uts_ns() return NULL on failure.  This is wrong,\ncreate_new_namespaces() uses ERR_PTR() to catch an error.  This means that the\nsubsequent create_new_namespaces() will hit BUG_ON() in copy_mnt_ns() or\ncopy_utsname().\n\nModify create_new_namespaces() to also use the errors returned by the\ncopy_*_ns routines and not to systematically return ENOMEM.\n\n[oleg@tv-sign.ru: better changelog]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ec739d8d0979477fc91f530403805afa2581a4",
      "tree": "0cefb80a7ff8d57a8f735954fdeb88e9efbaf05c",
      "parents": [
        "acce292c82d4d82d35553b928df2b0597c3a9c78"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sun Jul 15 23:41:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add unshare\n\nThis patch enables the unshare of user namespaces.\n\nIt adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which\nresets the current user_struct and adds a new root user (uid \u003d\u003d 0)\n\nFor now, unsharing the user namespace allows a process to reset its\nuser_struct accounting and uid 0 in the new user namespace should be contained\nusing appropriate means, for instance selinux\n\nThe plan, when the full support is complete (all uid checks covered), is to\nkeep the original user\u0027s rights in the original namespace, and let a process\nbecome uid 0 in the new namespace, with full capabilities to the new\nnamespace.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acce292c82d4d82d35553b928df2b0597c3a9c78",
      "tree": "464288f40db9c254da214c400d0880ee50dc37f3",
      "parents": [
        "7d69a1f4a72b18876c99c697692b78339d491568"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Sun Jul 15 23:40:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "user namespace: add the framework\n\nBasically, it will allow a process to unshare its user_struct table,\nresetting at the same time its own user_struct and all the associated\naccounting.\n\nA new root user (uid \u003d\u003d 0) is added to the user namespace upon creation.\nSuch root users have full privileges and it seems that theses privileges\nshould be controlled through some means (process capabilities ?)\n\nThe unshare is not included in this patch.\n\nChanges since [try #4]:\n\t- Updated get_user_ns and put_user_ns to accept NULL, and\n\t  get_user_ns to return the namespace.\n\nChanges since [try #3]:\n\t- moved struct user_namespace to files user_namespace.{c,h}\n\nChanges since [try #2]:\n\t- removed struct user_namespace* argument from find_user()\n\nChanges since [try #1]:\n\t- removed struct user_namespace* argument from find_user()\n\t- added a root_user per user namespace\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Andrew Morgan \u003cagm@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
