)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "90ebe5654febe3555a2516d51d3d251226d35fdb",
      "tree": "576e1b58886329a4ea0c8a4b20416ce0dead0e51",
      "parents": [
        "4481e8eea761857367162b0957277d5524fbea63"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Jun 06 13:35:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 06 14:42:24 2005 -0700"
      },
      "message": "[PATCH] namei fixes\n\nOK, here comes a patch series that hopefully should close all\ntoo-early-mntput() races in fs/namei.c.  Entire area is convoluted as hell, so\nI\u0027m splitting that series into _very_ small chunks.\n\nPatches alread in the tree close only (very wide) races in following symlinks\n(see \"busy inodes after umount\" thread some time ago).  Unfortunately, quite a\nfew narrower races of the same nature were not closed.  Hopefully this should\ntake care of all of them.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f81a0bffa116ea22149aa7cfb0b4ee09096d9d92",
      "tree": "2266a1ee3719bc62caa9dfd88b16195bc8a79cc4",
      "parents": [
        "2fdba6b085eb7068e9594cfa55ffe40466184b4d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 19 12:26:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 19 12:26:43 2005 -0700"
      },
      "message": "[AF_UNIX]: Use lookup_create().\n\ncurrently it opencodes it, but that\u0027s in the way of chaning the\nlookup_hash interface.\n\nI\u0027d prefer to disallow modular af_unix over exporting lookup_create,\nbut I\u0027ll leave that to you.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c96f85845a6707b0f9916cb263cb3584f7d48f",
      "tree": "45a64d1c9bb71d7093db3a11e0f21465c2e3dec6",
      "parents": [
        "5e198d94dd0c3ec7f6138229e2e412c2c6268c38"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu May 05 16:16:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:47 2005 -0700"
      },
      "message": "[PATCH] make some things static\n\nThis patch makes some needlessly global identifiers static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arjan van de Ven \u003carjanv@infradead.org\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": "ea3834d9fb348fb1144ad3affea22df933eaf62e",
      "tree": "ae1df66df596e9ae2ad808a26772f17d0c0f8262",
      "parents": [
        "81b7854d52d35ed2353dd47033ae630d18322a2d"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Fri Apr 29 16:00:17 2005 +0100"
      },
      "committer": {
        "name": "",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri Apr 29 16:00:17 2005 +0100"
      },
      "message": "namei: add audit_inode to all branches in path_lookup\n\nMain change is in path_lookup: added a goto to do audit_inode\ninstead of return statement, when emul_lookup_dentry for root\nis successful.The existing code does audit_inode only when\nlookup is done in normal root or cwd.\n\nOther changes: Some lookup routines are returning zero on success,\nand some are returning zero on failure. I documented the related\nfunction signatures in this code path, so that one can glance over\nabstract functions without understanding the entire code.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
