)]}'
{
  "log": [
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aeb3db17fc33443d21b11d7121c5627d55717c6",
      "tree": "93cdb60d5e48d1f92a974b905ddcf7ee8072dbeb",
      "parents": [
        "85787a2bea516b76a013eea7f5f3fad12c5a6417"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Aug 30 23:56:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:23 2007 -0700"
      },
      "message": "eCryptfs: fix possible fault in ecryptfs_sync_page\n\nThis will avoid a possible fault in ecryptfs_sync_page().\n\nIn the function, eCryptfs calls sync_page() method of a lower filesystem\nwithout checking its existence.  However, there are many filesystems that\ndon\u0027t have this method including network filesystems such as NFS, AFS, and\nso forth.  They may fail when an eCryptfs page is waiting for lock.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: 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": "060d11b0b35d13eb2251fd08403d900b71df5791",
      "tree": "63fefeb7811574a5b06624e07fbfdd9a82041961",
      "parents": [
        "aa137f9d29d30592774c727ec5cfcf9891e576fa"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Aug 30 23:56:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Aug 31 01:42:22 2007 -0700"
      },
      "message": "revert \"eCryptfs: fix lookup error for special files\"\n\nThis patch got appied twice.\n\nCc: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\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": "df068464169a84a6a66c05d140f43a46d5eb6176",
      "tree": "906550a012e056940e88ebe76b1fde50dbfd6c41",
      "parents": [
        "74e8f346d59074147c564d9c1ffd6caf18286516"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Aug 22 14:01:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:44 2007 -0700"
      },
      "message": "eCryptfs: fix lookup error for special files\n\nWhen ecryptfs_lookup() is called against special files, eCryptfs generates\nthe following errors because it tries to treat them like regular eCryptfs\nfiles.\n\nError opening lower file for lower_dentry [0xffff810233a6f150], lower_mnt [0xffff810235bb4c80], and flags [0x8000]\nError opening lower_file to read header region\nError attempting to read the [user.ecryptfs] xattr from the lower file; return value \u003d [-95]\nValid metadata not found in header region or xattr region; treating file as unencrypted\n\nFor instance, the problem can be reproduced by the steps below.\n\n  # mkdir /root/crypt /mnt/crypt\n  # mount -t ecryptfs /root/crypt /mnt/crypt\n  # mknod /mnt/crypt/c0 c 0 0\n  # umount /mnt/crypt\n  # mount -t ecryptfs /root/crypt /mnt/crypt\n  # ls -l /mnt/crypt\n\nThis patch fixes it by adding a check similar to directories and\nsymlinks.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: 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": "a75de1b3799f8933d6d2b64bdf31194368ec98ab",
      "tree": "9fc97f1b35300ca40463b74ac965e7580d61af70",
      "parents": [
        "b9a0620779d3714abd63dfc28284f5fa2c1fc091"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Aug 10 13:00:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:40 2007 -0700"
      },
      "message": "eCryptfs: fix error handling in ecryptfs_init\n\necryptfs_init() exits without doing any cleanup jobs if\necryptfs_init_messaging() fails.  In that case, eCryptfs leaves\nsysfs entries, leaks memory, and causes an invalid page fault.\nThis patch fixes the problem.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: 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": "202a21d6914369c1362f1ab50f0cbe92b9c38718",
      "tree": "a7e6ac7518008bb3992361d849d921224cd0ccab",
      "parents": [
        "60c9834238482f805b1d9e4dc2a780405ddab80f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Aug 10 13:00:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:40 2007 -0700"
      },
      "message": "eCryptfs: fix lookup error for special files\n\nWhen ecryptfs_lookup() is called against special files, eCryptfs generates\nthe following errors because it tries to treat them like regular eCryptfs\nfiles.\n\nError opening lower file for lower_dentry [0xffff810233a6f150], lower_mnt [0xffff810235bb4c80], and flags\n[0x8000]\nError opening lower_file to read header region\nError attempting to read the [user.ecryptfs] xattr from the lower file; return value \u003d [-95]\nValid metadata not found in header region or xattr region; treating file as unencrypted\n\nFor instance, the problem can be reproduced by the steps below.\n\n  # mkdir /root/crypt /mnt/crypt\n  # mount -t ecryptfs /root/crypt /mnt/crypt\n  # mknod /mnt/crypt/c0 c 0 0\n  # umount /mnt/crypt\n  # mount -t ecryptfs /root/crypt /mnt/crypt\n  # ls -l /mnt/crypt\n\nThis patch fixes it by adding a check similar to directories and\nsymlinks.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: 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": "1833633803c7ef4d8f09877d3f1549cbd252f477",
      "tree": "ce69505de705701f838bd77c6b6b6bc18529bed0",
      "parents": [
        "e228929bc257b963523ed75aa60d2ad77ece2189"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Jul 20 00:31:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:44:19 2007 -0700"
      },
      "message": "fix some conversion overflows\n\nFix page index to offset conversion overflows in buffer layer, ecryptfs,\nand ocfs2.\n\nIt would be nice to convert the whole tree to page_offset, but for now\njust fix the bugs.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@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": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "64ee4808a786caade50362d5057f65314fdf2f36",
      "tree": "8eaed3de1a0cc0aa2e4189e5b3a7ff9505e60dee",
      "parents": [
        "39ef01e00daf6d860783f1a836f765265a9d3b47"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Jul 19 01:47:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "eCryptfs: ecryptfs_setattr() bugfix\n\nThere is another bug recently introduced into the ecryptfs_setattr()\nfunction in 2.6.22.  eCryptfs will attempt to treat special files like\nregular eCryptfs files on chmod, chown, and so forth.  This leads to a NULL\npointer dereference.  This patch validates that the file is a regular file\nbefore proceeding with operations related to the inode\u0027s crypt_stat.\n\nThanks to Ryusuke Konishi for finding this bug and suggesting the fix.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c381bfcf0cd100a37cd969fa0d3aa758e13b5bcc",
      "tree": "84849928c8c11add3d13bf66e1f64a22698181a4",
      "parents": [
        "1269bc69b6649282091bb7007372acf4ab8357fd"
      ],
      "author": {
        "name": "Mika Kukkonen",
        "email": "mikukkon@miku.homelinux.net",
        "time": "Tue Jul 17 04:04:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "Couple fixes to fs/ecryptfs/inode.c\n\nFollowing was uncovered by compiling the kernel with \u0027-W\u0027 flag:\n\n  CC [M]  fs/ecryptfs/inode.o\nfs/ecryptfs/inode.c: In function ‘ecryptfs_lookup’:\nfs/ecryptfs/inode.c:304: warning: comparison of unsigned expression \u003c 0 is always false\nfs/ecryptfs/inode.c: In function ‘ecryptfs_symlink’:\nfs/ecryptfs/inode.c:486: warning: comparison of unsigned expression \u003c 0 is always false\n\nFunction ecryptfs_encode_filename() can return -ENOMEM, so change the\nvariables to plain int, as in the first case the only real use actually\nexpects int, and in latter case there is no use beoynd the error check.\n\nSigned-off-by: Mika Kukkonen \u003cmikukkon@iki.fi\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": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "sysfs: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d4c5cdb3e099da7cc64df622b02ff7659babe16e",
      "tree": "2d1662e51e62b8881f386aa79474d7add3db7bca",
      "parents": [
        "e10f281bca03f45bdec91e67645c394eaec2f8f6"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jun 27 14:09:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 28 11:34:53 2007 -0700"
      },
      "message": "zero out last page for llseek/write\n\nWhen one llseek\u0027s past the end of the file and then writes, every page past\nthe previous end of the file should be cleared.  Trevor found that the code,\nas is, does not assure that the very last page is always cleared.  This patch\ntakes care of that.\n\nSigned-off-by: 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": "e10f281bca03f45bdec91e67645c394eaec2f8f6",
      "tree": "e6c0d1b43843d36c36c54aedba3d6b1395435bda",
      "parents": [
        "240e2df5c740d73fc08cac9989872212deb2d20e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jun 27 14:09:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 28 11:34:53 2007 -0700"
      },
      "message": "eCryptfs: initialize crypt_stat in setattr\n\nRecent changes in eCryptfs have made it possible to get to ecryptfs_setattr()\nwith an uninitialized crypt_stat struct.  This results in a wide and colorful\nvariety of unpleasantries.  This patch properly initializes the crypt_stat\nstructure in ecryptfs_setattr() when it is necessary to do so.\n\nSigned-off-by: 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": "240e2df5c740d73fc08cac9989872212deb2d20e",
      "tree": "538dc70281c5401f3843ac8c752b2092f79ba9ee",
      "parents": [
        "b75ae8603568ae18f270213693758c78fb8a29ff"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jun 27 14:09:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 28 11:34:53 2007 -0700"
      },
      "message": "eCryptfs: fix write zeros behavior\n\nThis patch fixes the processes involved in wiping regions of the data during\ntruncate and write events, fixing a kernel hang in 2.6.22-rc4 while assuring\nthat zero values are written out to the appropriate locations during events in\nwhich the i_size will change.\n\nThe range passed to ecryptfs_truncate() from ecryptfs_prepare_write() includes\nthe page that is the object of ecryptfs_prepare_write().  This leads to a\nkernel hang as read_cache_page() is executed on the same page in the\necryptfs_truncate() execution path.  This patch remedies this by limiting the\nrange passed to ecryptfs_truncate() so as to exclude the page that is the\nobject of ecryptfs_prepare_write(); it also adds code to\necryptfs_prepare_write() to zero out the region of its own page when writing\npast the i_size position.  This patch also modifies ecryptfs_truncate() so\nthat when a file is truncated to a smaller size, eCryptfs will zero out the\ncontents of the new last page from the new size through to the end of the last\npage.\n\nSigned-off-by: 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": "53a2731f9310a66beaf55677229ab067c85ce4fa",
      "tree": "6166f49b9205541a96696f648217c606cc9d9a0a",
      "parents": [
        "4acb3e2f97f41cf9b53182b494384467d3ceb304"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed May 23 13:58:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:15 2007 -0700"
      },
      "message": "eCryptfs: delay writing 0\u0027s after llseek until write\n\nDelay writing 0\u0027s out in eCryptfs after a seek past the end of the file\nuntil data is actually written.\n\nhttp://www.opengroup.org/onlinepubs/009695399/functions/lseek.html\n\n``The lseek() function shall not, by itself, extend the size of a\nfile.\u0027\u0027\n\nWithout this fix, applications that lseek() past the end of the file without\nwriting will experience unexpected behavior.\n\nSigned-off-by: 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": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9f2875b7968453a852e1de5d3504fd2241e8989",
      "tree": "0312f11b57164afd57bc0dfbd0e652ded1542cef",
      "parents": [
        "71ce92f3fa442069670a52fa6230a6064c4517b3"
      ],
      "author": {
        "name": "Nate Diller",
        "email": "nate.diller@gmail.com",
        "time": "Wed May 16 22:11:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:05 2007 -0700"
      },
      "message": "ecryptfs: use zero_user_page\n\nUse zero_user_page() instead of open-coding it.\n\nSigned-off-by: Nate Diller \u003cnate.diller@gmail.com\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": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\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": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\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": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b228b8e5bf96b740a70871c1a248bb65c267f5f2",
      "tree": "0697a8341e4f8f3cafe770ba76e12bb900ac3880",
      "parents": [
        "ad28d94abb1313bdf27e196676292c493f92f824"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Fri Mar 16 13:38:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:05 2007 -0700"
      },
      "message": "[PATCH] eCryptfs: fix possible NULL ptr deref in ecryptfs_d_release()\n\necryptfs_d_release() first dereferences a pointer (via\necryptfs_dentry_to_lower()) and then afterwards checks to see if the\npointer it just dereferenced is NULL (via ecryptfs_dentry_to_private()).\n\nThis patch moves all of the work done on the dereferenced pointer inside a\nblock governed by the condition that the pointer is non-NULL.\n\nSigned-off-by: 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": "908e0a8a265fe8057604a9a30aec3f0be7bb5ebb",
      "tree": "e4216141e4083a1c3ccfb51f53f14685758a52f1",
      "parents": [
        "f70c81d4ddb0d300abc252cb594198d3c797a5e1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 07 20:41:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 08 07:39:16 2007 -0800"
      },
      "message": "[PATCH] ecryptfs: nested locking annotation\n\necryptfs uses a lock_parent() function, which I hope really locks the parents\nand is not abused\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "a8fa74ab529f23f812092ece8d7a4766af092332",
      "tree": "bdd3636671755f9022cb2f4dcc6af3a498711bdb",
      "parents": [
        "82b16528405131eadc18285da982d4806f6db34e"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Mar 05 00:30:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:53 2007 -0800"
      },
      "message": "[PATCH] ecryptfs: handle AOP_TRUNCATED_PAGE better\n\n- In fact we don\u0027t have to fail if AOP_TRUNCATED_PAGE was returned from\n  prepare_write or commit_write. It is beter to retry attempt where it\n  is possible.\n\n- Rearange ecryptfs_get_lower_page() error handling logic, make it more clean.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nAcked-by: 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": "82b16528405131eadc18285da982d4806f6db34e",
      "tree": "0c59a2cfa72c0833c364a94d16e6017f42154e9f",
      "parents": [
        "a5f5e43e2b1377392f9afe93aca29b9abf1d6a44"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Mon Mar 05 00:30:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:53 2007 -0800"
      },
      "message": "[PATCH] ecryptfs: lower root result must be adirectory\n\n- Currently after path_lookup succeed we dot\u0027t have any guarantie what\n  it is DIR. This must be explicitly demanded.\n- path_lookup can\u0027t return negative dentry, So inode check is useless.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nAcked-by: 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": "ad5f1196792653dadf09c07a5fa917092b469c1c",
      "tree": "7cf4afe8a81bb55830e8dbfdf97731f1c2e44106",
      "parents": [
        "58e0543e8f355b32f0778a18858b255adb7402ae"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@sw.ru",
        "time": "Mon Mar 05 00:30:12 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:50 2007 -0800"
      },
      "message": "[PATCH] ecryptfs: check xattr operation support fix\n\n  - ecryptfs_write_inode_size_to_metadata() error code was ignored.\n  - i_op-\u003esetxattr() must be supported by lower fs because used below.\n\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nAcked-by: 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": "65dc8145711d1c20aecbb1a8a4a518f7c68611b8",
      "tree": "c3b24591f88ec9ef5b5b10a767b1cdb9500a5668",
      "parents": [
        "1ed6d896de3a57bdfb38cffaa748612f112c2a75"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 28 20:12:57 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: no path_release() after path_lookup() error\n\nDmitriy Monakhov wrote:\n\u003e if path_lookup() return non zero code we don\u0027t have to worry about\n\u003e \u0027nd\u0027 parameter, but ecryptfs_read_super does path_release(\u0026nd) after\n\u003e path_lookup has failed, and dentry counter becomes negative\n\nDo not do a path_release after a path_lookup error.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: 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": "1ed6d896de3a57bdfb38cffaa748612f112c2a75",
      "tree": "4eae9102354f5b17e519a0776dee6043f602eabf",
      "parents": [
        "a8d547d5cf3df447d1527f2e66ba578e88011999"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 28 20:12:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:38 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: remove unnecessary flush_dcache_page()\n\nRemove unnecessary flush_dcache_page() call. Thanks to Dmitriy\nMonakhov for pointing this out.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: 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": "a8d547d5cf3df447d1527f2e66ba578e88011999",
      "tree": "9ecaeed753f0079d09e69bac2b8a93af4ac5fed3",
      "parents": [
        "e109ebd1eed2b91e3c9bb3b42cc27961f0dc22b3"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 28 20:12:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: set O_LARGEFILE when opening lower file\n\nO_LARGEFILE should be set here when opening the lower file.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: 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": "ae73fc093a8cae4d92e22ab8b635e3590e80785d",
      "tree": "d593f88dd5ab406bc785b7acaf137d7fb67d07b2",
      "parents": [
        "05fb6bf0b29552b64dc86f405a484de2514e0ac2"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 28 20:12:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: resolve lower page unlocking problem\n\neCryptfs lower file handling code has several issues:\n  - Retval from prepare_write()/commit_write() wasn\u0027t checked to equality\n    to AOP_TRUNCATED_PAGE.\n  - In some places page wasn\u0027t unmapped and unlocked after error.\n\nSigned-off-by: 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": "008983d9669b80ac628b6b09ce4d78e75844b294",
      "tree": "53e3cade52b4249b20057524106be3caefe43e98",
      "parents": [
        "eb95e7ffa50fa2921ef1845a5dcb2fe5b21e83a2"
      ],
      "author": {
        "name": "Thomas Hisch",
        "email": "t.hisch@gmail.com",
        "time": "Fri Feb 16 01:28:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] ecryptfs: fix forgotten format specifier\n\nAdd format specifier %d for uid in ecryptfs_printk\n\nSigned-off-by: Thomas Hisch \u003ct.hisch@gmail.com\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": "eb95e7ffa50fa2921ef1845a5dcb2fe5b21e83a2",
      "tree": "665bc814f571b88988b668e34cf45f2981853e57",
      "parents": [
        "29dbb3fc8020f025bc38b262ec494e19fd3eac02"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Fri Feb 16 01:28:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:01 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Reduce stack usage in ecryptfs_generate_key_packet_set()\n\neCryptfs is gobbling a lot of stack in ecryptfs_generate_key_packet_set()\nbecause it allocates a temporary memory-hungry ecryptfs_key_record struct.\nThis patch introduces a new kmem_cache for that struct and converts\necryptfs_generate_key_packet_set() to use it.\n\nSigned-off-by: 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": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 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 1\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": "0a9ac38246b11892ad20a1eb9deb67adf8c0db2f",
      "tree": "a5521698784e54263acda35226522e1d3348f786",
      "parents": [
        "e2bd99ec5c0e20ed6aeb079fa8f975c2dcd78a2c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: add flush_dcache_page() calls\n\nCall flush_dcache_page() after modifying a pagecache by hand.\n\nSigned-off-by: 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": "e2bd99ec5c0e20ed6aeb079fa8f975c2dcd78a2c",
      "tree": "78892d49cf55fa4cf22ce9b8b226c63bac8b227c",
      "parents": [
        "9d8b8ce5561890464c54645cdea4d6b157159fec"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: open-code flag checking and manipulation\n\nOpen-code flag checking and manipulation.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Trevor Highland \u003ctshighla@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": "9d8b8ce5561890464c54645cdea4d6b157159fec",
      "tree": "94e7f2cdd3a392806ba7b35e5d2722024ddf4098",
      "parents": [
        "70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: convert kmap() to kmap_atomic()\n\nReplace kmap() with kmap_atomic().  Reduce the amount of time that mappings\nare held.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Trevor Highland \u003ctshighla@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": "70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e",
      "tree": "1b47957d59bfe3b4e5e5244106678f5542f8f295",
      "parents": [
        "e77a56ddceeec87575a13a60fc1a394af6a1f4bc"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: convert f_op-\u003ewrite() to vfs_write()\n\nsys_write() takes a local copy of f_pos and writes that back\ninto the struct file. It does this so that two concurrent write()\ncallers don\u0027t make a mess of f_pos, and of the file contents.\n\necryptfs should be calling vfs_write().  That way we also get the fsnotify\nnotifications, which ecryptfs presently appears to have subverted.\n\nConvert direct calls to f_op-\u003ewrite() into calls to vfs_write().\n\nSigned-off-by: 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": "e77a56ddceeec87575a13a60fc1a394af6a1f4bc",
      "tree": "8be21cc4afbc0596716bc9d4d8dd145dd8c74252",
      "parents": [
        "dd2a3b7ad98f8482cae481cad89dfed5eee48365"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Encrypted passthrough\n\nProvide an option to provide a view of the encrypted files such that the\nmetadata is always in the header of the files, regardless of whether the\nmetadata is actually in the header or in the extended attribute.  This mode of\noperation is useful for applications like incremental backup utilities that do\nnot preserve the extended attributes when directly accessing the lower files.\n\nWith this option enabled, the files under the eCryptfs mount point will be\nread-only.\n\nSigned-off-by: 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": "dd2a3b7ad98f8482cae481cad89dfed5eee48365",
      "tree": "986c09754176ea4c6e8308c6e2cdbf3fc0658a0b",
      "parents": [
        "17398957aa0a05ef62535060b41d103590dcc533"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Generalize metadata read/write\n\nGeneralize the metadata reading and writing mechanisms, with two targets for\nnow: metadata in file header and metadata in the user.ecryptfs xattr of the\nlower file.\n\n[akpm@osdl.org: printk warning fix]\n[bunk@stusta.de: make some needlessly global code static]\nSigned-off-by: 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": "17398957aa0a05ef62535060b41d103590dcc533",
      "tree": "bfb1d65281863811ad46d54f82e52e8924df3284",
      "parents": [
        "dddfa461fc8951f9b5f951c13565b6cac678635a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: xattr flags and mount options\n\nThis patch set introduces the ability to store cryptographic metadata into an\nlower file extended attribute rather than the lower file header region.\n\nThis patch set implements two new mount options:\n\necryptfs_xattr_metadata\n - When set, newly created files will have their cryptographic\n   metadata stored in the extended attribute region of the file rather\n   than the header.\n\n   When storing the data in the file header, there is a minimum of 8KB\n   reserved for the header information for each file, making each file at\n   least 12KB in size.  This can take up a lot of extra disk space if the user\n   creates a lot of small files.  By storing the data in the extended\n   attribute, each file will only occupy at least of 4KB of space.\n\n   As the eCryptfs metadata set becomes larger with new features such as\n   multi-key associations, most popular filesystems will not be able to store\n   all of the information in the xattr region in some cases due to space\n   constraints.  However, the majority of users will only ever associate one\n   key per file, so most users will be okay with storing their data in the\n   xattr region.\n\n   This option should be used with caution.  I want to emphasize that the\n   xattr must be maintained under all circumstances, or the file will be\n   rendered permanently unrecoverable.  The last thing I want is for a user to\n   forget to set an xattr flag in a backup utility, only to later discover\n   that their backups are worthless.\n\necryptfs_encrypted_view\n - When set, this option causes eCryptfs to present applications a\n   view of encrypted files as if the cryptographic metadata were\n   stored in the file header, whether the metadata is actually stored\n   in the header or in the extended attributes.\n\n   No matter what eCryptfs winds up doing in the lower filesystem, I want\n   to preserve a baseline format compatibility for the encrypted files.  As of\n   right now, the metadata may be in the file header or in an xattr.  There is\n   no reason why the metadata could not be put in a separate file in future\n   versions.\n\n   Without the compatibility mode, backup utilities would have to know to\n   back up the metadata file along with the files.  The semantics of eCryptfs\n   have always been that the lower files are self-contained units of encrypted\n   data, and the only additional information required to decrypt any given\n   eCryptfs file is the key.  That is what has always been emphasized about\n   eCryptfs lower files, and that is what users expect.  Providing the\n   encrypted view option will provide a way to userspace applications wherein\n   they can always get to the same old familiar eCryptfs encrypted files,\n   regardless of what eCryptfs winds up doing with the metadata behind the\n   scenes.\n\nThis patch:\n\nAdd extended attribute support to version bit vector, flags to indicate when\nxattr or encrypted view modes are enabled, and support for the new mount\noptions.\n\nSigned-off-by: 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": "dddfa461fc8951f9b5f951c13565b6cac678635a",
      "tree": "eaf51d6825bd97087b9c700f7010ed08e3f83047",
      "parents": [
        "88b4a07e6610f4c93b08b0bb103318218db1e9f6"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Public key; packet management\n\nPublic key support code.  This reads and writes packets in the header that\ncontain public key encrypted file keys.  It calls the messaging code in the\nprevious patch to send and receive encryption and decryption request\npackets from the userspace daemon.\n\n[akpm@osdl.org: cleab fix]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88b4a07e6610f4c93b08b0bb103318218db1e9f6",
      "tree": "32e2f2650bd4841ba6b2fafc724c2806219351b4",
      "parents": [
        "b5d5dfbd59577aed72263f22e28d3eaf98e1c6e5"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Public key transport mechanism\n\nThis is the transport code for public key functionality in eCryptfs.  It\nmanages encryption/decryption request queues with a transport mechanism.\nCurrently, netlink is the only implemented transport.\n\nEach inode has a unique File Encryption Key (FEK).  Under passphrase, a File\nEncryption Key Encryption Key (FEKEK) is generated from a salt/passphrase\ncombo on mount.  This FEKEK encrypts each FEK and writes it into the header of\neach file using the packet format specified in RFC 2440.  This is all\nsymmetric key encryption, so it can all be done via the kernel crypto API.\n\nThese new patches introduce public key encryption of the FEK.  There is no\nasymmetric key encryption support in the kernel crypto API, so eCryptfs pushes\nthe FEK encryption and decryption out to a userspace daemon.  After\nconsidering our requirements and determining the complexity of using various\ntransport mechanisms, we settled on netlink for this communication.\n\neCryptfs stores authentication tokens into the kernel keyring.  These tokens\ncorrelate with individual keys.  For passphrase mode of operation, the\nauthentication token contains the symmetric FEKEK.  For public key, the\nauthentication token contains a PKI type and an opaque data blob managed by\nindividual PKI modules in userspace.\n\nEach user who opens a file under an eCryptfs partition mounted in public key\nmode must be running a daemon.  That daemon has the user\u0027s credentials and has\naccess to all of the keys to which the user should have access.  The daemon,\nwhen started, initializes the pluggable PKI modules available on the system\nand registers itself with the eCryptfs kernel module.  Userspace utilities\nregister public key authentication tokens into the user session keyring.\nThese authentication tokens correlate key signatures with PKI modules and PKI\nblobs.  The PKI blobs contain PKI-specific information necessary for the PKI\nmodule to carry out asymmetric key encryption and decryption.\n\nWhen the eCryptfs module parses the header of an existing file and finds a Tag\n1 (Public Key) packet (see RFC 2440), it reads in the public key identifier\n(signature).  The asymmetrically encrypted FEK is in the Tag 1 packet;\neCryptfs puts together a decrypt request packet containing the signature and\nthe encrypted FEK, then it passes it to the daemon registered for the\ncurrent-\u003eeuid via a netlink unicast to the PID of the daemon, which was\nregistered at the time the daemon was started by the user.\n\nThe daemon actually just makes calls to libecryptfs, which implements request\npacket parsing and manages PKI modules.  libecryptfs grabs the public key\nauthentication token for the given signature from the user session keyring.\nThis auth tok tells libecryptfs which PKI module should receive the request.\nlibecryptfs then makes a decrypt() call to the PKI module, and it passes along\nthe PKI block from the auth tok.  The PKI uses the blob to figure out how it\nshould decrypt the data passed to it; it performs the decryption and passes\nthe decrypted data back to libecryptfs.  libecryptfs then puts together a\nreply packet with the decrypted FEK and passes that back to the eCryptfs\nmodule.\n\nThe eCryptfs module manages these request callouts to userspace code via\nmessage context structs.  The module maintains an array of message context\nstructs and places the elements of the array on two lists: a free and an\nallocated list.  When eCryptfs wants to make a request, it moves a msg ctx\nfrom the free list to the allocated list, sets its state to pending, and fires\noff the message to the user\u0027s registered daemon.\n\nWhen eCryptfs receives a netlink message (via the callback), it correlates the\nmsg ctx struct in the alloc list with the data in the message itself.  The\nmsg-\u003eindex contains the offset of the array of msg ctx structs.  It verifies\nthat the registered daemon PID is the same as the PID of the process that sent\nthe message.  It also validates a sequence number between the received packet\nand the msg ctx.  Then, it copies the contents of the message (the reply\npacket) into the msg ctx struct, sets the state in the msg ctx to done, and\nwakes up the process that was sleeping while waiting for the reply.\n\nThe sleeping process was whatever was performing the sys_open().  This process\noriginally called ecryptfs_send_message(); it is now in\necryptfs_wait_for_response().  When it wakes up and sees that the msg ctx\nstate was set to done, it returns a pointer to the message contents (the reply\npacket) and returns.  If all went well, this packet contains the decrypted\nFEK, which is then copied into the crypt_stat struct, and life continues as\nnormal.\n\nThe case for creation of a new file is very similar, only instead of a decrypt\nrequest, eCryptfs sends out an encrypt request.\n\n\u003e - We have a great clod of key mangement code in-kernel.  Why is that\n\u003e   not suitable (or growable) for public key management?\n\neCryptfs uses Howells\u0027 keyring to store persistent key data and PKI state\ninformation.  It defers public key cryptographic transformations to userspace\ncode.  The userspace data manipulation request really is orthogonal to key\nmanagement in and of itself.  What eCryptfs basically needs is a secure way to\ncommunicate with a particular daemon for a particular task doing a syscall,\nbased on the UID.  Nothing running under another UID should be able to access\nthat channel of communication.\n\n\u003e - Is it appropriate that new infrastructure for public key\n\u003e management be private to a particular fs?\n\nThe messaging.c file contains a lot of code that, perhaps, could be extracted\ninto a separate kernel service.  In essence, this would be a sort of\nrequest/reply mechanism that would involve a userspace daemon.  I am not aware\nof anything that does quite what eCryptfs does, so I was not aware of any\nexisting tools to do just what we wanted.\n\n\u003e   What happens if one of these daemons exits without sending a quit\n\u003e   message?\n\nThere is a stale uid\u003c-\u003epid association in the hash table for that user.  When\nthe user registers a new daemon, eCryptfs cleans up the old association and\ngenerates a new one.  See ecryptfs_process_helo().\n\n\u003e - _why_ does it use netlink?\n\nNetlink provides the transport mechanism that would minimize the complexity of\nthe implementation, given that we can have multiple daemons (one per user).  I\nexplored the possibility of using relayfs, but that would involve having to\nintroduce control channels and a protocol for creating and tearing down\nchannels for the daemons.  We do not have to worry about any of that with\nnetlink.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ddcaf3393b7a3871809b97fae90fac841a1f39",
      "tree": "ed73db33ec9160ecafee9b8a12ba369f98fd21e0",
      "parents": [
        "ba8da2a9485f22455dcb06dd17e2f6d94b81ba89"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jan 27 10:05:15 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 07 09:21:00 2007 +1100"
      },
      "message": "[CRYPTO] api: Remove deprecated interface\n\nThis patch removes the old cipher interface and related code.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "bd243a4b4b028d65a8178db5b57f8ed2cfc9707d",
      "tree": "fc0769f72ea5676c9b999b0cb98eb3d0377b0caf",
      "parents": [
        "e6a002964cf376c2acb1d67c4741044dcd3b1622"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:43 2006 -0800"
      },
      "message": "[PATCH] ecryptfs: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the\necryptfs filesystem.\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": "b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb",
      "tree": "5191451ad8b49536dcbf4d79cd468041d0efe752",
      "parents": [
        "346f20ff6020ffa11d40b789069079c56a444ae6"
      ],
      "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: make eCryptfs a user of struct path\n\nConvert eCryptfs dentry-vfsmount pairs in dentry private data to struct\npath.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0cc72dc7f050188d8d7344b1dd688cbc68d3cd30",
      "tree": "80a43eb49ca7b720050b7da1eb1d7175b6eaa091",
      "parents": [
        "42cf11939becc717bd125d121a1a23415106a099"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:40 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Use fsstack\u0027s generic copy inode attr functions\n\nReplace eCryptfs specific code \u0026 calls with the more generic fsstack\nequivalents and remove the eCryptfs specific functions.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8487f2e4067839ad3d009c240d51b682264320ae",
      "tree": "1ae06fc26dd926db8ca7f16fe6cecb8f39686a3e",
      "parents": [
        "f13a603786819cc8f2eef6a89bc4a6c88f40ee60"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:38:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:39 2006 -0800"
      },
      "message": "[PATCH] make ecryptfs_version_str_map[] static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6",
      "tree": "4bbc467e881f9dce909de3d9d9d27bb068a8a3b4",
      "parents": [
        "e6b4f8da3a88457148038bc952043e99a7fdba64"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_USER\n\nSLAB_USER is an alias of GFP_USER\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "de88777e6942de76410ad2eb2858f5fbb6eb9c35",
      "tree": "825106cd3660dd473920008669c07fa209b85d98",
      "parents": [
        "3cce4856ff3dfa663b1a168dab48120d70820da6"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Nov 28 12:29:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Tue Nov 28 17:26:50 2006 -0800"
      },
      "message": "[PATCH] ecryptfs: fix crypto_alloc_blkcipher() error check\n\nThe return value of crypto_alloc_blkcipher() should be checked by IS_ERR().\n\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ae56fb16337c882c52806508f93ead4034004c7a",
      "tree": "f2bb551db8d2d9b92c90b5f5462a3617457771bd",
      "parents": [
        "31be8309532a6743f301cb2e83bd12ca07988b09"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Nov 16 01:19:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:38 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: CIFS nlink fixes\n\nWhen CIFS is the lower filesystem, the old lower dentry needs to be explicitly\ndropped from inside eCryptfs to force a revalidate.  In addition, when CIFS is\nthe lower filesystem, the inode attributes need to be copied back up from the\nlower inode to the eCryptfs inode on an eCryptfs revalidate.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a9083081b56800691e79d541638fd2fc6366db0f",
      "tree": "200817d262a0d0b82243a471e78b7ab31b4526d1",
      "parents": [
        "3b9c10dc59eaaef23e5a47110c20fb554f7dba28"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Nov 16 01:19:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:37 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: dput() lower d_parent on rename\n\nOn rename, for both the old and new lower dentry objects, eCryptfs is\nmissing a dput on the lower parent directory dentry.  This patch will\nprevent the BUG() at fs/dcache.c:613 from being hit after renaming a file\ninside eCryptfs and then doing a umount on the lower filesystem.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7bd473fcc217adec000f213e8864bf9a161d57e1",
      "tree": "ae9ee2396383d32ea443ef7131673e0522e53bf3",
      "parents": [
        "2de6c39f389f25442389c3ab0f2d9b50e3f4a77d"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Nov 02 22:06:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:55 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Fix pointer deref\n\nI missed a pointer dereference in this kmalloc result check.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45ec4ababe999cb95f9c0cad03b2689cb0b77a2b",
      "tree": "8d2ff3c5c356539bc87777948822741ca488ea6b",
      "parents": [
        "316bb95e8ed0ddcd767e8aa54264b6c6190f150c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Fix handling of lower d_count\n\nFix the use of dget/dput calls to balance out on the lower filesystem.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "316bb95e8ed0ddcd767e8aa54264b6c6190f150c",
      "tree": "6dc89abf8c1d64a61481cbaa288ad2f3afcf51e9",
      "parents": [
        "7ff1d74f5670329ac4b5959a675f8698ba95be20"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Remove ecryptfs_umount_begin\n\nThere is no point to calling the lower umount_begin when the eCryptfs\numount_begin is called.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ff1d74f5670329ac4b5959a675f8698ba95be20",
      "tree": "1084427fcd0b979c8434315050033dd356623cf3",
      "parents": [
        "8bba066f4e3854755a303cee37ea37bd080a46b3"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Consolidate lower dentry_open\u0027s\n\nOpens on lower dentry objects happen in several places in eCryptfs, and they\nall involve the same steps (dget, mntget, dentry_open).  This patch\nconsolidates the lower open events into a single function call.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bba066f4e3854755a303cee37ea37bd080a46b3",
      "tree": "3f8cf2df5da6459b0218b97b3799ceb896d4ba8a",
      "parents": [
        "565d9724b8ce49b530287de34aa17f45f21624d5"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Cipher code to new crypto API\n\nUpdate cipher block encryption code to the new crypto API.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "565d9724b8ce49b530287de34aa17f45f21624d5",
      "tree": "41df13f34a2715b2846061ea829cdb83407a9d82",
      "parents": [
        "e5d9cbde6ce0001e49994df5fcdcbeff8be8037b"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:01 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Hash code to new crypto API\n\nUpdate eCryptfs hash code to the new kernel crypto API.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5d9cbde6ce0001e49994df5fcdcbeff8be8037b",
      "tree": "aadfbeae4d48c56a0ca6e9612e87d7340dc3b1a1",
      "parents": [
        "4a279ff1ea1cf325775ada983035123fcdc8e986"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Oct 30 22:07:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 31 08:07:00 2006 -0800"
      },
      "message": "[PATCH] eCryptfs: Clean up crypto initialization\n\nClean up the crypto initialization code; let the crypto API take care of the\nkey size checks.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "26da82058e62ea173559a26881b16d10089645ba",
      "tree": "76d897ac2792683193b79def25b3e88ebaa8d49a",
      "parents": [
        "fb5527e68d495650a7658fec9a7246bf922db212"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Oct 19 23:28:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] ecryptfs: use special_file()\n\nUse the special_file() macro to check whether an inode is special instead of\nopen-coding it.\n\nAcked-by: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\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": "237fead619984cc48818fe12ee0ceada3f55b012",
      "tree": "40c6cacf2331191139e847988882b168d111c12e",
      "parents": [
        "f7aa2638f288f4c67acdb55947472740bd27d27a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Oct 04 02:16:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:24 2006 -0700"
      },
      "message": "[PATCH] ecryptfs: fs/Makefile and fs/Kconfig\n\neCryptfs is a stacked cryptographic filesystem for Linux.  It is derived from\nErez Zadok\u0027s Cryptfs, implemented through the FiST framework for generating\nstacked filesystems.  eCryptfs extends Cryptfs to provide advanced key\nmanagement and policy features.  eCryptfs stores cryptographic metadata in the\nheader of each file written, so that encrypted files can be copied between\nhosts; the file will be decryptable with the proper key, and there is no need\nto keep track of any additional information aside from what is already in the\nencrypted file itself.\n\n[akpm@osdl.org: updates for ongoing API changes]\n[bunk@stusta.de: cleanups]\n[akpm@osdl.org: alpha build fix]\n[akpm@osdl.org: cleanups]\n[tytso@mit.edu: inode-diet updates]\n[pbadari@us.ibm.com: generic_file_*_read/write() interface updates]\n[rdunlap@xenotime.net: printk format fixes]\n[akpm@osdl.org: make slab creation and teardown table-driven]\nSigned-off-by: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Stephan Mueller \u003csmueller@chronox.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
