)]}'
{
  "log": [
    {
      "commit": "fdadd65fbce0ff966cb8e74247d9636f52a7fc7a",
      "tree": "a5202d894b935c533b7d593b595c80766db44359",
      "parents": [
        "216d81bb35fc50923993462cc4fbc7029f9be1a9"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Sat Sep 10 00:27:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 10 10:06:32 2005 -0700"
      },
      "message": "[PATCH] janitor: fs/namespace.c: list_for_each_entry\n\nMake code more readable with list_for_each_entry.\n\nSigned-off-by: Maximilian Attems \u003cjanitor@sternwelten.at\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bb6fcc13ae4fad98e0d610458975e47be0d2203",
      "tree": "1d0fd24ce8d49c139b0b01c5ce59f073d3ae20a9",
      "parents": [
        "deac66ae454cacf942c051b86d9232af546fb187"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Sep 06 15:19:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:58:01 2005 -0700"
      },
      "message": "[PATCH] pivot_root() circular reference fix\n\nFix http://bugzilla.kernel.org/show_bug.cgi?id\u003d4857\n\nWhen pivot_root is called from an init script in an initramfs environment,\nit causes a circular reference in the mount tree.\n\nThe cause of this is that pivot_root() is not prepared to handle pivoting\nan unattached mount.  In an initramfs environment, rootfs is the root of\nthe namespace, and so it is not attached.\n\nThis patch fixes this and related problems, by returning -EINVAL if either\nthe current root or the new root is detached.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: \u003cbigfish@asmallpond.org\u003e\nCc: 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": "6c231b7bab0aa6860cd9da2de8a064eddc34c146",
      "tree": "2a6d9dea348651ec6000b96b99fbf5bd9ccdb228",
      "parents": [
        "39ed3fdeec1290dd246dcf1da6b278566987a084"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Sep 06 15:17:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:33 2005 -0700"
      },
      "message": "[PATCH] Additions to .data.read_mostly section\n\nMark variables which are usually accessed for reads with __readmostly.\n\nSigned-off-by: Alok N Kataria \u003calokk@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68b47139ea94ab6d05e89c654db8daa99e9a232c",
      "tree": "807d693b22a11f7667cd16e90b43618f85f8a4e0",
      "parents": [
        "9ae5b3c703cce89a7d8ccf25fe16955ec6f016c0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Aug 07 09:42:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 07 10:00:38 2005 -0700"
      },
      "message": "[PATCH] namespace.c: fix bind mount from foreign namespace\n\nI\u0027m resending this patch, because I still believe it\u0027s the correct fix.\n\nTested before/after applying the patch with a test application\navailable from:\n\n  http://www.inf.bme.hu/~mszeredi/nstest.c\n\nBind mount from a foreign namespace results in an un-removable mount.\nThe reason is that mnt-\u003emnt_namespace is copied from the old mount in\nclone_mnt().  Because of this check_mnt() in sys_umount() will fail.\n\nThe solution is to set mnt-\u003emnt_namespace to current-\u003enamespace in\nclone_mnt().  clone_mnt() is either called from do_loopback() or\ncopy_tree().  copy_tree() is called from do_loopback() or\ncopy_namespace().\n\nWhen called (directly or indirectly) from do_loopback(), always\ncurrent-\u003enamspace is being modified: check_mnt(nd-\u003emnt).  So setting\nmnt-\u003emnt_namespace to current-\u003enamspace is the right thing to do.\n\nWhen called from copy_namespace(), the setting of mnt_namespace is\nirrelevant, since mnt_namespace is reset later in that function for\nall copied mounts.\n\nJamie said:\n\n  This patch is correct.  The old code was buggy for more fundamental and\n  serious reason: it broke the invariant that a tree of vfsmnts all have the\n  same value of mnt_namespace (and the same for the mnt_list list).\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: Jamie Lokier \u003cjamie@shareable.org\u003e\nCc: \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: 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": "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"
    }
  ]
}
