)]}'
{
  "log": [
    {
      "commit": "afddba49d18f346e5cc2938b6ed7c512db18ca68",
      "tree": "4726e3d3b0e9e8e5b5d3b2b0cccb36446bbdf3ca",
      "parents": [
        "637aff46f94a754207c80c8c64bf1b74f24b967d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "fs: introduce write_begin, write_end, and perform_write aops\n\nThese are intended to replace prepare_write and commit_write with more\nflexible alternatives that are also able to avoid the buffered write\ndeadlock problems efficiently (which prepare_write is unable to do).\n\n[mark.fasheh@oracle.com: API design contributions, code review and fixes]\n[akpm@linux-foundation.org: various fixes]\n[dmonakhov@sw.ru: new aop block_write_begin fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f79c20f52532d38fd0aee7ef64e138cc1613c484",
      "tree": "889b946d5eff0c66293d3b5d56062bf0d85f73bf",
      "parents": [
        "c4a7808fc3d7a346d5d12e0d69d76d66d821488b"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: remove path_walk export\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "c4a7808fc3d7a346d5d12e0d69d76d66d821488b",
      "tree": "e301f6e97ebc3800baafc53161631ec3e01d83c2",
      "parents": [
        "16b6287a5286e872abece4f42a6eb5899157a836"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: mark link_path_walk static\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "16f1820028d660d9da9c03b2ae7e98253c11795b",
      "tree": "08939a5d7fcc02c76739a9dce38052da598d74d5",
      "parents": [
        "b6a2fea39318e43fee84fa7b0b90d68bed92d2ba"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Thu Jul 19 01:48:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:45 2007 -0700"
      },
      "message": "fs: introduce vfs_path_lookup\n\nStackable file systems, among others, frequently need to lookup paths or\npath components starting from an arbitrary point in the namespace\n(identified by a dentry and a vfsmount).  Currently, such file systems use\nlookup_one_len, which is frowned upon [1] as it does not pass the lookup\nintent along; not passing a lookup intent, for example, can trigger BUG_ON\u0027s\nwhen stacking on top of NFSv4.\n\nThe first patch introduces a new lookup function to allow lookup starting\nfrom an arbitrary point in the namespace.  This approach has been suggested\nby Christoph Hellwig [2].\n\nThe second patch changes sunrpc to use vfs_path_lookup.\n\nThe third patch changes nfsctl.c to use vfs_path_lookup.\n\nThe fourth patch marks link_path_walk static.\n\nThe fifth, and last patch, unexports path_walk because it is no longer\nunnecessary to call it directly, and using the new vfs_path_lookup is\ncleaner.\n\nFor example, the following snippet of code, looks up \"some/path/component\"\nin a directory pointed to by parent_{dentry,vfsmnt}:\n\nerr \u003d vfs_path_lookup(parent_dentry, parent_vfsmnt,\n\t\t      \"some/path/component\", 0, \u0026nd);\nif (!err) {\n\t/* exits */\n\n\t...\n\n\t/* once done, release the references */\n\tpath_release(\u0026nd);\n} else if (err \u003d\u003d -ENOENT) {\n\t/* doesn\u0027t exist */\n} else {\n\t/* other error */\n}\n\nVFS functions such as lookup_create can be used on the nameidata structure\nto pass the create intent to the file system.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fc03b9beb2314f3adb9e72b7935a80c577954d1",
      "tree": "81e04534c582923fcdc8212497d1487ddae412a8",
      "parents": [
        "510f4006e7a82b37b53c17bbe64ec20f3a59302b"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Tue Feb 13 14:15:01 2007 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 11 05:38:26 2007 -0400"
      },
      "message": "[PATCH] complete message queue auditing\n\nHandle the edge cases for POSIX message queue auditing. Collect inode\ninfo when opening an existing mq, and for send/receive operations. Remove\naudit_inode_update() as it has really evolved into the equivalent of\naudit_inode().\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2dfdd266b9a2f2d93a3fdbee89969f6ea9ec5377",
      "tree": "a3dd643401a5fa63f60759c89fd00a4ef175cda5",
      "parents": [
        "62ce39c531860aee6c12128c629b0a82f656a306"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Wed May 09 02:33:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "fs: use path_walk in do_path_lookup\n\nSince path_walk sets the total_link_count to 0 and calls link_path_walk, we\ncan just call path_walk directly.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62ce39c531860aee6c12128c629b0a82f656a306",
      "tree": "cfa57bde671ac341f46b8844a159b4b7b06a247e",
      "parents": [
        "35c35d1afa8f9afe01d922ff9668a14c5d879b02"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Wed May 09 02:33:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "fs: fix indentation in do_path_lookup\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5843205b55d0ec9564289d4b41bab093ae15f51a",
      "tree": "c8a1425db57354635137b33c5c44e33441bbbc53",
      "parents": [
        "acb0c854fa9483fa85e377b9f342352ea814a580"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 08 00:25:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:02 2007 -0700"
      },
      "message": "namei.c: remove utterly outdated comment\n\nWe don\u0027t have a routine called namei() anymore since at least 2.3.x, and\nthe comment is just totally out of sync with the current lookup logic.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "057f6c019fff9ee290641d50647359bb8898918e",
      "tree": "c051a915e2038825dd2f50f24fc28abb3c4a5e79",
      "parents": [
        "523ded71de0c5e66973335bf99a80edfda9f401b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 26 00:12:05 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "security: prevent permission checking of file removal via sysfs_remove_group()\n\nPrevent permission checking from being performed when the kernel wants to\nunconditionally remove a sysfs group, by introducing an kernel-only variant\nof lookup_one_len(), lookup_one_len_kern().\n\nAdditionally, as sysfs_remove_group() does not check the return value of\nthe lookup before using it, a BUG_ON has been added to pinpoint the cause\nof any problems potentially caused by this (and as a form of annotation).\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Nagendra Singh Tomar \u003cnagendra_tomar@adaptec.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "beb497ab48b1639282129f7bc18fef311fffff3d",
      "tree": "bd7852757e908eb3702eeb214556c2538abf4ded",
      "parents": [
        "fb4d64e78ceab77cf20f7796f74aa10ebe862032"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Feb 16 01:27:18 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] __page_symlink retry loop error code fix\n\nIf prepare_write or commit_write return AOP_TRUNCATED_PAGE we jump to\n\"retry\" label and than if find_or_create_page() failed function return\nincorrect error code.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 2\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05",
      "tree": "51763269e44eb9bf4d0f8c529577489902850cf9",
      "parents": [
        "b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] VFS: change struct file to use struct path\n\nThis patch changes struct file to use struct path instead of having\nindependent pointers to struct dentry and struct vfsmount, and converts all\nusers of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}.\n\nAdditionally, it adds two #define\u0027s to make the transition easier for users of\nthe f_dentry and f_vfsmnt.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "346f20ff6020ffa11d40b789069079c56a444ae6",
      "tree": "4828582ab5d8fe865de5a6b1524670963de9acaf",
      "parents": [
        "c922d5f7f5457da9e9b5a26dd53e2dcef6ca2f7d"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:40 2006 -0800"
      },
      "message": "[PATCH] struct path: move struct path from fs/namei.c into include/linux\n\nMoved struct path from fs/namei.c to include/linux/namei.h.  This allows many\nplaces in the VFS, as well as any stackable filesystem to easily keep track of\ndentry-vfsmount pairs.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dc168427e6250a5a24c59f34afed6538092dab42",
      "tree": "647cfff74c45ec42027042666d5212b1c724a350",
      "parents": [
        "5ac29e62be2a581ec77953eca64d85ddeef488f0"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Wed Dec 06 20:37:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:35 2006 -0800"
      },
      "message": "[PATCH] VFS: extra check inside dentry_unhash()\n\nd_count check after dget() is always true.\n\nSigned-off-by:\tVasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "317a40ac2237732aba531eee2c7b5e39dd40e959",
      "tree": "8171e98eaa2bbceeacca4f4f43da1bb331ed17de",
      "parents": [
        "ed07536ed6731775219c1df7fa26a7588753e693"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Wed Dec 06 20:35:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:30 2006 -0800"
      },
      "message": "[PATCH] honour MNT_NOEXEC for access()\n\nMake access(X_OK) take the \"noexec\" mount option into account.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aab520e2f6c80160cabd187a8d0292d1cec8ff68",
      "tree": "e066da750f4aba3e5b472a2fafd5d267876420e2",
      "parents": [
        "6902d925d568cd5bfda8a1a328bf08d26d1bab46"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: move open_namei()\u0027s vfs_create()\n\nThe code around vfs_create() in open_namei() is getting a bit too complex.\nRight now, there is at least the reference count on the dentry, and the\ni_mutex to worry about.  Soon, we\u0027ll also have mnt_writecount.\n\nSo, break the vfs_create() call out of open_namei(), and into a helper\nfunction.  This duplicates the call to may_open(), but that isn\u0027t such a bad\nthing since the arguments (acc_mode and flag) were being heavily massaged\nanyway.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6902d925d568cd5bfda8a1a328bf08d26d1bab46",
      "tree": "02f3cc489d0e47fb688587222d1793bd9298679b",
      "parents": [
        "db5fed26b2e0beed939b773dd5896077a1794d65"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: prepare for write access checks: collapse if()\n\nWe\u0027re shortly going to be adding a bunch more permission checks in these\nfunctions.  That requires adding either a bunch of new if() conditions, or\nsome gotos.  This patch collapses existing if()s and uses gotos instead to\nprepare for the upcoming changes.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e518ddb7ba44a3d852c0e41961365844c76eb2bf",
      "tree": "82bda48f6dac153015ef02fe6f8ccbbfa15151d0",
      "parents": [
        "c16a02d6f5fcfe05dc6fd40aa80a8e1d055300db"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@rhlx01.fht-esslingen.de",
        "time": "Fri Sep 29 02:01:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:22 2006 -0700"
      },
      "message": "[PATCH] fs/namei.c: replace multiple current-\u003efs by shortcut variable\n\nReplace current-\u003efs by fs helper variable to reduce some indirection\noverhead and (at least at the moment, before the current_thread_info() %gs\nPDA improvement is available) get rid of more costly current references.\nReduces fs/namei.o from 37786 to 37082 Bytes (704 Bytes saved).\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bcdc5e019d9f525a9f181a7de642d3a9c27c7610",
      "tree": "c2a93b8456095b260bee2be6e169c116f4b0be84",
      "parents": [
        "1183dc943cae8b0fddca0b310c26052b2355e04b"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Wed Sep 27 01:50:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:17 2006 -0700"
      },
      "message": "[PATCH] autofs4 needs to force fail return revalidate\n\nFor a long time now I have had a problem with not being able to return a\nlookup failure on an existsing directory.  In autofs this corresponds to a\nmount failure on a autofs managed mount entry that is browsable (and so the\nmount point directory exists).\n\nWhile this problem has been present for a long time I\u0027ve avoided resolving\nit because it was not very visible.  But now that autofs v5 has \"mount and\nexpire on demand\" of nested multiple mounts, such as is found when mounting\nan export list from a server, solving the problem cannot be avoided any\nlonger.\n\nI\u0027ve tried very hard to find a way to do this entirely within the autofs4\nmodule but have not been able to find a satisfactory way to achieve it.\n\nSo, I need to propose a change to the VFS.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "349457ccf2592c14bdf13b6706170ae2e94931b1",
      "tree": "3670945b5a62617d38cf1f317487387032d3da4d",
      "parents": [
        "1390334b4c697b7588d5661fcf6acaeec409cf4c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 08 14:22:21 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Sun Sep 24 13:50:45 2006 -0700"
      },
      "message": "[PATCH] Allow file systems to manually d_move() inside of -\u003erename()\n\nSome file systems want to manually d_move() the dentries involved in a\nrename.  We can do this by making use of the FS_ODD_RENAME flag if we just\nhave nfs_rename() unconditionally do the d_move().  While there, we rename\nthe flag to be more descriptive.\n\nOCFS2 uses this to protect that part of the rename operation with a cluster\nlock.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "a343bb7750e6a098909c34f5c5dfddbc4fa40053",
      "tree": "f4125368b85270b4fd619ae317ce0796605c579e",
      "parents": [
        "16b4289c7460ba9c04af40c574949dcca9029658"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 22 20:06:03 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:54:58 2006 -0400"
      },
      "message": "VFS: Fix access(\"file\", X_OK) in the presence of ACLs\n\nCurrently, the access() call will return incorrect information on NFS if\nthere exists an ACL that grants execute access to the user on a regular\nfile. The reason the information is incorrect is that the VFS overrides\nthis execute access in open_exec() by checking (inode-\u003ei_mode \u0026 0111).\n\nThis patch propagates the VFS execute bit check back into the generic\npermission() call.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 64cbae98848c4c99851cb0a405f0b4982cd76c1e commit)\n"
    },
    {
      "commit": "a634904a7de0d3a0bc606f608007a34e8c05bfee",
      "tree": "936d436adb118f7e7fbadd6eabf5296693861df0",
      "parents": [
        "ddeff520f02b92128132c282c350fa72afffb84a"
      ],
      "author": {
        "name": "ASANO Masahiro",
        "email": "masano@tnes.nec.co.jp",
        "time": "Tue Aug 22 20:06:02 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:49:14 2006 -0400"
      },
      "message": "VFS: add lookup hint for network file systems\n\nI\u0027m trying to speeding up mkdir(2) for network file systems.  A typical\nmkdir(2) calls two inode_operations: lookup and mkdir.  The lookup\noperation would fail with ENOENT in common case.  I think it is unnecessary\nbecause the subsequent mkdir operation can check it.  In case of creat(2),\nlookup operation is called with the LOOKUP_CREATE flag, so individual\nfilesystem can omit real lookup.  e.g.  nfs_lookup().\n\nHere is a sample patch which uses LOOKUP_CREATE and O_EXCL on mkdir,\nsymlink and mknod.  This uses the gadget for creat(2).\n\nAnd here is the result of a benchmark on NFSv3.\n  mkdir(2) 10,000 times:\n    original  50.5 sec\n    patched   29.0 sec\n\nSigned-off-by: ASANO Masahiro \u003cmasano@tnes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from fab7bf44449b29f9d5572a5dd8adcf7c91d5bf0f commit)\n"
    },
    {
      "commit": "5ac3a9c26c1cc4861d9cdd8b293fecbfcdc81afe",
      "tree": "6ca960fade3253ac358f3614e6a07361fc90d09e",
      "parents": [
        "d51374adf5f2f88155a072d3d801104e3c0c3d7f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 16 06:38:45 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:59:42 2006 -0400"
      },
      "message": "[PATCH] don\u0027t bother with aux entires for dummy context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73d3ec5abad3f1730ac8530899d2c14d92f3ad63",
      "tree": "c2829a1e36ca155eecc7d4b8648fe9755247bec5",
      "parents": [
        "3e2efce067cec0099f99ae59f28feda99b02b498"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jul 13 13:16:39 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:50:30 2006 -0400"
      },
      "message": "[PATCH] fix missed create event for directory audit\n\nWhen an object is created via a symlink into an audited directory, audit misses\nthe event due to not having collected the inode data for the directory.  Modify\n__audit_inode_child() to copy the parent inode data if a parent wasn\u0027t found in\naudit_names[].\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3e2efce067cec0099f99ae59f28feda99b02b498",
      "tree": "94577cb6cb7f223319bb89a805b2d6945d42632e",
      "parents": [
        "46f5960fdbf359f0c75989854bbaebc1de7a1eb4"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jul 13 13:16:02 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 03 10:50:21 2006 -0400"
      },
      "message": "[PATCH] fix faulty inode data collection for open() with O_CREAT\n\nWhen the specified path is an existing file or when it is a symlink, audit\ncollects the wrong inode number, which causes it to miss the open() event.\nAdding a second hook to the open() path fixes this.\n\nAlso add audit_copy_inode() to consolidate some code.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "de45921535bfc3b1f63b426c2a9739635f864283",
      "tree": "5a20bb0ce44bef589b6699e645da272e1a54bbea",
      "parents": [
        "9ee8ab9fbf21e6b87ad227cd46c0a4be41ab749b"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Fri Jul 14 00:23:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 14 21:53:50 2006 -0700"
      },
      "message": "[PATCH] struct file leakage\n\n2.6.16 leaks like hell. While testing, I found massive leakage\n(reproduced in openvz) in:\n\n*filp\n*size-4096\n\nAnd 1 object leaks in\n*size-32\n*size-64\n*size-128\n\nIt is the fix for the first one.  filp leaks in the bowels of namei.c.\n\nSeems, size-4096 is file table leaking in expand_fdtables.\n\nI have no idea what are the rest and why they show only accompanying\nanother leaks.  Some debugging structs?\n\n[akpm@osdl.org, Trond: remove the IS_ERR() check]\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2eace23e924bd3f05aedea4fc505eb5508d2d93",
      "tree": "3e78dc1c4be979164a91665f56299e344fb6d6b6",
      "parents": [
        "a90b9c05df3c1e58eaedc28795d0f5abd896c098"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:06 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate i_mutex\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45c9b11a1d07770cabb48cb0f7960a77650ffc64",
      "tree": "f1928b66fa23a5350cc15b0c448e9acefff66758",
      "parents": [
        "584e1236bbcdfec3f64c751908b8b4fe868c2d20"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sun Jun 25 05:49:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] Implement AT_SYMLINK_FOLLOW flag for linkat\n\nWhen the linkat() syscall was added the flag parameter was added in the\nlast minute but it wasn\u0027t used so far.  The following patch should change\nthat.  My tests show that this is all that\u0027s needed.\n\nIf OLDNAME is a symlink setting the flag causes linkat to follow the\nsymlink and create a hardlink with the target.  This is actually the\nbehavior POSIX demands for link() as well but Linux wisely does not do\nthis.  With this flag (which will most likely be in the next POSIX\nrevision) the programmer can choose the behavior, defaulting to the safe\nvariant.  As a side effect it is now possible to implement a\nPOSIX-compliant link(2) function for those who are interested.\n\n  touch file\n  ln -s file symlink\n\n  linkat(fd, \"symlink\", fd, \"newlink\", 0)\n    -\u003e newlink is hardlink of symlink\n\n  linkat(fd, \"symlink\", fd, \"newlink\", AT_SYMLINK_FOLLOW)\n    -\u003e newlink is hardlink of file\n\nThe value of AT_SYMLINK_FOLLOW is determined by the definition we already\nuse in glibc.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "090d2b185d8680fc26a2eaf4245d4171dcf4baf1",
      "tree": "67e604e3cd1bad3cfd034bced19a0fbff6a80c30",
      "parents": [
        "c330dda908b5a46469a997eea90b66f2f9f02b34"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 23 02:05:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] read_mapping_page for address space\n\nAdd read_mapping_page() which is used for callers that pass\nmapping-\u003ea_ops-\u003ereadpage as the filler for read_cache_page.  This removes\nsome duplication from filesystem code.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c937dcc71021f2dbf78f904f03d962dd9bcc130",
      "tree": "6ab53c1cf1235515307d521cecc4f76afa34e137",
      "parents": [
        "6a2bceec0ea7fdc47aef9a3f2f771c201eaabe5d"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jun 08 23:19:31 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:28 2006 -0400"
      },
      "message": "[PATCH] log more info for directory entry change events\n\nWhen an audit event involves changes to a directory entry, include\na PATH record for the directory itself.  A few other notable changes:\n\n    - fixed audit_inode_child() hooks in fsnotify_move()\n    - removed unused flags arg from audit_inode()\n    - added audit log routines for logging a portion of a string\n\nHere\u0027s some sample output.\n\nbefore patch:\ntype\u003dSYSCALL msg\u003daudit(1149821605.320:26): arch\u003d40000003 syscall\u003d39 success\u003dyes exit\u003d0 a0\u003dbf8d3c7c a1\u003d1ff a2\u003d804e1b8 a3\u003dbf8d3c7c items\u003d1 ppid\u003d739 pid\u003d800 auid\u003d0 uid\u003d0 gid\u003d0 euid\u003d0 suid\u003d0 fsuid\u003d0 egid\u003d0 sgid\u003d0 fsgid\u003d0 tty\u003dttyS0 comm\u003d\"mkdir\" exe\u003d\"/bin/mkdir\" subj\u003droot:system_r:unconfined_t:s0-s0:c0.c255\ntype\u003dCWD msg\u003daudit(1149821605.320:26):  cwd\u003d\"/root\"\ntype\u003dPATH msg\u003daudit(1149821605.320:26): item\u003d0 name\u003d\"foo\" parent\u003d164068 inode\u003d164010 dev\u003d03:00 mode\u003d040755 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_t:s0\n\nafter patch:\ntype\u003dSYSCALL msg\u003daudit(1149822032.332:24): arch\u003d40000003 syscall\u003d39 success\u003dyes exit\u003d0 a0\u003dbfdd9c7c a1\u003d1ff a2\u003d804e1b8 a3\u003dbfdd9c7c items\u003d2 ppid\u003d714 pid\u003d777 auid\u003d0 uid\u003d0 gid\u003d0 euid\u003d0 suid\u003d0 fsuid\u003d0 egid\u003d0 sgid\u003d0 fsgid\u003d0 tty\u003dttyS0 comm\u003d\"mkdir\" exe\u003d\"/bin/mkdir\" subj\u003droot:system_r:unconfined_t:s0-s0:c0.c255\ntype\u003dCWD msg\u003daudit(1149822032.332:24):  cwd\u003d\"/root\"\ntype\u003dPATH msg\u003daudit(1149822032.332:24): item\u003d0 name\u003d\"/root\" inode\u003d164068 dev\u003d03:00 mode\u003d040750 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_dir_t:s0\ntype\u003dPATH msg\u003daudit(1149822032.332:24): item\u003d1 name\u003d\"foo\" inode\u003d164010 dev\u003d03:00 mode\u003d040755 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_t:s0\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d09bb627d2470299dfb1af0e6d27fb4aece9196",
      "tree": "ce62b91f11c5df5fbee41aa053b33add79c2c37a",
      "parents": [
        "c7d2d28b9851d0ffc9924b0e36bac806d18ebf25"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jun 04 02:51:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 05 12:29:16 2006 -0700"
      },
      "message": "[PATCH] fs/namei.c: Call to file_permission() under a spinlock in do_lookup_path()\n\nFrom: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n\nWe\u0027re presently running lock_kernel() under fs_lock via nfs\u0027s -\u003epermission\nhandler.  That\u0027s a ranking bug and sometimes a sleep-in-spinlock bug.  This\nproblem was introduced in the openat() patchset.\n\nWe should not need to hold the current-\u003efs-\u003elock for a codepath that doesn\u0027t\nuse current-\u003efs.\n\n[vsu@altlinux.ru: fix error path]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a244e1698ae3609cdfe24088e1293593cb7a5278",
      "tree": "81f3e151c9b8118a3a917dd6b0d3c75556dc170b",
      "parents": [
        "0cb3463f04e771869f481e2dd44f66419e850586"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:32:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] fs/namei.c: make lookup_hash() static\n\nAs announced, lookup_hash() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "051d381259eb57d6074d02a6ba6e90e744f1a29f",
      "tree": "35d58c8a900fa7cea03ea05d9d03ee01d24d5f51",
      "parents": [
        "f75ba3ade8a4599d67040a9493d75a864e7b329c"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Mon Mar 27 01:14:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:40 2006 -0800"
      },
      "message": "[PATCH] autofs4: nameidata needs to be up to date for follow_link\n\nIn order to be able to trigger a mount using the follow_link inode method the\nnameidata struct that is passed in needs to have the vfsmount of the autofs\ntrigger not its parent.\n\nDuring a path walk if an autofs trigger is mounted on a dentry, when the\nfollow_link method is called, the nameidata struct contains the vfsmount and\nmountpoint dentry of the parent mount while the dentry that is passed in is\nthe root of the autofs trigger mount.  I believe it is impossible to get the\nvfsmount of the trigger mount, within the follow_link method, when only the\nparent vfsmount and the root dentry of the trigger mount are known.\n\nThis patch updates the nameidata struct on entry to __do_follow_link if it\ndetects that it is out of date.  It moves the path_to_nameidata to above\n__do_follow_link to facilitate calling it from there.  The dput_path is moved\nas well as that seemed sensible.  No changes are made to these two functions.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.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": "1b9a3917366028cc451a98dd22e3bcd537d4e5c1",
      "tree": "d911058720e0a9aeeaf9f407ccdc6fbf4047f47d",
      "parents": [
        "3661f00e2097676847deb01add1a0918044bd816",
        "71e1c784b24a026a490b3de01541fc5ee14ebc09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "message": "Merge branch \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: (22 commits)\n  [PATCH] fix audit_init failure path\n  [PATCH] EXPORT_SYMBOL patch for audit_log, audit_log_start, audit_log_end and audit_format\n  [PATCH] sem2mutex: audit_netlink_sem\n  [PATCH] simplify audit_free() locking\n  [PATCH] Fix audit operators\n  [PATCH] promiscuous mode\n  [PATCH] Add tty to syscall audit records\n  [PATCH] add/remove rule update\n  [PATCH] audit string fields interface + consumer\n  [PATCH] SE Linux audit events\n  [PATCH] Minor cosmetic cleanups to the code moved into auditfilter.c\n  [PATCH] Fix audit record filtering with !CONFIG_AUDITSYSCALL\n  [PATCH] Fix IA64 success/failure indication in syscall auditing.\n  [PATCH] Miscellaneous bug and warning fixes\n  [PATCH] Capture selinux subject/object context information.\n  [PATCH] Exclude messages by message type\n  [PATCH] Collect more inode information during syscall processing.\n  [PATCH] Pass dentry, not just name, in fsnotify creation hooks.\n  [PATCH] Define new range of userspace messages.\n  [PATCH] Filter rule comparators\n  ...\n\nFixed trivial conflict in security/selinux/hooks.c\n"
    },
    {
      "commit": "7e53cac41da9ebb9be774220c1b2615182667c9d",
      "tree": "e7da5e8189ed1949d091d28e132736542352b739",
      "parents": [
        "341546f5ad6fce584531f744853a5807a140f2a9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sat Mar 25 03:07:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:58 2006 -0800"
      },
      "message": "[PATCH] Honour AOP_TRUNCATE_PAGE returns in page_symlink\n\nAs prepare_write, commit_write and readpage are allowed to return\nAOP_TRUNCATE_PAGE, page_symlink should respond to them.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4af4c52f34606bdaab6930a845550c6fb02078a4",
      "tree": "a61f9a164fea1819c3bfb970dbffa5d778935965",
      "parents": [
        "8d8c85117fbcbaea7718870ad4b1ddd12940d9b0"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Sat Mar 25 03:06:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] Missed error checking for intent\u0027s filp in open_namei().\n\nIt seems there is error check missing in open_namei for errors returned\nthrough intent.open.file (from lookup_instantiate_filp).\n\nIf there is plain open performed, then such a check done inside\n__path_lookup_intent_open called from path_lookup_open(), but when the open\nis performed with O_CREAT flag set, then __path_lookup_intent_open is only\ncalled with LOOKUP_PARENT set where no file opening can occur yet.\n\nLater on lookup_hash is called where exact opening might take place and\nintent.open.file may be filled.  If it is filled with error value of some\nsort, then we get kernel attempting to dereference this error value as\naddress (and corresponding oops) in nameidata_to_filp() called from\nfilp_open().\n\nWhile this is relatively simple to workaround in -\u003elookup() method by just\nchecking lookup_instantiate_filp() return value and returning error as\nneeded, this is not so easy in -\u003ed_revalidate(), where we can only return\n\"yes, dentry is valid\" or \"no, dentry is invalid, perform full lookup\nagain\", and just returning 0 on error would cause extra lookup (with\npotential extra costly RPCs).\n\nSo in short, I believe that there should be no difference in error handling\nfor opening a file and creating a file in open_namei() and propose this\nsimple patch as a solution.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a11f3a0574a5734db3e5de38922430d005d35118",
      "tree": "2f332f623463c5909dc37d20cbf44421854f775a",
      "parents": [
        "144efe3e3e5ad57af549bf800fa4560d7c74e9fe"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:12 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: vfs_rename_mutex\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.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": "73241ccca0f7786933f1d31b3d86f2456549953a",
      "tree": "daa7efabfb7aa2f511a467606786820949e8763e",
      "parents": [
        "f38aa94224c5517a40ba56d453779f70d3229803"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Nov 03 16:00:25 2005 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 20 14:08:53 2006 -0500"
      },
      "message": "[PATCH] Collect more inode information during syscall processing.\n\nThis patch augments the collection of inode info during syscall\nprocessing. It represents part of the functionality that was provided\nby the auditfs patch included in RHEL4.\n\nSpecifically, it:\n\n- Collects information for target inodes created or removed during\n  syscalls.  Previous code only collects information for the target\n  inode\u0027s parent.\n\n- Adds the audit_inode() hook to syscalls that operate on a file\n  descriptor (e.g. fchown), enabling audit to do inode filtering for\n  these calls.\n\n- Modifies filtering code to check audit context for either an inode #\n  or a parent inode # matching a given rule.\n\n- Modifies logging to provide inode # for both parent and child.\n\n- Protect debug info from NULL audit_names.name.\n\n[AV: folded a later typo fix from the same author]\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f38aa94224c5517a40ba56d453779f70d3229803",
      "tree": "30d0f7390cb2f1cf33a55080cb6c0676727af1fa",
      "parents": [
        "90d526c074ae5db484388da56c399acf892b6c17"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Nov 03 15:57:06 2005 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 20 14:08:53 2006 -0500"
      },
      "message": "[PATCH] Pass dentry, not just name, in fsnotify creation hooks.\n\nThe audit hooks (to be added shortly) will want to see dentry-\u003ed_inode\ntoo, not just the name.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "0adb25d2e71ab047423d6fc63d5d184590d0a66f",
      "tree": "0fd00ea22c07c88c3f24085cbf89f0a272f56697",
      "parents": [
        "8bd0ee93fef9733c72fef1817330b3ee2b71cf9d"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Sat Mar 11 03:27:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 11 09:19:34 2006 -0800"
      },
      "message": "[PATCH] ext3: ext3_symlink should use GFP_NOFS allocations inside\n\nThis patch fixes illegal __GFP_FS allocation inside ext3 transaction in\next3_symlink().  Such allocation may re-enter ext3 code from\ntry_to_free_pages.  But JBD/ext3 code keeps a pointer to current journal\nhandle in task_struct and, hence, is not reentrable.\n\nThis bug led to \"Assertion failure in journal_dirty_metadata()\" messages.\n\nhttp://bugzilla.openvz.org/show_bug.cgi?id\u003d115\n\nSigned-off-by: Andrey Savochkin \u003csaw@saw.sw.com.sg\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c04030e16dbea2f7581f82cc6688695927f6ac5b",
      "tree": "7ff5cd2494a133f1bf571f7af02e656bb01d124f",
      "parents": [
        "ee713059d4922e4ee17700496d9eb3b95b1ab836"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Fri Feb 24 13:04:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 24 14:31:39 2006 -0800"
      },
      "message": "[PATCH] flags parameter for linkat\n\nI\u0027m currently at the POSIX meeting and one thing covered was the\nincompatibility of Linux\u0027s link() with the POSIX definition.  The name.\nLinux does not follow symlinks, POSIX requires it does.\n\nEven if somebody thinks this is a good default behavior we cannot change this\nbecause it would break the ABI.  But the fact remains that some application\nmight want this behavior.\n\nWe have one chance to help implementing this without breaking the behavior.\n For this we could use the new linkat interface which would need a new\nflags parameter.  If the new parameter is AT_SYMLINK_FOLLOW the new\nbehavior could be invoked.\n\nI do not want to introduce such a patch now.  But we could add the\nparameter now, just don\u0027t use it.  The patch below would do this.  Can we\nget this late patch applied before the release more or less fixes the\nsyscall API?\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bc8414b079ec372485c99ed1f33c6c42ca9d756",
      "tree": "bdb939f8ef5ad746ac61948c8476683c9e83334f",
      "parents": [
        "c00a76aea339b427b47ddc28de06dee0a652e801"
      ],
      "author": {
        "name": "Suzuki",
        "email": "suzuki@In.ibm.com",
        "time": "Tue Feb 07 12:58:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:32 2006 -0800"
      },
      "message": "[PATCH] Fix do_path_lookup() to add the check for error in link_path_walk()\n\nFix do_path_lookup() to avoid accessing invalid dentry or inode when the\nlink_path_walk() has failed.  This should fix Bugme #5897.\n\nSigned-off-by: Suzuki K P \u003csuzuki@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "170aa3d02614ae621d54af10555e2f48977ae8de",
      "tree": "c1a93a5c95ccc2225639a7c878f6c16b7c317924",
      "parents": [
        "f55eab822b93864ef4eef3bd7eadac2a727c914b"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Sat Feb 04 23:28:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:53 2006 -0800"
      },
      "message": "[PATCH] namei.c: unlock missing in error case\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f55eab822b93864ef4eef3bd7eadac2a727c914b",
      "tree": "ab5103610ecc7699a7307c157c517f2ad790e3a7",
      "parents": [
        "4484ebf12bdb0ebcdc6e8951243cbab3d7f6f4c1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Feb 04 23:28:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:53 2006 -0800"
      },
      "message": "[PATCH] VFS: Ensure LOOKUP_CONTINUE flag is preserved by link_path_walk()\n\nWhen walking a path, the LOOKUP_CONTINUE flag is used by some filesystems\n(for instance NFS) in order to determine whether or not it is looking up\nthe last component of the path.  It this is the case, it may have to look\nat the intent information in order to perform various tasks such as atomic\nopen.\n\nA problem currently occurs when link_path_walk() hits a symlink.  In this\ncase LOOKUP_CONTINUE may be cleared prematurely when we hit the end of the\npath passed by __vfs_follow_link() (i.e.  the end of the symlink path)\nrather than when we hit the end of the path passed by the user.\n\nThe solution is to have link_path_walk() clear LOOKUP_CONTINUE if and only\nif that flag was unset when we entered the function.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.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": "7045f37b17ffa6e85435ca980122b46a74caa7e4",
      "tree": "bdf7544b9d6412199c4dec1b4897822c9b6daeab",
      "parents": [
        "99acf0442111cc452ac1b93868dde8f6ff37a989"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Wed Feb 01 03:06:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:27 2006 -0800"
      },
      "message": "[PATCH] DocBook: fix some kernel-doc comments in fs and block\n\nUpdate some parameter descriptions to actually match the code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5590ff0d5528b60153c0b4e7b771472b5a95e297",
      "tree": "5fdccf2354269702f71beb8e0a2942e4167fd992",
      "parents": [
        "e2f99018eb7b29954747a2dd78e9fc0c36a60f0f"
      ],
      "author": {
        "name": "Ulrich Drepper",
        "email": "drepper@redhat.com",
        "time": "Wed Jan 18 17:43:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 18 19:20:29 2006 -0800"
      },
      "message": "[PATCH] vfs: *at functions: core\n\nHere is a series of patches which introduce in total 13 new system calls\nwhich take a file descriptor/filename pair instead of a single file\nname.  These functions, openat etc, have been discussed on numerous\noccasions.  They are needed to implement race-free filesystem traversal,\nthey are necessary to implement a virtual per-thread current working\ndirectory (think multi-threaded backup software), etc.\n\nWe have in glibc today implementations of the interfaces which use the\n/proc/self/fd magic.  But this code is rather expensive.  Here are some\nresults (similar to what Jim Meyering posted before).\n\nThe test creates a deep directory hierarchy on a tmpfs filesystem.  Then\nrm -fr is used to remove all directories.  Without syscall support I get\nthis:\n\nreal    0m31.921s\nuser    0m0.688s\nsys     0m31.234s\n\nWith syscall support the results are much better:\n\nreal    0m20.699s\nuser    0m0.536s\nsys     0m20.149s\n\nThe interfaces are for obvious reasons currently not much used.  But they\u0027ll\nbe used.  coreutils (and Jeff\u0027s posixutils) are already using them.\nFurthermore, code like ftw/fts in libc (maybe even glob) will also start using\nthem.  I expect a patch to make follow soon.  Every program which is walking\nthe filesystem tree will benefit.\n\nSigned-off-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f16623569e2ec055b489462315f5296f153d119b",
      "tree": "daef533c4ba906c0618795c0f4b8584db33268ef",
      "parents": [
        "652050aec936fdd70ed9cbce1cd1ef30a7c9d117"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:21:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:15 2006 -0800"
      },
      "message": "[PATCH] Mark some key VFS functions as __always_inline\n\nMark a few VFS functions as mandatory inline (based on Al Viro\u0027s request);\nthese must be inline due to stack usage issues during a recursive loop that\nhappens during the recursive symlink resolution (symlink to a symlink to a\nsymlink ..)\n\nThis patch at this point does not change behavior and is for documentation\npurposes only (but this changes later in the series)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "16f7e0fe2ecc30f30652e8185e1772cdebe39109",
      "tree": "e668703267c7b02f1af3cc1581bb4366a5370fdd",
      "parents": [
        "c59ede7b78db329949d9cdcd7064e22d357560ef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (fs/)\n\nfs: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a30131e7dbb17e5fec6958bfac9da9aff1fa29b",
      "tree": "2ff6139b393a9a413e2ea4db4dd2d15eec2201f8",
      "parents": [
        "788540141f4549637e89aadca6e25cf25eb53383"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Sun Jan 08 01:02:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:52 2006 -0800"
      },
      "message": "[PATCH] Fix some problems with truncate and mtime semantics.\n\nSUS requires that when truncating a file to the size that it currently\nis:\n  truncate and ftruncate should NOT modify ctime or mtime\n  O_TRUNC SHOULD modify ctime and mtime.\n\nCurrently mtime and ctime are always modified on most local\nfilesystems (side effect of -\u003etruncate) or never modified (on NFS).\n\nWith this patch:\n  ATTR_CTIME|ATTR_MTIME are sent with ATTR_SIZE precisely when\n    an update of these times is required whether size changes or not\n    (via a new argument to do_truncate).  This allows NFS to do\n    the right thing for O_TRUNC.\n  inode_setattr nolonger forces ATTR_MTIME|ATTR_CTIME when the ATTR_SIZE\n    sets the size to it\u0027s current value.  This allows local filesystems\n    to do the right thing for f?truncate.\n\nAlso, the logic in inode_setattr is changed a bit so there are two return\npoints.  One returns the error from vmtruncate if it failed, the other\nreturns 0 (there can be no other failure).\n\nFinally, if vmtruncate succeeds, and ATTR_SIZE is the only change\nrequested, we now fall-through and mark_inode_dirty.  If a filesystem did\nnot have a -\u003etruncate function, then vmtruncate will have changed i_size,\nwithout marking the inode as \u0027dirty\u0027, and I think this is wrong.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ce6e62bd6591777bd92873e2db93fdbc5228122",
      "tree": "ead8fd8081711dc95dff993342a2da30ff04d8a5",
      "parents": [
        "bb636547b02411ca5eef87b1d030ea3fc090a717"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Nov 08 21:39:46 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:40 2005 -0800"
      },
      "message": "[PATCH] fs/namei.c: make path_lookup_create() static\n\nThis patch makes the needlessly global function path_lookup_create()\nstatic.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "49705b7743fd8f5632a95ec4c6547d169d27ac1f",
      "tree": "b209b1f94bfcfee522c44d2abef1cdb196219a52",
      "parents": [
        "8c744fb83da0771afa04695028e3550b798dad90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 08 21:35:06 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:56:00 2005 -0800"
      },
      "message": "[PATCH] sanitize lookup_hash prototype\n\n-\u003epermission and -\u003elookup have a struct nameidata * argument these days to\npass down lookup intents.  Unfortunately some callers of lookup_hash don\u0027t\nactually pass this one down.  For lookup_one_len() we don\u0027t have a struct\nnameidata to pass down, but as this function is a library function only\nused by filesystem code this is an acceptable limitation.  All other\ncallers should pass down the nameidata, so this patch changes the\nlookup_hash interface to only take a struct nameidata argument and derives\nthe other two arguments to __lookup_hash from it.  All callers already have\nthe nameidata argument available so this is not a problem.\n\nAt the same time I\u0027d like to deprecate the lookup_hash interface as there\nare better exported interfaces for filesystem usage.  Before it can\nactually be removed I need to fix up rpc_pipefs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c744fb83da0771afa04695028e3550b798dad90",
      "tree": "670896a1c2594965099853a6c992907abb3a886f",
      "parents": [
        "e4543eddfd3bf3e0d625841377fa695a519edfd4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 08 21:35:04 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:59 2005 -0800"
      },
      "message": "[PATCH] add a file_permission helper\n\nA few more callers of permission() just want to check for a different access\npattern on an already open file.  This patch adds a wrapper for permission()\nthat takes a file in preparation of per-mount read-only support and to clean\nup the callers a little.  The helper is not intended for new code, everything\nwithout the interface set in stone should use vfs_permission()\n\nSigned-off-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": "e4543eddfd3bf3e0d625841377fa695a519edfd4",
      "tree": "b62546cb0038529bd8cd583333c556ad799f2081",
      "parents": [
        "e4a53cbabc81f04e24a5570b4aa6a6384bdbfc67"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Nov 08 21:35:04 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:58 2005 -0800"
      },
      "message": "[PATCH] add a vfs_permission helper\n\nMost permission() calls have a struct nameidata * available.  This helper\ntakes that as an argument and thus makes sure we pass it down for lookup\nintents and prepares for per-mount read-only support where we need a struct\nvfsmount for checking whether a file is writeable.\n\nSigned-off-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": "cc4e69dee4a080f6eae3f410daec2593f4fa6f00",
      "tree": "b9be8984a0be5f7997d836603963dcf8f2e728ff",
      "parents": [
        "481bed454247538e9f57d4ea37b153ccba24ba7b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:49 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] VFS: pass file pointer to filesystem from ftruncate()\n\nThis patch extends the iattr structure with a file pointer memeber, and adds\nan ATTR_FILE validity flag for this member.\n\nThis is set if do_truncate() is invoked from ftruncate() or from\ndo_coredump().\n\nThe change is source and binary compatible.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42e50a5a69f359e64a143eb0e11a57e18f10c262",
      "tree": "59912bfeeda4fdd34e4a586ecfa58969bd9cffda",
      "parents": [
        "a92897286485735e3708af357f8bcaf0592bd77a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:09 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:18 2005 -0800"
      },
      "message": "[PATCH] open: cleanup in lookup_flags()\n\nlookup_flags() is only called from the non-create case, so it needn\u0027t check\nfor O_CREAT|O_EXCL.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.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": "cdce5d6b94b6182f6d8a5b7b52923933e98cbc92",
      "tree": "e98ec006186a5d18fac2189dc1d6ece1fda9541f",
      "parents": [
        "6f926b5ba75c568296ec227e7d782db4ddbdca5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "message": "VFS: Make link_path_walk set LOOKUP_CONTINUE before calling permission().\n\n This will allow nfs_permission() to perform additional optimizations when\n walking the path, by folding the ACCESS(MAY_EXEC) call on the directory\n into the lookup revalidation.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "834f2a4a1554dc5b2598038b3fe8703defcbe467",
      "tree": "d27a000a2dd03029e6e2472c6e13801688185b51",
      "parents": [
        "039c4d7a82d8268ec71f59679460b41d0dd9b225"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "message": "VFS: Allow the filesystem to return a full file pointer on open intent\n\n This is needed by NFSv4 for atomicity reasons: our open command is in\n fact a lookup+open, so we need to be able to propagate open context\n information from lookup() into the resulting struct file\u0027s\n private_data field.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "829841146878e082613a49581ae252c071057c23",
      "tree": "b38d26d6c99f043f14242351ac084f8b088a772b",
      "parents": [
        "edb4a3534adbaf90768d67da35f0bfeac4767db6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Oct 06 21:54:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Oct 06 21:54:21 2005 -0700"
      },
      "message": "Avoid \u0027names_cache\u0027 memory leak with CONFIG_AUDITSYSCALL\n\nThe nameidata \"last.name\" is always allocated with \"__getname()\", and\nshould always be free\u0027d with \"__putname()\".\n\nUsing \"putname()\" without the underscores will leak memory, because the\nallocation will have been hidden from the AUDITSYSCALL code.\n\nArguably the real bug is that the AUDITSYSCALL code is really broken,\nbut in the meantime this fixes the problem people see.\n\nReported by Robert Derr, patch by Rick Lindsley.\n\nAcked-by: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d54e69c68c05b162a56f9914cae72afd7e6f40a",
      "tree": "c5933858c4861bc3e358559f64ef459a1f56ab75",
      "parents": [
        "63f3d1df1ad276a30b75339dd682a6e1f9d0c181",
        "b6ddc518520887a62728b0414efbf802a9dfdd55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 09:47:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 13 09:47:30 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/dwmw2/audit-2.6 \n"
    },
    {
      "commit": "e31e14ec356f36b131576be5bc31d8fef7e95483",
      "tree": "5597419cf186904d77c4b4ecf117287bcc1db986",
      "parents": [
        "a74574aafea3a63add3251047601611111f44562"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Sep 09 13:01:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:28 2005 -0700"
      },
      "message": "[PATCH] remove the inode_post_link and inode_post_rename LSM hooks\n\nThis patch removes the inode_post_link and inode_post_rename LSM hooks as\nthey are unused (and likely useless).\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a74574aafea3a63add3251047601611111f44562",
      "tree": "a8f4a809589513c666c6f5518cbe84f50ee5523e",
      "parents": [
        "570bc1c2e5ccdb408081e77507a385dc7ebed7fa"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Fri Sep 09 13:01:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:28 2005 -0700"
      },
      "message": "[PATCH] Remove security_inode_post_create/mkdir/symlink/mknod hooks\n\nThis patch removes the inode_post_create/mkdir/mknod/symlink LSM hooks as\nthey are obsoleted by the new inode_init_security hook that enables atomic\ninode security labeling.\n\nIf anyone sees any reason to retain these hooks, please speak now.  Also,\nis anyone using the post_rename/link hooks; if not, those could also be\nremoved.\n\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09dd17d3e5e43ea6d3f3a12829108c4ca13ff810",
      "tree": "5f83a8903f3e460c0c0634e539a1f5a1bc4b2a60",
      "parents": [
        "e89bbd3a0b3c054d9a94feb0db7bbae1cdb99e54"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Sep 06 15:18:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:42 2005 -0700"
      },
      "message": "[PATCH] namei cleanup\n\nExtract common code into inline functions to make reading easier.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "efda9452046bdd707b23a85b7846ec33548f84f1",
      "tree": "f08c915049ea1829ba115cd41a0ba28ddf184e07",
      "parents": [
        "b01f2cc1c37ac3d5ca313c90370a586dffe5aca9",
        "36676bcbf9f6bcbea9d06e67ee8d04eacde54952"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Aug 27 14:30:07 2005 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Aug 27 14:30:07 2005 +0200"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n"
    },
    {
      "commit": "cc314eef0128a807e50fa03baf2d0abc0647952c",
      "tree": "8e38db1be28006894915273b3f3cb3beaa6efda3",
      "parents": [
        "2fb1e3086df9b454538491fba8121298da37cd23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "message": "Fix nasty ncpfs symlink handling bug.\n\nThis bug could cause oopses and page state corruption, because ncpfs\nused the generic page-cache symlink handlign functions.  But those\nfunctions only work if the page cache is guaranteed to be \"stable\", ie a\npage that was installed when the symlink walk was started has to still\nbe installed in the page cache at the end of the walk.\n\nWe could have fixed ncpfs to not use the generic helper routines, but it\nis in many ways much cleaner to instead improve on the symlink walking\nhelper routines so that they don\u0027t require that absolute stability.\n\nWe do this by allowing \"follow_link()\" to return a error-pointer as a\ncookie, which is fed back to the cleanup \"put_link()\" routine.  This\nalso simplifies NFS symlink handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "327b6b08d6ab3bf5488120ba02ed2fe06b09efe6",
      "tree": "592b0ebc2f5f18dac0bdc0fd6ba87d2c8b07b232",
      "parents": [
        "c973b112c76c9d8fd042991128f218a738cc8d0a",
        "2ad56496627630ebc99f06af5f81ca23e17e014e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed Aug 17 14:37:55 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed Aug 17 14:37:55 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n"
    },
    {
      "commit": "89204c40a03346cd951e698d854105db4cfedc28",
      "tree": "02f52e02f9f11c13c9859217755b043fcf0bbc30",
      "parents": [
        "0bf955ce98cb3cf40e20d0cc435299eb76e8819e"
      ],
      "author": {
        "name": "John McCutchan",
        "email": "jmccutchan@novell.com",
        "time": "Mon Aug 15 12:13:28 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 15 09:50:31 2005 -0700"
      },
      "message": "[PATCH] inotify: add MOVE_SELF event\n\nThis adds a MOVE_SELF event to inotify.  It is sent whenever the inode\nyou are watching is moved.  We need this event so that we can catch\nsomething like this:\n\n - app1:\n\twatch /etc/mtab\n\n - app2:\n\tcp /etc/mtab /tmp/mtab-work\n\tmv /etc/mtab /etc/mtab~\n\tmv /tmp/mtab-work /etc/mtab\n\napp1 still thinks it\u0027s watching /etc/mtab but it\u0027s actually watching\n/etc/mtab~.\n\nSigned-off-by: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c973b112c76c9d8fd042991128f218a738cc8d0a",
      "tree": "e813b0da5d0a0e19e06de6462d145a29ad683026",
      "parents": [
        "c5fbc3966f48279dbebfde10248c977014aa9988",
        "00dd1e433967872f3997a45d5adf35056fdf2f56"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue Aug 09 16:51:35 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Tue Aug 09 16:51:35 2005 +0100"
      },
      "message": "Merge with /shiny/git/linux-2.6/.git\n"
    },
    {
      "commit": "7a91bf7f5c22c8407a9991cbd9ce5bb87caa6b4a",
      "tree": "ffd77cfbf621a990052c1277d8a18451b9363dda",
      "parents": [
        "1963c907b21e140082d081b1c8f8c2154593c7d7"
      ],
      "author": {
        "name": "John McCutchan",
        "email": "ttb@tentacle.dhs.org",
        "time": "Mon Aug 08 13:52:16 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 08 11:53:47 2005 -0700"
      },
      "message": "[PATCH] fsnotify_name/inoderemove\n\nThe patch below unhooks fsnotify from vfs_unlink \u0026 vfs_rmdir.  It\nintroduces two new fsnotify calls, that are hooked in at the dcache\nlevel.  This not only more closely matches how the VFS layer works, it\nalso avoids the problem with locking and inode lifetimes.\n\nThe two functions are\n\n - fsnotify_nameremove -- called when a directory entry is going away.\n   It notifies the PARENT of the deletion.  This is called from\n   d_delete().\n\n - inoderemove -- called when the files inode itself is going away.  It\n   notifies the inode that is being deleted.  This is called from\n   dentry_iput().\n\nSigned-off-by: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c3dba1534569734ba353afdf3f11def497ff2ac",
      "tree": "ec52740643c710072aab5122e96851c63ed049a0",
      "parents": [
        "f10eff26831159f52353e8f15c37cdb2935d5fbf"
      ],
      "author": {
        "name": "John McCutchan",
        "email": "ttb@tentacle.dhs.org",
        "time": "Thu Aug 04 21:12:54 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 21:37:39 2005 -0700"
      },
      "message": "[PATCH] Clean up inotify delete race fix\n\nThis avoids the whole #ifdef mess by just getting a copy of\ndentry-\u003ed_inode before d_delete is called - that makes the codepaths the\nsame for the INOTIFY/DNOTIFY cases as for the regular no-notify case.\nI\u0027ve been running this under a Gnome session for the last 10 minutes.\nInotify is being used extensively.\n\nSigned-off-by: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e234f35c54a30d040313e40833dcf623d14629b4",
      "tree": "6e23053de3e84c1d8f54531a52fda68cee2bf03b",
      "parents": [
        "3de11748c1b312833e8a148ab7ec47669ecc99dc"
      ],
      "author": {
        "name": "John McCutchan",
        "email": "ttb@tentacle.dhs.org",
        "time": "Thu Aug 04 13:07:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 13:11:15 2005 -0700"
      },
      "message": "[PATCH] inotify delete race fix\n\nThe included patch fixes a problem where a inotify client would receive a\ndelete event before the file was actually deleted.  The bug affects both\ndnotify \u0026 inotify.\n\nSigned-off-by: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7544953685859875b5ac0260b6b1856066c092d6",
      "tree": "acfe43ff758f7d7a6d0c575ca0e4f343b3640984",
      "parents": [
        "be2ac68f7b66e90b8d25c168fc4d033b034f5c43"
      ],
      "author": {
        "name": "John McCutchan",
        "email": "ttb@tentacle.dhs.org",
        "time": "Mon Aug 01 11:00:45 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Aug 01 09:16:53 2005 -0700"
      },
      "message": "[PATCH] inotify: fix file deletion by rename detection\n\nWhen a file is moved over an existing file that you are watching,\ninotify won\u0027t send you a DELETE_SELF event and it won\u0027t unref the inode\nuntil the inotify instance is closed by the application.\n\nSigned-off-by: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30beab1491f0b96b2f23d3fb68af01fd921a16d8",
      "tree": "c580bdc0846269fbb10feeda901ecec1a48ee2ef",
      "parents": [
        "21af6c4f2aa5f63138871b4ddd77d7ebf2588c9d",
        "c32511e2718618f0b53479eb36e07439aa363a74"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed Jul 13 15:25:59 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Wed Jul 13 15:25:59 2005 +0100"
      },
      "message": "Merge with /shiny/git/linux-2.6/.git\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.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": "751c404b8f63e8199d5f2f8f2bcfd69b41d11caa",
      "tree": "d69c76ceadbaa6f5ca3fd7be881201e87ef93377",
      "parents": [
        "55e700b924f9e0ba24e3a071d1097d050b05abe6"
      ],
      "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 _mntput to mntput_no_expire\n\nThis patch renames _mntput() to something a little more descriptive:\nmntput_no_expire().\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": "d2f6409584e2c62ffad81690562330ff3bf4a458",
      "tree": "3bdfb97d0b51be2f7f414f2107e97603c1206abb",
      "parents": [
        "e1b09eba2686eca94a3a188042b518df6044a3c1",
        "4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Jul 02 13:39:09 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Sat Jul 02 13:39:09 2005 +0100"
      },
      "message": "Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n\n"
    },
    {
      "commit": "c663e5d80ebec426916ad2aa5400c7ec99aa572e",
      "tree": "463dd4600525e536ed00579fa30bab9708c53824",
      "parents": [
        "70f09f1fdf38cd7fca39913978d18cf998ab2c80"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:26 2005 -0700"
      },
      "message": "[PATCH] add some comments to lookup_create()\n\nIn a duplicate of lookup_create in the af_unix code Al commented what\u0027s\ngoing on nicely, so let\u0027s bring that over to lookup_create before the copy\nis going away (I\u0027ll send a patch soon)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae7b961b1c943367dfe179411f120d7bf8eaba89",
      "tree": "d40171c26b22295e45ad7b67923442bfb513752a",
      "parents": [
        "f7056d64ae101d910f965a2e39831f635ef7891b"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon Jun 20 16:11:05 2005 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Mon Jun 20 16:11:05 2005 +0100"
      },
      "message": "AUDIT: Report lookup flags with path/inode records.\n\nWhen LOOKUP_PARENT is used, the inode which results is not the inode\nfound at the pathname. Report the flags so that this doesn\u0027t generate\nmisleading audit records.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "d671a1cbf7c7a5c5562106d39eb7f830ae5273ae",
      "tree": "c27ab7e75684cb70d943c3b2690ebbd62000a921",
      "parents": [
        "634ee7017b31e46e28c0bd2cb488213331bfd39a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:14 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:27 2005 -0700"
      },
      "message": "[PATCH] namei fixes (19/19)\n\n__do_follow_link() passes potentially worng vfsmount to touch_atime().  It\nmatters only in (currently impossible) case of symlink mounted on something,\nbut it\u0027s trivial to fix and that actually makes more sense.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "634ee7017b31e46e28c0bd2cb488213331bfd39a",
      "tree": "98094ec596bd637bc305b626b3c9482860b13d88",
      "parents": [
        "58c465eba4d7ed307c4c7cb3382ba7ee565e8858"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:27 2005 -0700"
      },
      "message": "[PATCH] namei fixes (18/19)\n\nCosmetical cleanups - __follow_mount() calls in __link_path_walk() absorbed\ninto do_lookup().\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "58c465eba4d7ed307c4c7cb3382ba7ee565e8858",
      "tree": "f147af3fee122ec5cc054ac78fa30e1490a8acd0",
      "parents": [
        "39ca6d49759346d4710c759d443eec8048b27213"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:27 2005 -0700"
      },
      "message": "[PATCH] namei fixes (17/19)\n\nfollow_mount() made void, reordered dput()/mntput() in it.\n\nfollow_dotdot() switched from struct vfmount ** + struct dentry ** to\nstruct nameidata *; callers updated.\n\nEquivalent transformation + fix for too-early-mntput() race.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39ca6d49759346d4710c759d443eec8048b27213",
      "tree": "559f7d4f5536d2f155ef4301bb2e4056e7a5e587",
      "parents": [
        "d9d29a29669f96903d9950bb881c2a393fd33849"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:27 2005 -0700"
      },
      "message": "[PATCH] namei fixes (16/19)\n\nConditional mntput() moved into __do_follow_link().  There it collapses with\nunconditional mntget() on the same sucker, closing another too-early-mntput()\nrace.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9d29a29669f96903d9950bb881c2a393fd33849",
      "tree": "d2e12822db98a1bf8feac9f428ba18d867771a85",
      "parents": [
        "4b7b9772e4c3d87e649d4c419d2487aacf1235aa"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:27 2005 -0700"
      },
      "message": "[PATCH] namei fixes (15/19)\n\nGetting rid of sloppy logics:\n\na) in do_follow_link() we have the wrong vfsmount dropped if our symlink\nhad been mounted on something.  Currently it worls only because we never\nget such situation (modulo filesystem playing dirty tricks on us).  And\nit obfuscates already convoluted logics...\n\nb) same goes for open_namei().\n\nc) in __link_path_walk() we have another \"it should never happen\" sloppiness -\nout_dput: there does double-free on underlying vfsmount and leaks the covering\none if we hit it just after crossing a mountpoint.  Again, wrong vfsmount\ngetting dropped.\n\nd) another too-early-mntput() race - in do_follow_mount() we need to postpone\nconditional mntput(path-\u003emnt) until after dput(path-\u003edentry).  Again, this one\nhappens only in it-currently-never-happens-unless-some-fs-plays-dirty\nscenario...\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b7b9772e4c3d87e649d4c419d2487aacf1235aa",
      "tree": "943427ad8ef5ed51ab0802cf81f5c0e721fb36c6",
      "parents": [
        "ba7a4c1a76f56c607560f1676680ff491747bdae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:26 2005 -0700"
      },
      "message": "[PATCH] namei fixes (14/19)\n\nshifted conditional mntput() into do_follow_link() - all callers were doing\nthe same thing.\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba7a4c1a76f56c607560f1676680ff491747bdae",
      "tree": "c68f4fd0d5802819eb16dc6c126b2c24f4e09634",
      "parents": [
        "a15a3f6fc67d910f43098acec6e19d25a37d7cb9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:26 2005 -0700"
      },
      "message": "[PATCH] namei fixes (13/19)\n\nIn open_namei() exit_dput: we have mntput() done in the wrong order -\nif nd-\u003emnt !\u003d path.mnt we end up doing\n\tmntput(nd-\u003emnt);\n\tnd-\u003emnt \u003d path.mnt;\n\tdput(nd-\u003edentry);\n\tmntput(nd-\u003emnt);\nwhich drops nd-\u003edentry too late.  Fixed by having path.mnt go first.\nThat allows to switch O_NOFOLLOW under if (__follow_mount(...)) back\nto exit_dput, while we are at it.\n\nFix for early-mntput() race + equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a15a3f6fc67d910f43098acec6e19d25a37d7cb9",
      "tree": "f00e6a3f505f2e77568695f6f5e2bd4786fcc8ca",
      "parents": [
        "2f12dbfbb6286c725c283a169f8f05e89a86848b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:08 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:26 2005 -0700"
      },
      "message": "[PATCH] namei fixes (12/19)\n\nIn open_namei() we take mntput(nd-\u003emnt);nd-\u003emnt\u003dpath.mnt; out of the if\n(__follow_mount(...)), making it conditional on nd-\u003emnt !\u003d path.mnt instead.\n\nThen we shift the result downstream.\n\nEquivalent transformations.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f12dbfbb6286c725c283a169f8f05e89a86848b",
      "tree": "5d0a725f71a041955d49146c4837a0df19a015dc",
      "parents": [
        "e13b210f6f7bdc44dfee0a9bbd633a32db0d6333"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:07 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:26 2005 -0700"
      },
      "message": "[PATCH] namei fixes (11/19)\n\nshifted conditional mntput() calls in __link_path_walk() downstream.\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e13b210f6f7bdc44dfee0a9bbd633a32db0d6333",
      "tree": "f957ec2fc24f8a9eb84dcffe76341262c1acedf0",
      "parents": [
        "463ffb2e9d39c2a3fd8c3c1d4a34e01f2078f972"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:26 2005 -0700"
      },
      "message": "[PATCH] namei fixes (10/19)\n\nIn open_namei(), __follow_down() loop turned into __follow_mount().\nInstead of\n\tif we are on a mountpoint dentry\n\t\tif O_NOFOLLOW checks fail\n\t\t\tdrop path.dentry\n\t\t\tdrop nd\n\t\t\treturn\n\t\tdo equivalent of follow_mount(\u0026path.mnt, \u0026path.dentry)\n\t\tnd-\u003emnt \u003d path.mnt\nwe do\n\tif __follow_mount(path) had, indeed, traversed mountpoint\n\t\t/* now both nd-\u003emnt and path.mnt are pinned down */\n\t\tif O_NOFOLLOW checks fail\n\t\t\tdrop path.dentry\n\t\t\tdrop path.mnt\n\t\t\tdrop nd\n\t\t\treturn\n\t\tmntput(nd-\u003emnt)\n\t\tnd-\u003emnt \u003d path.mnt\n\nNow __follow_down() can be folded into follow_down() - no other callers left.\nWe need to reorder dput()/mntput() there - same problem as in follow_mount().\n\nEquivalent transformation + fix for a bug in O_NOFOLLOW handling - we used to\nget -ELOOP if we had the same fs mounted on /foo and /bar, had something bound\non /bar/baz and tried to open /foo/baz with O_NOFOLLOW.  And fix of\ntoo-early-mntput() race in follow_down()\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "463ffb2e9d39c2a3fd8c3c1d4a34e01f2078f972",
      "tree": "e5d9b39aca2a546bf2b832c5a2a7066e34f9c1b5",
      "parents": [
        "d671d5e51400aab03c713a16ce3545aa81ad7b1c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:25 2005 -0700"
      },
      "message": "[PATCH] namei fixes (9/19)\n\nNew helper: __follow_mount(struct path *path).  Same as follow_mount(), except\nthat we do *not* do mntput() after the first lookup_mnt().\n\nIOW, original path-\u003emnt stays pinned down.  We also take care to do dput()\nbefore mntput() in the loop body (follow_mount() also needs that reordering,\nbut that will be done later in the series).\n\nThe following are equivalent, assuming that path.mnt \u003d\u003d x:\n(1)\n\tfollow_mount(\u0026path.mnt, \u0026path.dentry)\n(2)\n\t__follow_mount(\u0026path);\n\tif (path-\u003emnt !\u003d x)\n\t\tmntput(x);\n(3)\n\tif (__follow_mount(\u0026path))\n\t\tmntput(x);\n\nCallers of follow_mount() in __link_path_walk() converted to (2).\n\nEquivalent transformation + fix for too-late-mntput() race in __follow_mount()\nloop.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d671d5e51400aab03c713a16ce3545aa81ad7b1c",
      "tree": "c0ba8f1af3d55320a52024d02be4ab9869a0f6e2",
      "parents": [
        "cd4e91d3bca8d5527289f5984cf32e9fe6fb8293"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:25 2005 -0700"
      },
      "message": "[PATCH] namei fixes (8/19)\n\nIn open_namei() we never use path.mnt or path.dentry after exit: or ok:.\nAssignment of path.dentry in case of LAST_BIND is dead code and only\nobfuscates already convoluted function; assignment of path.mnt after\n__do_follow_link() can be moved down to the place where we set path.dentry.\n\nObviously equivalent transformations, just to clean the air a bit in that\nregion.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd4e91d3bca8d5527289f5984cf32e9fe6fb8293",
      "tree": "5059fedcd7fb8e8893b8d204e18b5813dfae3449",
      "parents": [
        "839d9f93c9f1623fb37234d464d739617879d97e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:03 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:25 2005 -0700"
      },
      "message": "[PATCH] namei fixes (7/19)\n\nThe first argument of __do_follow_link() switched to struct path *\n(__do_follow_link(path-\u003edentry, ...) -\u003e __do_follow_link(path, ...)).\n\nAll callers have the same calls of mntget() right before and dput()/mntput()\nright after __do_follow_link(); these calls have been moved inside.\n\nObviously equivalent transformations.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "839d9f93c9f1623fb37234d464d739617879d97e",
      "tree": "1f3e2e6b31d0417a99868d748fae044a5fd0995e",
      "parents": [
        "1be4a0900be5d2c2fd9cd012e3a153e1ea47b96a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:25 2005 -0700"
      },
      "message": "[PATCH] namei fixes (6/19)\n\nmntget(path-\u003emnt) in do_follow_link() moved down to right before the\n__do_follow_link() call and rigth after loop: resp.\n\ndput()+mntput() on non-ELOOP branch moved up to right after __do_follow_link()\ncall.\n\nresulting\nloop:\n\tmntget(path-\u003emnt);\n\tpath_release(nd);\n\tdput(path-\u003emnt);\n\tmntput(path-\u003emnt);\nreplaced with equivalent\n\tdput(path-\u003emnt);\n\tpath_release(nd);\n\nEquivalent transformations - the reason why we have that mntget() is that\n__do_follow_link() can drop a reference to nd-\u003emnt and that\u0027s what holds\npath-\u003emnt.  So that call can happen at any point prior to __do_follow_link()\ntouching nd-\u003emnt.  The rest is obvious.\n\nNOTE: current tree relies on symlinks *never* being mounted on anything.  It\u0027s\nnot hard to get rid of that assumption (actually, that will come for free\nlater in the series).  For now we are just not making the situation worse than\nit is.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1be4a0900be5d2c2fd9cd012e3a153e1ea47b96a",
      "tree": "e743475f1ff0e078bda6bc8555bfc5b9fb8b4097",
      "parents": [
        "d73ffe16b8baafae6e9249acee6b50c24099c6de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:24 2005 -0700"
      },
      "message": "[PATCH] namei fixes (5/19)\n\nfix for too early mntput() in open_namei() - we pin path.mnt down for the\nduration of __do_follow_link().  Otherwise we could get the fs where our\nsymlink lived unmounted while we were in __do_follow_link().  That would end\nup with dentry of symlink staying pinned down through the fs shutdown.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d73ffe16b8baafae6e9249acee6b50c24099c6de",
      "tree": "321319974be9fcc50f4ec36ccad26b84d4b66b66",
      "parents": [
        "4e7506e4dd9e40c189fcbec95d5dbc92f2e5926a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:24 2005 -0700"
      },
      "message": "[PATCH] namei fixes (4/19)\n\npath.mnt in open_namei() set to mirror nd-\u003emnt.\n\nnd-\u003emnt is set in 3 places in that function - path_lookup() in the beginning,\n__follow_down() loop after do_last: and __do_follow_link() call after\ndo_link:.\n\nWe set path.mnt to nd-\u003emnt after path_lookup() and __do_follow_link().  In\n__follow_down() loop we use \u0026path.mnt instead of \u0026nd-\u003emnt and set nd-\u003emnt to\npath.mnt immediately after that loop.\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4e7506e4dd9e40c189fcbec95d5dbc92f2e5926a",
      "tree": "2c13ff8c1ed25fea1511e67a27575824fc56aabe",
      "parents": [
        "5f92b3bcec0fa2e2d775b589850097f9dc6b2de2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:36:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:24 2005 -0700"
      },
      "message": "[PATCH] namei fixes (3/19)\n\nReplaced struct dentry *dentry in namei with struct path path.  All uses of\ndentry replaced with path.dentry there.\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5f92b3bcec0fa2e2d775b589850097f9dc6b2de2",
      "tree": "239ce9af16392b452f651780e85b40b809b8d17a",
      "parents": [
        "90ebe5654febe3555a2516d51d3d251226d35fdb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:35:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:24 2005 -0700"
      },
      "message": "[PATCH] namei fixes (2/19)\n\nAll callers of do_follow_link() do mntget() right before it and\ndput()+mntput() right after.  These calls are moved inside do_follow_link()\nnow.\n\nObviously equivalent transformation.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "90ebe5654febe3555a2516d51d3d251226d35fdb"
}
