)]}'
{
  "log": [
    {
      "commit": "1651e14e28a2d9f446018ef522882e0709a2ce4f",
      "tree": "401ff78624fdc4b445f3f95174a223acaf6a4ca0",
      "parents": [
        "0437eb594e6e5e699248f865482e61034be846d0"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Oct 02 02:18:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 02 07:57:20 2006 -0700"
      },
      "message": "[PATCH] namespaces: incorporate fs namespace into nsproxy\n\nThis moves the mount namespace into the nsproxy.  The mount namespace count\nnow refers to the number of nsproxies point to it, rather than the number of\ntasks.  As a result, the unshare_namespace() function in kernel/fork.c no\nlonger checks whether it is being shared.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Andrey Savochkin \u003csaw@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "741a295130606143edbf9fc740f633dbc1e6225f",
      "tree": "3679047dd44e94ba94ee1487880a94def93a06f9",
      "parents": [
        "99d1419d96d7df9cfa56bc977810be831bd5ef64"
      ],
      "author": {
        "name": "JANAK DESAI",
        "email": "janak@us.ibm.com",
        "time": "Tue Feb 07 12:59:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:34 2006 -0800"
      },
      "message": "[PATCH] unshare system call -v5: unshare namespace\n\nIf the namespace structure is being shared, allocate a new one and copy\ninformation from the current, shared, structure.\n\nSigned-off-by: Janak Desai \u003cjanak@us.ibm.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "390c684367de37e1c2f9005cf92f7a746c69fdd3",
      "tree": "23cf8783db5fdec3717c79f989c6872955679036",
      "parents": [
        "36341f64569b0c4572478237ec5ed318f0762510"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Mon Nov 07 17:17:51 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 18:18:10 2005 -0800"
      },
      "message": "[PATCH] making namespace_sem global\n\nThis removes the per-namespace semaphore in favor of a global semaphore.\nThis can have an effect on namespace scalability.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5addc5dd8836aa061f6efc4a0d9ba6323726297a",
      "tree": "a5ce3703bbb421c93482b6043ebd57137276808f",
      "parents": [
        "1abe77b0fc4b485927f1f798ae81a752677e1d05"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 07 17:15:49 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 18:18:10 2005 -0800"
      },
      "message": "[PATCH] make /proc/mounts pollable\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ce88cf466f7b6078b14d67d186a3d7c19dd5609",
      "tree": "b9716f3a71e3285a998da9614cfbc132ca605542",
      "parents": [
        "202322e6f7cd12e82b5ff0fa92bbdf517fcf0947"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:51 2005 -0700"
      },
      "message": "[PATCH] namespace.c: fix race in mark_mounts_for_expiry()\n\nThis patch fixes a race found by Ram in mark_mounts_for_expiry() in\nfs/namespace.c.\n\nThe bug can only be triggered with simultaneous exiting of a process having\na private namespace, and expiry of a mount from within that namespace.\nIt\u0027s practically impossible to trigger, and I haven\u0027t even tried.  But\nstill, a bug is a bug.\n\nThe race happens when put_namespace() is called by another task, while\nmark_mounts_for_expiry() is between atomic_read() and get_namespace().  In\nthat case get_namespace() will be called on an already dead namespace with\nunforeseeable results.\n\nThe solution was suggested by Al Viro, with his own words:\n\n      Instead of screwing with atomic_read() in there, why don\u0027t we\n      simply do the following:\n      \ta) atomic_dec_and_lock() in put_namespace()\n      \tb) __put_namespace() called without dropping lock\n      \tc) the first thing done by __put_namespace would be\n      struct vfsmount *root \u003d namespace-\u003eroot;\n      namespace-\u003eroot \u003d NULL;\n      spin_unlock(...);\n      ....\n      umount_tree(root);\n      ...\n      \td) check in mark_... would be simply namespace \u0026\u0026 namespace-\u003eroot.\n\n      And we are all set; no screwing around with atomic_read(), no magic\n      at all.  Dying namespace gets NULL -\u003eroot.\n      All changes of -\u003eroot happen under spinlock.\n      If under a spinlock we see non-NULL -\u003emnt_namespace, it won\u0027t be\n      freed until we drop the lock (we will set -\u003emnt_namespace to NULL\n      under that lock before we get to freeing namespace).\n      If under a spinlock we see non-NULL -\u003emnt_namespace and\n      -\u003emnt_namespace-\u003eroot, we can grab a reference to namespace and be\n      sure that it won\u0027t go away.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
