)]}'
{
  "log": [
    {
      "commit": "55e700b924f9e0ba24e3a071d1097d050b05abe6",
      "tree": "36a5d2401211c8fe27f6210c6fddb6db699b8015",
      "parents": [
        "732dbef606f22a23cb3e1029d613977ec645e8ae"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:52 2005 -0700"
      },
      "message": "[PATCH] namespace: rename mnt_fslink to mnt_expire\n\nThis patch renames vfsmount-\u003emnt_fslink to something a little more\ndescriptive: vfsmount-\u003emnt_expire.\n\nSigned-off-by: Mike Waychison \u003cmichael.waychison@sun.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "484e389c63472a7f8cfb491cf11b047364e59365",
      "tree": "764b4430991d19f409e304cf2b96b4346e0af3bb",
      "parents": [
        "ac0811538b40bb92d339d22364026ed91dfdd147"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:52 2005 -0700"
      },
      "message": "[PATCH] set mnt_namespace in the correct place\n\nThis patch sets -\u003emnt_namespace where it\u0027s actually added to the\nnamespace.\n\nPreviously mnt_namespace was set in do_kern_mount() even if the filesystem\nwas never added to any process\u0027s namespace (most kernel-internal\nfilesystems).\n\nThis discrepancy doesn\u0027t actually cause any problems, but it\u0027s cleaner if\nmnt_namespace is NULL for these non exported filesystems.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "ac0811538b40bb92d339d22364026ed91dfdd147",
      "tree": "6129b15ee8219343244c3dc8efa1a9ea7b51531d",
      "parents": [
        "ed42c879b7b1463aa7a15fdbbeb2b1914d60be8a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:27 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 mnt_namespace zeroing for expired mounts\n\nThis patch clears mnt_namespace in an expired mount.\n\nIf mnt_namespace is not cleared, it\u0027s possible to attach a new mount to the\nalready detached mount, because check_mnt() can return true.\n\nThe effect is a resource leak, since the resulting tree will never be\nfreed.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "ed42c879b7b1463aa7a15fdbbeb2b1914d60be8a",
      "tree": "191f9386a8288e06d7d0e914434aea2f9a56e1ca",
      "parents": [
        "24ca2af1e7cff55e71e9f86c61ddc56e894b8b40"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:26 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 expiring of detached mount\n\nThis patch fixes a bug noticed by Al Viro:\n\n   However, we still have a problem here - just what would\n   happen if vfsmount is detached while we were grabbing namespace\n   semaphore?  Refcount alone is not useful here - we might be held by\n   whoever had detached the vfsmount.  IOW, we should check that it\u0027s\n   still attached (i.e. that mnt-\u003emnt_parent !\u003d mnt).  If it\u0027s not -\n   just leave it alone, do mntput() and let whoever holds it deal with\n   the sucker.  No need to put it back on lists.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \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": "24ca2af1e7cff55e71e9f86c61ddc56e894b8b40",
      "tree": "48728d0fbc849567a814ceb562476d132ba5068d",
      "parents": [
        "a4d70278610e6bebe44a7b59a469fe7391387da6"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:51 2005 -0700"
      },
      "message": "[PATCH] namespace.c: split mark_mounts_for_expiry()\n\nThis patch splits the mark_mounts_for_expiry() function.  It\u0027s too complex and\ntoo deeply nested, even without the bugfix in the following patch.\n\nOtherwise code is completely the same.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \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": "a4d70278610e6bebe44a7b59a469fe7391387da6",
      "tree": "936ff611c40a3e1e3027f548e31ef312ca104fab",
      "parents": [
        "1ce88cf466f7b6078b14d67d186a3d7c19dd5609"
      ],
      "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: cleanup in mark_mounts_for_expiry()\n\nThis patch simplifies mark_mounts_for_expiry() by using detach_mnt() instead\nof duplicating everything it does.\n\nIt should be an equivalent transformation except for righting the dput/mntput\norder.\n\nAl Viro said: \"Looks sane\".\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: \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": "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": "202322e6f7cd12e82b5ff0fa92bbdf517fcf0947",
      "tree": "82c1f7b4b97d5b31654157a8f427a5c8d546504f",
      "parents": [
        "6f50142e4b092a469920a0008fc23121c3d99f2f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 07 17:57:22 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 mnt_namespace clearing\n\nThis patch clears mnt_namespace on unmount.\n\nNot clearing mnt_namespace has two effects:\n\n   1) It is possible to attach a new mount to a detached mount,\n      because check_mnt() returns true.\n\n      This means, that when no other references to the detached mount\n      remain, it still can\u0027t be freed.  This causes a resource leak,\n      and possibly un-removable modules.\n\n   2) If mnt_namespace is dereferenced (only in mark_mounts_for_expiry())\n      after the namspace has been freed, it can cause an Oops, memory\n      corruption, etc.\n\n1) has been tested before and after the patch, 2) is only speculation.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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"
    }
  ]
}
