)]}'
{
  "log": [
    {
      "commit": "f70f582f0072f37790d2984647198deb3e7782a3",
      "tree": "acdeaf347fdd017346c15d9da858ee02f1b99224",
      "parents": [
        "71c11c378f46e42ca67c1e227646ce23bf43a8c6"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Tue Jan 06 14:42:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "fs/ecryptfs/inode.c: cleanup kerneldoc\n\nArguments lower_dentry and ecryptfs_dentry in ecryptfs_create_underlying_file()\nhave been merged into dentry, now fix it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.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": "71c11c378f46e42ca67c1e227646ce23bf43a8c6",
      "tree": "5762c267801a47bc5efd54242661820472827960",
      "parents": [
        "7d8bc2be51706152828164b305e969b4a8471041"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Clean up ecryptfs_decode_from_filename()\n\nFlesh out the comments for ecryptfs_decode_from_filename(). Remove the\nreturn condition, since it is always 0.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "7d8bc2be51706152828164b305e969b4a8471041",
      "tree": "3020b62d6e94005ed20e59361e10c0891ceba796",
      "parents": [
        "a8f12864c52f8ab8520568dc97969c1749ae60bf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: kerneldoc for ecryptfs_parse_tag_70_packet()\n\nKerneldoc updates for ecryptfs_parse_tag_70_packet().\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "a8f12864c52f8ab8520568dc97969c1749ae60bf",
      "tree": "9b65cf578ce80fb0fc139371b7dd7594ed79a6f0",
      "parents": [
        "df261c52abdef147084c76ecf14473184e907547"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Fix data types (int/size_t)\n\nCorrect several format string data type specifiers.  Correct filename size\ndata types; they should be size_t rather than int when passed as\nparameters to some other functions (although note that the filenames will\nnever be larger than int).\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "df261c52abdef147084c76ecf14473184e907547",
      "tree": "f1f423ba612dbacace82193f2b088252f169a9c6",
      "parents": [
        "87c94c4df0149786ad91d8a03c738a03369ee9c8"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Replace %Z with %z\n\n%Z is a gcc-ism. Using %z instead.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "87c94c4df0149786ad91d8a03c738a03369ee9c8",
      "tree": "6b7ee0b3c3e15d94fdeccb59e8bfab6c9d2a4498",
      "parents": [
        "addd65ad8d19a7d7982130b16f957d5d01d3f8df"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: mount option\n\nEnable mount-wide filename encryption by providing the Filename Encryption\nKey (FNEK) signature as a mount option.  Note that the ecryptfs-utils\nuserspace package versions 61 or later support this option.\n\nWhen mounting with ecryptfs-utils version 61 or later, the mount helper\nwill detect the availability of the passphrase-based filename encryption\nin the kernel (via the eCryptfs sysfs handle) and query the user\ninteractively as to whether or not he wants to enable the feature for the\nmount.  If the user enables filename encryption, the mount helper will\nthen prompt for the FNEK signature that the user wishes to use, suggesting\nby default the signature for the mount passphrase that the user has\nalready entered for encrypting the file contents.\n\nWhen not using the mount helper, the user can specify the signature for\nthe passphrase key with the ecryptfs_fnek_sig\u003d mount option.  This key\nmust be available in the user\u0027s keyring.  The mount helper usually takes\ncare of this step.  If, however, the user is not mounting with the mount\nhelper, then he will need to enter the passphrase key into his keyring\nwith some other utility prior to mounting, such as ecryptfs-manager.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "addd65ad8d19a7d7982130b16f957d5d01d3f8df",
      "tree": "2263b4a4b7a6269410bd161a3995d2b4af3f7bcf",
      "parents": [
        "51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: filldir, lookup, and readlink\n\nMake the requisite modifications to ecryptfs_filldir(), ecryptfs_lookup(),\nand ecryptfs_readlink() to call out to filename encryption functions.\nPropagate filename encryption policy flags from mount-wide crypt_stat to\ninode crypt_stat.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c",
      "tree": "0bd80a0a9322150527b2d2160d7b37d0e067f389",
      "parents": [
        "a34f60f748c6fe5d791e9b54cffe442201428254"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Encoding and encryption functions\n\nThese functions support encrypting and encoding the filename contents.\nThe encrypted filename contents may consist of any ASCII characters.  This\npatch includes a custom encoding mechanism to map the ASCII characters to\na reduced character set that is appropriate for filenames.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "a34f60f748c6fe5d791e9b54cffe442201428254",
      "tree": "1b5378b49773c0f57bb5f892c3d2096da3c9a803",
      "parents": [
        "9c79f34f7ee71cd28272332b424ca64b2be006ab"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Header updates\n\nExtensions to the header file to support filename encryption.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "9c79f34f7ee71cd28272332b424ca64b2be006ab",
      "tree": "1a818b78d8f0497c4b97a77a6464718dfaaf12c1",
      "parents": [
        "14bca6c39d8245a0313f55309bfeb6bf60cc17c8"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Tag 70 packets\n\nThis patchset implements filename encryption via a passphrase-derived\nmount-wide Filename Encryption Key (FNEK) specified as a mount parameter.\nEach encrypted filename has a fixed prefix indicating that eCryptfs should\ntry to decrypt the filename.  When eCryptfs encounters this prefix, it\ndecodes the filename into a tag 70 packet and then decrypts the packet\ncontents using the FNEK, setting the filename to the decrypted filename.\nBoth unencrypted and encrypted filenames can reside in the same lower\nfilesystem.\n\nBecause filename encryption expands the length of the filename during the\nencoding stage, eCryptfs will not properly handle filenames that are\nalready near the maximum filename length.\n\nIn the present implementation, eCryptfs must be able to produce a match\nagainst the lower encrypted and encoded filename representation when given\na plaintext filename.  Therefore, two files having the same plaintext name\nwill encrypt and encode into the same lower filename if they are both\nencrypted using the same FNEK.  This can be changed by finding a way to\nreplace the prepended bytes in the blocked-aligned filename with random\ncharacters; they are hashes of the FNEK right now, so that it is possible\nto deterministically map from a plaintext filename to an encrypted and\nencoded filename in the lower filesystem.  An implementation using random\ncharacters will have to decode and decrypt every single directory entry in\nany given directory any time an event occurs wherein the VFS needs to\ndetermine whether a particular file exists in the lower directory and the\ndecrypted and decoded filenames have not yet been extracted for that\ndirectory.\n\nThanks to Tyler Hicks and David Kleikamp for assistance in the development\nof this patchset.\n\nThis patch:\n\nA tag 70 packet contains a filename encrypted with a Filename Encryption\nKey (FNEK).  This patch implements functions for writing and parsing tag\n70 packets.  This patch also adds definitions and extends structures to\nsupport filename encryption.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "4c728ef583b3d82266584da5cb068294c09df31e",
      "tree": "1252fa82b5a7cf60c0898c3da810228b4c34ebb3",
      "parents": [
        "6110e3abbff8b785907d4db50240e63c1be726e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Dec 22 21:11:15 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "add a vfs_fsync helper\n\nFsync currently has a fdatawrite/fdatawait pair around the method call,\nand a mutex_lock/unlock of the inode mutex.  All callers of fsync have\nto duplicate this, but we have a few and most of them don\u0027t quite get\nit right.  This patch adds a new vfs_fsync that takes care of this.\nIt\u0027s a little more complicated as usual as -\u003efsync might get a NULL file\npointer and just a dentry from nfsd, but otherwise gets afile and we\nwant to take the mapping and file operations from it when it is there.\n\nNotes on the fsync callers:\n\n - ecryptfs wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the\n   \tlower file\n - coda wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the host\n\tfile, and returning 0 when -\u003efsync was missing\n - shm wasn\u0027t calling either filemap_fdatawrite / filemap_fdatawait nor\n   taking i_mutex.  Now given that shared memory doesn\u0027t have disk\n   backing not doing anything in fsync seems fine and I left it out of\n   the vfs_fsync conversion for now, but in that case we might just\n   not pass it through to the lower file at all but just call the no-op\n   simple_sync_file directly.\n\n[and now actually export vfs_fsync]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18",
      "tree": "d656232c7ef39c83681c2de4c8e28ba439242f66",
      "parents": [
        "9742df331deb3fce95b321f38d4ea0c4e75edb63"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 10:06:33 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "inode-\u003ei_op is never NULL\n\nWe used to have rather schizophrenic set of checks for NULL -\u003ei_op even\nthough it had been eliminated years ago.  You\u0027d need to go out of your\nway to set it to NULL explicitly _and_ a bunch of code would die on\nsuch inodes anyway.  After killing two remaining places that still\ndid that bogosity, all that crap can go away.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a17d5232de7b53d34229de79ec22f4bb04adb7e4",
      "tree": "d42a96bf5e0806e4a67404709a8fdf0ed4e551c0",
      "parents": [
        "5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:10 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "eCryptfs: check readlink result was not an error before using it\n\nThe result from readlink is being used to index into the link name\nbuffer without checking whether it is a valid length. If readlink\nreturns an error this will fault or cause memory corruption.\n\nCc: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "18b6e0414e42d95183f07d8177e3ff0241abd825",
      "tree": "91ca2f2d442055e31eb7bb551bf7060f3f4c4cc7",
      "parents": [
        "9789cfe22e5d7bc10cad841a4ea96ecedb34b267"
      ],
      "author": {
        "name": "Serge Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Wed Oct 15 16:38:45 2008 -0500"
      },
      "committer": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Nov 24 18:57:41 2008 -0500"
      },
      "message": "User namespaces: set of cleanups (v2)\n\nThe user_ns is moved from nsproxy to user_struct, so that a struct\ncred by itself is sufficient to determine access (which it otherwise\nwould not be).  Corresponding ecryptfs fixes (by David Howells) are\nhere as well.\n\nFix refcounting.  The following rules now apply:\n        1. The task pins the user struct.\n        2. The user struct pins its user namespace.\n        3. The user namespace pins the struct user which created it.\n\nUser namespaces are cloned during copy_creds().  Unsharing a new user_ns\nis no longer possible.  (We could re-add that, but it\u0027ll cause code\nduplication and doesn\u0027t seem useful if PAM doesn\u0027t need to clone user\nnamespaces).\n\nWhen a user namespace is created, its first user (uid 0) gets empty\nkeyrings and a clean group_info.\n\nThis incorporates a previous patch by David Howells.  Here\nis his original patch description:\n\n\u003eI suggest adding the attached incremental patch.  It makes the following\n\u003echanges:\n\u003e\n\u003e (1) Provides a current_user_ns() macro to wrap accesses to current\u0027s user\n\u003e     namespace.\n\u003e\n\u003e (2) Fixes eCryptFS.\n\u003e\n\u003e (3) Renames create_new_userns() to create_user_ns() to be more consistent\n\u003e     with the other associated functions and because the \u0027new\u0027 in the name is\n\u003e     superfluous.\n\u003e\n\u003e (4) Moves the argument and permission checks made for CLONE_NEWUSER to the\n\u003e     beginning of do_fork() so that they\u0027re done prior to making any attempts\n\u003e     at allocation.\n\u003e\n\u003e (5) Calls create_user_ns() after prepare_creds(), and gives it the new creds\n\u003e     to fill in rather than have it return the new root user.  I don\u0027t imagine\n\u003e     the new root user being used for anything other than filling in a cred\n\u003e     struct.\n\u003e\n\u003e     This also permits me to get rid of a get_uid() and a free_uid(), as the\n\u003e     reference the creds were holding on the old user_struct can just be\n\u003e     transferred to the new namespace\u0027s creator pointer.\n\u003e\n\u003e (6) Makes create_user_ns() reset the UIDs and GIDs of the creds under\n\u003e     preparation rather than doing it in copy_creds().\n\u003e\n\u003eDavid\n\n\u003eSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n\nChangelog:\n\tOct 20: integrate dhowells comments\n\t\t1. leave thread_keyring alone\n\t\t2. use current_user_ns() in set_user()\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\n"
    },
    {
      "commit": "ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142",
      "tree": "118785d6a53390fb15177fc762f744a1bc0a79a4",
      "parents": [
        "3b45d6380c392e402adc460e4ccf7d41e0caf82a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Nov 19 15:36:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "eCryptfs: Allocate up to two scatterlists for crypto ops on keys\n\nI have received some reports of out-of-memory errors on some older AMD\narchitectures.  These errors are what I would expect to see if\ncrypt_stat-\u003ekey were split between two separate pages.  eCryptfs should\nnot assume that any of the memory sent through virt_to_scatterlist() is\nall contained in a single page, and so this patch allocates two\nscatterlist structs instead of one when processing keys.  I have received\nconfirmation from one person affected by this bug that this patch resolves\nthe issue for him, and so I am submitting it for inclusion in a future\nstable release.\n\nNote that virt_to_scatterlist() runs sg_init_table() on the scatterlist\nstructs passed to it, so the calls to sg_init_table() in\ndecrypt_passphrase_encrypted_session_key() are redundant.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Paulo J. S. Silva \u003cpjssilva@ime.usp.br\u003e\nCc: \"Leon Woestenberg\" \u003cleon.woestenberg@gmail.com\u003e\nCc: Tim Gardner \u003ctim.gardner@canonical.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": "745ca2475a6ac596e3d8d37c2759c0fbe2586227",
      "tree": "f87c34bdfbc8542477b16a014bbb4e3b415b286a",
      "parents": [
        "88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "message": "CRED: Pass credentials through dentry_open()\n\nPass credentials through dentry_open() so that the COW creds patch can have\nSELinux\u0027s flush_unauthorized_files() pass the appropriate creds back to itself\nwhen it opens its null chardev.\n\nThe security_dentry_open() call also now takes a creds pointer, as does the\ndentry_open hook in struct security_operations.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4eea03539d9a8e3f5056aed690efde1f75535e7b",
      "tree": "1dd58dee9a286459c7a70b8f82edcb63d20b2c07",
      "parents": [
        "ec4c2aacd16672febca053109eb9ddf672108ca1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:49 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:49 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the eCryptFS filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nCc: ecryptfs-devel@lists.sourceforge.net\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "87b811c3f96559e466403e22b1fa99d472571625",
      "tree": "319179f5d9a1cffaa3ae32aa41076d0fb10aab10",
      "parents": [
        "ce05fcc30ea41c85f9d50bee1ce289f7cb7fb223"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 29 14:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:46 2008 -0700"
      },
      "message": "ecryptfs: fix memory corruption when storing crypto info in xattrs\n\nWhen ecryptfs allocates space to write crypto headers into, before copying\nit out to file headers or to xattrs, it looks at the value of\ncrypt_stat-\u003enum_header_bytes_at_front to determine how much space it\nneeds.  This is also used as the file offset to the actual encrypted data,\nso for xattr-stored crypto info, the value was zero.\n\nSo, we kzalloc\u0027d 0 bytes, and then ran off to write to that memory.\n(Which returned as ZERO_SIZE_PTR, so we explode quickly).\n\nThe right answer is to always allocate a page to write into; the current\ncode won\u0027t ever write more than that (this is enforced by the\n(PAGE_CACHE_SIZE - offset) length in the call to\necryptfs_generate_key_packet_set).  To be explicit about this, we now send\nin a \"max\" parameter, rather than magically using PAGE_CACHE_SIZE there.\n\nAlso, since the pointer we pass down the callchain eventually gets the\nvirt_to_page() treatment, we should be using a alloc_page variant, not\nkzalloc (see also 7fcba054373d5dfc43d26e243a5c9b92069972ee)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\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": "421748ecde8e69a6364e5ae66eb3bf87e1f995c0",
      "tree": "50ef878f8c46b1ec729625ed678d04aaeaaee6dd",
      "parents": [
        "a63bb99660d82dfe7c51588e1f9aadefb756ba51"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Aug 02 01:04:36 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:12:52 2008 -0400"
      },
      "message": "[PATCH] assorted path_lookup() -\u003e kern_path() conversions\n\nmore nameidata eviction\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "624ae5284516870657505103ada531c64dba2a9a",
      "tree": "1098d75abc1f4d335e2276dd9dde00a60ee568b5",
      "parents": [
        "807b7ebe41ab80d96e89a53bc290d49613e56f48"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Oct 15 22:02:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:39 2008 -0700"
      },
      "message": "eCryptfs: remove netlink transport\n\nThe netlink transport code has not worked for a while and the miscdev\ntransport is a simpler solution.  This patch removes the netlink code and\nmakes the miscdev transport the only eCryptfs kernel to userspace\ntransport.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "807b7ebe41ab80d96e89a53bc290d49613e56f48",
      "tree": "79a73c4982d4572c33bf7ad71e92b42650c1636e",
      "parents": [
        "7d6c7045581d3736c5f14053eb59342aa0b2cc07"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Wed Oct 15 22:02:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:39 2008 -0700"
      },
      "message": "ecryptfs: convert to use new aops\n\nConvert ecryptfs to use write_begin/write_end\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.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": "7d6c7045581d3736c5f14053eb59342aa0b2cc07",
      "tree": "3906a3e8b0d4a2e4752c4eb19defc62691d200d7",
      "parents": [
        "9d793b0bcbbbc37d80241862dfa5257963d5415e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Oct 15 22:02:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:38 2008 -0700"
      },
      "message": "eCryptfs: remove retry loop in ecryptfs_readdir()\n\nThe retry block in ecryptfs_readdir() has been in the eCryptfs code base\nfor a while, apparently for no good reason.  This loop could potentially\nrun without terminating.  This patch removes the loop, instead erroring\nout if vfs_readdir() on the lower file fails.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Al Viro \u003cviro@ZinIV.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": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fcba054373d5dfc43d26e243a5c9b92069972ee",
      "tree": "3503fba122a654946b5455bc95fa3978cbc4f68b",
      "parents": [
        "25947d5ac56004378d8c2d31ebf22600d5bc0c02"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jul 28 15:46:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 28 16:30:21 2008 -0700"
      },
      "message": "eCryptfs: use page_alloc not kmalloc to get a page of memory\n\nWith SLUB debugging turned on in 2.6.26, I was getting memory corruption\nwhen testing eCryptfs.  The root cause turned out to be that eCryptfs was\ndoing kmalloc(PAGE_CACHE_SIZE); virt_to_page() and treating that as a nice\npage-aligned chunk of memory.  But at least with SLUB debugging on, this\nis not always true, and the page we get from virt_to_page does not\nnecessarily match the PAGE_CACHE_SIZE worth of memory we got from kmalloc.\n\nMy simple testcase was 2 loops doing \"rm -f fileX; cp /tmp/fileX .\" for 2\ndifferent multi-megabyte files.  With this change I no longer see the\ncorruption.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f419a2e3b64def707e1384ee38abb77f99af5f6d",
      "tree": "adbe12c510f04cf25ca6f822ee8004c8679a3a63",
      "parents": [
        "30524472c2f728c20d6bf35191042a5d455c0a64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 22 00:07:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:31 2008 -0400"
      },
      "message": "[PATCH] kill nameidata passing to permission(), rename to inode_permission()\n\nIncidentally, the name that gives hundreds of false positives on grep\nis not a good idea...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db2e747b14991a4c6a5c98b0e5f552a193237c03",
      "tree": "8850e8ef9e1a7bb3d7bbc051f191cd8350093564",
      "parents": [
        "7e79eedb3b22200cc8b774baea3a7bf28d766101"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 24 16:50:16 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:18 2008 -0400"
      },
      "message": "[patch 5/5] vfs: remove mode parameter from vfs_symlink()\n\nRemove the unused mode parameter from vfs_symlink and callers.\n\nThanks to Tetsuo Handa for noticing.\n\nCC: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "391b52f98cf2e9bff227dad8bf9ea206fec43fa4",
      "tree": "40eb4e0d6d399d9b98b791db497097a1ff44894e",
      "parents": [
        "72b55fffd631a89e5be6fe1b4f2565bc4cd90deb"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jul 23 21:30:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "eCryptfs: Make all persistent file opens delayed\n\nThere is no good reason to immediately open the lower file, and that can\ncause problems with files that the user does not intend to immediately\nopen, such as device nodes.\n\nThis patch removes the persistent file open from the interpose step and\npushes that to the locations where eCryptfs really does need the lower\npersistent file, such as just before reading or writing the metadata\nstored in the lower file header.\n\nTwo functions are jumping to out_dput when they should just be jumping to\nout on error paths.  This patch also fixes these.\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": "72b55fffd631a89e5be6fe1b4f2565bc4cd90deb",
      "tree": "ece810c24655a6eeed96a6f2fbe14dea6478f031",
      "parents": [
        "0a688ad713949643e201431d3f4a4ceddfeb70ca"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jul 23 21:30:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "eCryptfs: do not try to open device files on mknod\n\nWhen creating device nodes, eCryptfs needs to delay actually opening the lower\npersistent file until an application tries to open.  Device handles may not be\nbacked by anything when they first come into existence.\n\n[Valdis.Kletnieks@vt.edu: build fix]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003cValdis.Kletnieks@vt.edu}\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a688ad713949643e201431d3f4a4ceddfeb70ca",
      "tree": "d56c3258db6eb2ea0df39c5e5d86302caa72042c",
      "parents": [
        "29335c6a41568d4708d4ec3b9187f9b6d302e5ea"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 23 21:30:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "ecryptfs: inode.c mmap.c use unaligned byteorder helpers\n\nFixe sparse warnings:\nfs/ecryptfs/inode.c:368:15: warning: cast to restricted __be64\nfs/ecryptfs/mmap.c:385:12: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/mmap.c:385:12:    expected unsigned long long [unsigned] [assigned] [usertype] file_size\nfs/ecryptfs/mmap.c:385:12:    got restricted __be64 [usertype] \u003cnoident\u003e\nfs/ecryptfs/mmap.c:428:12: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/mmap.c:428:12:    expected unsigned long long [unsigned] [assigned] [usertype] file_size\nfs/ecryptfs/mmap.c:428:12:    got restricted __be64 [usertype] \u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "29335c6a41568d4708d4ec3b9187f9b6d302e5ea",
      "tree": "83be9a98e4b657b46377c32624d5d0cd9120ee5f",
      "parents": [
        "8f2368095e25018838e1bf145041f58270ccd32e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Jul 23 21:30:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "ecryptfs: crypto.c use unaligned byteorder helpers\n\nFixes the following sparse warnings:\nfs/ecryptfs/crypto.c:1036:8: warning: cast to restricted __be32\nfs/ecryptfs/crypto.c:1038:8: warning: cast to restricted __be32\nfs/ecryptfs/crypto.c:1077:10: warning: cast to restricted __be32\nfs/ecryptfs/crypto.c:1103:6: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/crypto.c:1105:6: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/crypto.c:1124:8: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/crypto.c:1241:21: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/crypto.c:1244:30: warning: incorrect type in assignment (different base types)\nfs/ecryptfs/crypto.c:1414:23: warning: cast to restricted __be32\nfs/ecryptfs/crypto.c:1417:32: warning: cast to restricted __be16\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "8f2368095e25018838e1bf145041f58270ccd32e",
      "tree": "c8ac94c024d0874f1955c1aa8880d3649dc7d4fc",
      "parents": [
        "982363c97f8cad7aea4c3d2cfebffc1cc2d2f166"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Jul 23 21:30:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "ecryptfs: string copy cleanup\n\nClean up overcomplicated string copy, which also gets rid of this\nbogus warning:\n\nfs/ecryptfs/main.c: In function \u0027ecryptfs_parse_options\u0027:\ninclude/asm/arch/string_32.h:75: warning: array subscript is above array bounds\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\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": "982363c97f8cad7aea4c3d2cfebffc1cc2d2f166",
      "tree": "63459c8ea40c1f45f7a4e14b0630829ab2a43afc",
      "parents": [
        "6c4c17b073cd4a5a61bc04329561632870bb21fc"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Jul 23 21:30:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "ecryptfs: propagate key errors up at mount time\n\nMounting with invalid key signatures should probably fail, if they were\nspecifically requested but not available.\n\nAlso fix case checks in process_request_key_err() for the right sign of\nthe errnos, as spotted by Jan Tluka.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Jan Tluka \u003cjtluka@redhat.com\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": "6c4c17b073cd4a5a61bc04329561632870bb21fc",
      "tree": "22fea1e80df5665061f1cf2953c69a00dc097e9b",
      "parents": [
        "746f1e558bc52b9693c1a1ecdab60f8392e5ff18"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Jul 23 21:30:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:31 2008 -0700"
      },
      "message": "ecryptfs: discard ecryptfsd registration messages in miscdev\n\nThe userspace eCryptfs daemon sends HELO and QUIT messages to the kernel\nfor per-user daemon (un)registration.  These messages are required when\nnetlink is used as the transport, but (un)registration is handled by\nopening and closing the device file when miscdev is the transport.  These\nmessages should be discarded in the miscdev transport so that a daemon\nisn\u0027t registered twice.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.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": "746f1e558bc52b9693c1a1ecdab60f8392e5ff18",
      "tree": "a3253428affed93967c3ec67ba27ce8fe7d333c2",
      "parents": [
        "0293902a4d66fab27d0ddcc0766e05dae68f004e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Jul 23 21:30:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:30 2008 -0700"
      },
      "message": "eCryptfs: Privileged kthread for lower file opens\n\neCryptfs would really like to have read-write access to all files in the\nlower filesystem.  Right now, the persistent lower file may be opened\nread-only if the attempt to open it read-write fails.  One way to keep\nfrom having to do that is to have a privileged kthread that can open the\nlower persistent file on behalf of the user opening the eCryptfs file;\nthis patch implements this functionality.\n\nThis patch will properly allow a less-privileged user to open the eCryptfs\nfile, followed by a more-privileged user opening the eCryptfs file, with\nthe first user only being able to read and the second user being able to\nboth read and write.  eCryptfs currently does this wrong; it will wind up\ncalling vfs_write() on a file that was opened read-only.  This is fixed in\nthis patch.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric Sandeen \u003csandeen@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": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "c4a2d7fbec3029c8891a3ad5fceec2992096a3b7",
      "tree": "73d1580628737c54c9d4fed86278e9edc4dab4d2",
      "parents": [
        "10dd08dc04c881dcc9f7f19e2a3ad8e0778e4db5"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Fri Jul 04 09:59:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:05 2008 -0700"
      },
      "message": "ecryptfs: remove unnecessary mux from ecryptfs_init_ecryptfs_miscdev()\n\nThe misc_mtx should provide all the protection required to keep the daemon\nhash table sane during miscdev registration.  Since this mutex is causing\ngratuitous lockdep warnings, this patch removes it.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dda6445e219b5d1fd67e9426ce8d23f8fbfaaf66",
      "tree": "7c29d5ab31ebeb63721ca98f5341fcd00b272db9",
      "parents": [
        "dbfb2df7e9fbd6e5ab8cd9b94b27767fe311fa0d"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Thu Jun 19 16:18:25 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Jul 02 15:06:28 2008 -0600"
      },
      "message": "ecryptfs: fasync BKL pushdown\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "d3e49afbb66109613c3474f2273f5830ac2dcb09",
      "tree": "d4c3330878741db68f1cac649e070b464ea59204",
      "parents": [
        "c45dcabd2626c56f8c1235df9db065f584f3ac82"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Thu Jun 05 22:46:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:09 2008 -0700"
      },
      "message": "eCryptfs: remove unnecessary page decrypt call\n\nThe page decrypt calls in ecryptfs_write() are both pointless and buggy.\nPointless because ecryptfs_get_locked_page() has already brought the page\nup to date, and buggy because prior mmap writes will just be blown away by\nthe decrypt call.\n\nThis patch also removes the declaration of a now-nonexistent function\necryptfs_write_zeros().\n\nThanks to Eric Sandeen and David Kleikamp for helping to track this\ndown.\n\nEric said:\n\n   fsx w/ mmap dies quickly ( \u003c 100 ops) without this, and survives\n   nicely (to millions of ops+) with it in place.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.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": "71fd5179e8d1d4d503b517e0c5374f7c49540bfc",
      "tree": "987196a5381e6d8e8b614544d1bc3ad4b4531a67",
      "parents": [
        "03fb0bce01490c9bdedad861962c76f987531014"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Fri May 23 13:04:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:07 2008 -0700"
      },
      "message": "ecryptfs: fix missed mutex_unlock\n\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": "79bc12a0a09c2eb1ccbb01c192045f994567bda2",
      "tree": "184c0e98c967f12b3805ebfbf9c69e6043ca6eb7",
      "parents": [
        "4ec7ffa2df247054d422b48148ad82369a45e986"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed May 21 06:32:11 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 21 16:55:59 2008 -0700"
      },
      "message": "ecryptfs fixes\n\nmemcpy() from userland pointer is a Bad Thing(tm)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43f14d856f013a4cc63da2c765617c665274338c",
      "tree": "f43026859c7fb6c6d9268fb0d6ff05fecb002652",
      "parents": [
        "d850a2fac11e4dd45d1d3d493a5a071b06c58c99"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Mon May 12 14:02:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "eCryptFS: fix imbalanced mutex locking\n\nFix imbalanced calls for mutex lock/unlock on ecryptfs_daemon_hash_mux\nRevealed by Ingo Molnar: http://lkml.org/lkml/2008/5/7/260\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@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": "8dc4e37362a5dc910d704d52ac6542bfd49ddc2f",
      "tree": "22f9a2e074a7718c90747bc0458845f54468d4fc",
      "parents": [
        "64d032ba434ad41586460811148f01511e5612f9"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 12 14:02:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:23 2008 -0700"
      },
      "message": "ecryptfs: clean up (un)lock_parent\n\ndget(dentry-\u003ed_parent) --\u003e dget_parent(dentry)\n\nunlock_parent() is racy and unnecessary.  Replace single caller with\nunlock_dir().\n\nThere are several other suspect uses of -\u003ed_parent in ecryptfs...\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "801678c5a3b4c79236970bcca27c733f5559e0d1",
      "tree": "5ad4761f539525077895f261b64fccda4d1303c4",
      "parents": [
        "9a6f70bbed4e8b72dd340812d7c606bfd5e00b47"
      ],
      "author": {
        "name": "Hirofumi Nakagawa",
        "email": "hnakagawa@miraclelinux.com",
        "time": "Tue Apr 29 01:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "Remove duplicated unlikely() in IS_ERR()\n\nSome drivers have duplicated unlikely() macros.  IS_ERR() already has\nunlikely() in itself.\n\nThis patch cleans up such pointless code.\n\nSigned-off-by: Hirofumi Nakagawa \u003chnakagawa@miraclelinux.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f9b12a31fcb738ea8c9eb0d4ddf906c6f1d696c",
      "tree": "e6cde843b575c2b29396ee2b66af285da68c5a79",
      "parents": [
        "6a3fd92e73fffd9e583650c56ad9558afe51dc5c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: protect crypt_stat-\u003eflags in ecryptfs_open()\n\nMake sure crypt_stat-\u003eflags is protected with a lock in ecryptfs_open().\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Al Viro \u003cviro@ZenIV.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": "6a3fd92e73fffd9e583650c56ad9558afe51dc5c",
      "tree": "d65917432ffd0e6223dab3500819205433de22bd",
      "parents": [
        "f66e883eb6186bc43a79581b67aff7d1a69d0ff1"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: make key module subsystem respect namespaces\n\nMake eCryptfs key module subsystem respect namespaces.\n\nSince I will be removing the netlink interface in a future patch, I just made\nchanges to the netlink.c code so that it will not break the build.  With my\nrecent patches, the kernel module currently defaults to the device handle\ninterface rather than the netlink interface.\n\n[akpm@linux-foundation.org: export free_user_ns()]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@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": "f66e883eb6186bc43a79581b67aff7d1a69d0ff1",
      "tree": "9fc1fb65586ff334a1f8c1afb9a43edf077d338f",
      "parents": [
        "8bf2debd5f7bf12d122124e34fec14af5b1e8ecf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: integrate eCryptfs device handle into the module.\n\nUpdate the versioning information.  Make the message types generic.  Add an\noutgoing message queue to the daemon struct.  Make the functions to parse\nand write the packet lengths available to the rest of the module.  Add\nfunctions to create and destroy the daemon structs.  Clean up some of the\ncomments and make the code a little more consistent with itself.\n\n[akpm@linux-foundation.org: printk fixes]\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": "8bf2debd5f7bf12d122124e34fec14af5b1e8ecf",
      "tree": "faa6ff4ad5a9ec3725279a6408ee783a9e65f35d",
      "parents": [
        "9c3580aa52195699065bc2d7242b1c7e3e6903fa"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: introduce device handle for userspace daemon communications\n\nA regular device file was my real preference from the get-go, but I went with\nnetlink at the time because I thought it would be less complex for managing\nsend queues (i.e., just do a unicast and move on).  It turns out that we do\nnot really get that much complexity reduction with netlink, and netlink is\nmore heavyweight than a device handle.\n\nIn addition, the netlink interface to eCryptfs has been broken since 2.6.24.\nI am assuming this is a bug in how eCryptfs uses netlink, since the other\nin-kernel users of netlink do not seem to be having any problems.  I have had\none report of a user successfully using eCryptfs with netlink on 2.6.24, but\nfor my own systems, when starting the userspace daemon, the initial helo\nmessage sent to the eCryptfs kernel module results in an oops right off the\nbat.  I spent some time looking at it, but I have not yet found the cause.\nThe netlink interface breaking gave me the motivation to just finish my patch\nto migrate to a regular device handle.  If I cannot find out soon why the\nnetlink interface in eCryptfs broke, I am likely to just send a patch to\ndisable it in 2.6.24 and 2.6.25.  I would like the device handle to be the\npreferred means of communicating with the userspace daemon from 2.6.26 on\nforward.\n\nThis patch:\n\nFunctions to facilitate reading and writing to the eCryptfs miscellaneous\ndevice handle.  This will replace the netlink interface as the preferred\nmechanism for communicating with the userspace eCryptfs daemon.\n\nEach user has his own daemon, which registers itself by opening the eCryptfs\ndevice handle.  Only one daemon per euid may be registered at any given time.\nThe eCryptfs module sends a message to a daemon by adding its message to the\ndaemon\u0027s outgoing message queue.  The daemon reads the device handle to get\nthe oldest message off the queue.\n\nIncoming messages from the userspace daemon are immediately handled.  If the\nmessage is a response, then the corresponding process that is blocked waiting\nfor the response is awakened.\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": "9c3580aa52195699065bc2d7242b1c7e3e6903fa",
      "tree": "975320d4a2369ebffadf7273bb8f86377d03445f",
      "parents": [
        "18d1dbf1d401e8f9d74cf1cf799fdb19cff150c6"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 29 00:59:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "ecryptfs: add missing lock around notify_change\n\nCallers of notify_change() need to hold i_mutex.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\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": "18d1dbf1d401e8f9d74cf1cf799fdb19cff150c6",
      "tree": "72e1e7061b4f630b971bc5ea7d20ba6e1a509988",
      "parents": [
        "05db67a4f2c14dab5bcaa46c7d4e9237bd11b37c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 00:59:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "ecryptfs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "05db67a4f2c14dab5bcaa46c7d4e9237bd11b37c",
      "tree": "6fde8311a2f3eeafb2617ef66ea4bb98377e9a29",
      "parents": [
        "afe42d7dea2983faa593d289ab241ffdd94d37b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:59:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "remove ecryptfs_header_cache_0\n\nRemove the no longer used ecryptfs_header_cache_0.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "5366dc9fd1cb74023790a8edf29e4fe42c886dcf",
      "tree": "f8efcd857540859b2dfe831c5fad063de13936bc",
      "parents": [
        "ae66be9b71b12f16b84129860d06bbfe37fbec51"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Mar 19 17:00:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:36 2008 -0700"
      },
      "message": "eCryptfs: Swap dput() and mntput()\n\necryptfs_d_release() is doing a mntput before doing the dput.  This patch\nmoves the dput before the mntput.\n\nThanks to Rajouri Jammu for reporting this.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Rajouri Jammu \u003crajouri.jammu@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@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": "e4465fdaeb3f7b5ef47f389d3eac76db79ff20d8",
      "tree": "11dd43980a7df9ba7875a4d5fb55085d152bbdc6",
      "parents": [
        "87ffbe679e21cbf82ff8e3302520ff0ea2beed9a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Mar 04 14:29:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:16 2008 -0800"
      },
      "message": "eCryptfs: make ecryptfs_prepare_write decrypt the page\n\nWhen the page is not up to date, ecryptfs_prepare_write() should be\nacting much like ecryptfs_readpage(). This includes the painfully\nobvious step of actually decrypting the page contents read from the\nlower encrypted file.\n\nNote that this patch resolves a bug in eCryptfs in 2.6.24 that one can\nproduce with these steps:\n\n# mount -t ecryptfs /secret /secret\n# echo \"abc\" \u003e /secret/file.txt\n# umount /secret\n# mount -t ecryptfs /secret /secret\n# echo \"def\" \u003e\u003e /secret/file.txt\n# cat /secret/file.txt\n\nWithout this patch, the resulting data returned from cat is likely to\nbe something other than \"abc\\ndef\\n\".\n\n(Thanks to Benedikt Driessen for reporting this.)\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Benedikt Driessen \u003cbdriessen@escrypt.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": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@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": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af440f52927e4b6941aa94e3cfc698adb0f22663",
      "tree": "00a7fdc2b09e8e6146f0fd0bc055688d58eea939",
      "parents": [
        "19e66a67e9b25874cd5e184e7d381ce1b955df11"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "ecryptfs: check for existing key_tfm at mount time\n\nJeff Moyer pointed out that a mount; umount loop of ecryptfs, with the same\ncipher \u0026 other mount options, created a new ecryptfs_key_tfm_cache item\neach time, and the cache could grow quite large this way.\n\nLooking at this with mhalcrow, we saw that ecryptfs_parse_options()\nunconditionally called ecryptfs_add_new_key_tfm(), which is what was adding\nthese items.\n\nRefactor ecryptfs_get_tfm_and_mutex_for_cipher_name() to create a new\nhelper function, ecryptfs_tfm_exists(), which checks for the cipher on the\ncached key_tfm_list, and sets a pointer to it if it exists.  This can then\nbe called from ecryptfs_parse_options(), and new key_tfm\u0027s can be added\nonly when a cached one is not found.\n\nWith list locking changes suggested by akpm.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Jeff Moyer \u003cjmoyer@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": "19e66a67e9b25874cd5e184e7d381ce1b955df11",
      "tree": "6dfd5c9771a99ddf7f3978ff6be466267727e2d5",
      "parents": [
        "25bd8174036036f427b039e4857feac6c6912a37"
      ],
      "author": {
        "name": "Trevor Highland",
        "email": "thighlan@gmail.com",
        "time": "Wed Feb 06 01:38:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "eCryptfs: change the type of cipher_code from u16 to u8\n\nOnly the lower byte of cipher_code is ever used, so it makes sense\nfor its type to be u8.\n\nSigned-off-by: Trevor Highland \u003ctrevor.highland@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": "25bd8174036036f427b039e4857feac6c6912a37",
      "tree": "89c15ca0adb40cd5b4c00b627de74d342a851fa4",
      "parents": [
        "2830bfd6cf66133c86d4a32004fd99c3de7e23bf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mike@halcrow.us",
        "time": "Wed Feb 06 01:38:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: Minor fixes to printk messages\n\nThe printk statements that result when the user does not have the\nproper key available could use some refining.\n\nSigned-off-by: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Mike 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": "2830bfd6cf66133c86d4a32004fd99c3de7e23bf",
      "tree": "51f68453ad6b5a3a75667385369bbd9b5ba8a02c",
      "parents": [
        "99db6e4a9764887842006a2b1aa804de6171db42"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "ecryptfs: remove debug as mount option, and warn if set via modprobe\n\necryptfs_debug really should not be a mount option; it is not per-mount,\nbut rather sets a global \"ecryptfs_verbosity\" variable which affects all\nmounted filesysytems.  It\u0027s already settable as a module load option,\nI think we can leave it at that.\n\nAlso, if set, since secret values come out in debug messages, kick\nthings off with a stern warning.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Mike 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": "99db6e4a9764887842006a2b1aa804de6171db42",
      "tree": "5d45cd3f74aaeeb9209dea2e9a00d197d4e2cc06",
      "parents": [
        "8e3a6f16ba5874b69968cd450334829262513fd1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "ecryptfs: make show_options reflect actual mount options\n\nChange ecryptfs_show_options to reflect the actual mount options in use.\nNote that this does away with the \"dir\u003d\" output, which is not a valid mount\noption and appears to be unused.\n\nMount options such as \"ecryptfs_verbose\" and \"ecryptfs_xattr_metadata\" are\nsomewhat indeterminate for a given fs, but in any case the reported mount\noptions can be used in a new mount command to get the same behavior.\n\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\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": "8e3a6f16ba5874b69968cd450334829262513fd1",
      "tree": "ae5f8535f87377c101eabda9c5508725f5f2b7bd",
      "parents": [
        "cc11beffdf80ca31dff21422fa2a5e54d25f1494"
      ],
      "author": {
        "name": "Trevor Highland",
        "email": "trevor.highland@gmail.com",
        "time": "Wed Feb 06 01:38:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: set inode key only once per crypto operation\n\nThere is no need to keep re-setting the same key for any given eCryptfs inode.\nThis patch optimizes the use of the crypto API and helps performance a bit.\n\nSigned-off-by: Trevor Highland \u003ctrevor.highland@gmail.com\u003e\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": "cc11beffdf80ca31dff21422fa2a5e54d25f1494",
      "tree": "3b0e28d18f493a7c59b089c4c6fc59c79945937e",
      "parents": [
        "7896b631823c6e8f1a520d89390624a51445840e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 06 01:38:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: track header bytes rather than extents\n\nRemove internal references to header extents; just keep track of header bytes\ninstead.  Headers can easily span multiple pages with the recent persistent\nfile changes.\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": "7896b631823c6e8f1a520d89390624a51445840e",
      "tree": "2f9f2151802d21ded60fc6f53df4daeee3eb054e",
      "parents": [
        "162c0d91a365d501c6cc65cba451f2d855e8ee81"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:38:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "fs/ecryptfs/: possible cleanups\n\n- make the following needlessly global code static:\n  - crypto.c:ecryptfs_lower_offset_for_extent()\n  - crypto.c:key_tfm_list\n  - crypto.c:key_tfm_list_mutex\n  - inode.c:ecryptfs_getxattr()\n  - main.c:ecryptfs_init_persistent_file()\n\n- remove the no longer used mmap.c:ecryptfs_lower_page_cache\n\n- #if 0 the unused read_write.c:ecryptfs_read()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.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: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4",
      "tree": "672c08c95229a6ac242ab12a5195dceddb0f3127",
      "parents": [
        "4f84d82f7a623f8641af2574425c329431ff158f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 28 14:41:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:07 2008 -0800"
      },
      "message": "[NETNS]: Consolidate kernel netlink socket destruction.\n\nCreate a specific helper for netlink kernel socket disposal. This just\nlet the code look better and provides a ground for proper disposal\ninside a namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "197b12d6796a3bca187f22a8978a33d51e2bcd79",
      "tree": "706ff3454f03d4aa8ca4d76010479d7f9d2b36f4",
      "parents": [
        "c10997f6575f476ff38442fa18fd4a0d80345f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert fs/* from kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6e90aa972dda8ef86155eefcdbdc8d34165b9f39",
      "tree": "bb98edec4ecefcf8de4a246fe08c140156d6fb60",
      "parents": [
        "f55842f2329f4b3a3a6bb98b005bca3cc851d38a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 06 15:08:08 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:24 2008 -0800"
      },
      "message": "kobject: convert ecryptfs to use kobject_create\n\nUsing a kset for this trivial directory is an overkill.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "af6370ea9268443351d6e931c702dc8162a1c8a1",
      "tree": "f336ac63a43e62a8e5afa1329f4058702c7b2275",
      "parents": [
        "eb41d9465cdafee45e0cb30f3b7338646221908e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 02 13:20:40 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:18 2008 -0800"
      },
      "message": "ecryptfs: remove version_str file from sysfs\n\nThis file violates the one-value-per-file sysfs rule.\n\nIf you all want it added back, please do something like a per-feature\nfile to show what is present and what isn\u0027t.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "386f275f5d097758f867bc99ddeaeb7a03b6b190",
      "tree": "bd27130e78e1aad1ce080f8c8ca76b9166b33ed4",
      "parents": [
        "23b5212cc7422f475b82124334b64277b5b43013"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:18 2008 -0800"
      },
      "message": "Driver Core: switch all dynamic ksets to kobj_sysfs_ops\n\nSwitch all dynamically created ksets, that export simple attributes,\nto kobj_attribute from subsys_attribute. Struct subsys_attribute will\nbe removed.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "00d2666623368ffd39afc875ff8a2eead2a0436c",
      "tree": "9b16b85167f1bd86c02c0ebeb74510d8029783a3",
      "parents": [
        "917e865df7eb020f20ffc2b4204f282a587df94f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 14:17:23 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kobject: convert main fs kobject to use kobject_create\n\nThis also renames fs_subsys to fs_kobj to catch all current users with a\nbuild error instead of a build warning which can easily be missed.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "917e865df7eb020f20ffc2b4204f282a587df94f",
      "tree": "ada1b83dd08dc2ecd1faf1f034784e822cda751a",
      "parents": [
        "3794491d0c4b6355c55b0379f003900e57666a97"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 20:13:17 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kset: convert ecryptfs to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "30a468b1c1b9911ae515ff8972ee10c50cca3021",
      "tree": "99b891f04425e418f4ae5745a32a86531bb8b245",
      "parents": [
        "02ff82cac7ee7351d2649c4a3568f12e4e0fe534"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 15 15:01:24 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "ecryptfs: clean up attribute mess\n\nIt isn\u0027t that hard to add simple kset attributes, so don\u0027t go through\nall the gyrations of creating your own object type and show and store\nfunctions.  Just use the functions that are already present.  This makes\nthings much simpler.\n\nNote, the version_str string violates the \"one value per file\" rule for\nsysfs.  I suggest changing this now (individual files per type supported\nis one suggested way.)\n\n\nCc: Michael A. Halcrow \u003cmahalcro@us.ibm.com\u003e\nCc: Michael C. Thompson \u003cmcthomps@us.ibm.com\u003e\nCc: Tyler Hicks \u003ctyhicks@ou.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "caeeeecfdaeada2998eb3c29c3ebd59afb79ef06",
      "tree": "22b7931ba119d10fb9c76bc54b500ce1d43d505c",
      "parents": [
        "c51b1a160b63304720d49479986915e4c475a2cf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 08 15:33:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 08 16:10:36 2008 -0800"
      },
      "message": "eCryptfs: fix dentry handling on create error, unlink, and inode destroy\n\nThis patch corrects some erroneous dentry handling in eCryptfs.\n\nIf there is a problem creating the lower file, then there is nothing that\nthe persistent lower file can do to really help us.  This patch makes a\nvfs_create() failure in the lower filesystem always lead to an\nunconditional do_create failure in eCryptfs.\n\nUnder certain sequences of operations, the eCryptfs dentry can remain in\nthe dcache after an unlink.  This patch calls d_drop() on the eCryptfs\ndentry to correct this.\n\neCryptfs has no business calling d_delete() directly on a lower\nfilesystem\u0027s dentry.  This patch removes the call to d_delete() on the\nlower persistent file\u0027s dentry in ecryptfs_destroy_inode().\n\n(Thanks to David Kleikamp, Eric Sandeen, and Jeff Moyer for helping\nidentify and resolve this issue)\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Jeff Moyer \u003cjmoyer@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": "16317ec2e5a85884fea680d24c1b228a5602159f",
      "tree": "68b24327c001d9f0def6bad8ba7ef0b2522a464c",
      "parents": [
        "c8161f64ccdcc3ac05c7bbfebc031e7ad5ca6412"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Dec 22 14:03:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Dec 23 12:54:37 2007 -0800"
      },
      "message": "ecryptfs: redo dget,mntget on dentry_open failure\n\nThanks to Jeff Moyer for pointing this out.\n\nIf the RDWR dentry_open() in ecryptfs_init_persistent_file fails,\nit will do a dput/mntput.  Need to re-take references if we\nretry as RDONLY.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "c8161f64ccdcc3ac05c7bbfebc031e7ad5ca6412",
      "tree": "24adc1225b4f56b28533efe59ee357fe912403c5",
      "parents": [
        "c525460e2754dbb33abe2b37d3d941126b2ea830"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Dec 22 14:03:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Dec 23 12:54:37 2007 -0800"
      },
      "message": "ecryptfs: fix unlocking in error paths\n\nThanks to Josef Bacik for finding these.\n\nA couple of ecryptfs error paths don\u0027t properly unlock things they locked.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Josef Bacik \u003cjbacik@redhat.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": "b88629060b03adc58639f818fe0968bf5fe81b5d",
      "tree": "5ee2455acde11f0f229de31a73a4475df3445e82",
      "parents": [
        "ed367fc3a7349b17354c7acef551533337764859"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Dec 22 14:03:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Dec 23 12:54:36 2007 -0800"
      },
      "message": "ecryptfs: fix string overflow on long cipher names\n\nPassing a cipher name \u003e 32 chars on mount results in an overflow when the\ncipher name is printed, because the last character in the struct\necryptfs_key_tfm\u0027s cipher_name string was never zeroed.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\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": "7a3f595cc8298df14a7c71b0d876bafd8e9e1cbf",
      "tree": "e2409b01431e230369182d3a450dcd9c2c6beb0a",
      "parents": [
        "8998979cc1f90da5a48b2e8a13833217c63f7c4a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 17 16:20:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "ecryptfs: fix fsx data corruption problems\n\necryptfs in 2.6.24-rc3 wasn\u0027t surviving fsx for me at all, dying after 4\nops.  Generally, encountering problems with stale data and improperly\nzeroed pages.  An extending truncate + write for example would expose stale\ndata.\n\nWith the changes below I got to a million ops and beyond with all mmap ops\ndisabled - mmap still needs work.  (A version of this patch on a RHEL5\nkernel ran for over 110 million fsx ops)\n\nI added a few comments as well, to the best of my understanding\nas I read through the code.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\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": "7c9e70efbfc3186674d93451e0fbf18365347b4d",
      "tree": "63deb2cbabd29614cbafde2224ea1b81a33862f0",
      "parents": [
        "81eabcbe0b991ddef5216f30ae91c4b226d54b6d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 17 16:20:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:17 2007 -0800"
      },
      "message": "ecryptfs: set s_blocksize from lower fs in sb\n\neCryptfs wasn\u0027t setting s_blocksize in it\u0027s superblock; just pick it up\nfrom the lower FS.  Having an s_blocksize of 0 made things like \"filefrag\"\nwhich call FIGETBSZ unhappy.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Mike 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": "459e216429a04779216b61f0fb61938a459fd1ca",
      "tree": "ed21241e197acdc1162a5c1bc3b48c21a33ed40f",
      "parents": [
        "60af880339aae440293a0c8e93178fdcb41f8a29"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 17 16:19:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Dec 17 19:28:15 2007 -0800"
      },
      "message": "ecryptfs: initialize new auth_tokens before teardown\n\necryptfs_destroy_mount_crypt_stat() checks whether each\nauth_tok-\u003eglobal_auth_tok_key is nonzero and if so puts that key.  However,\nin some early mount error paths nothing has initialized the pointer, and we\ntry to key_put() garbage.  Running the bad cipher tests in the testsuite\nexposes this, and it\u0027s happy with the following change.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.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": "8a146a2b0d6e97941a5c2dc5d8a3ea1e6c3ab997",
      "tree": "c9bc95bcb68243ea7068307570b9dcec0d620cff",
      "parents": [
        "0fd4980fa75acc78c747b1f43d1204f6572a4845"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Nov 14 16:58:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:36 2007 -0800"
      },
      "message": "eCryptfs: cast page-\u003eindex to loff_t instead of off_t\n\npage-\u003eindex should be cast to loff_t instead of off_t.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Eric Sandeen \u003csandeen@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": "8a29f2b0288ba2a8fb302f9a639521ac9ff302e5",
      "tree": "384f27ea6300fe50345b0ab5cd7fdad23d0bdb79",
      "parents": [
        "778d1a2bd42ae862a6c6d20a1c3af5e45b3c1924"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Nov 05 14:51:04 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:33 2007 -0800"
      },
      "message": "eCryptfs: release mutex on hash error path\n\nRelease the crypt_stat hash mutex on allocation error. Check for error\nconditions when doing crypto hash calls.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nReported-by: Kazuki Ohta \u003ckazuki.ohta@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "778d1a2bd42ae862a6c6d20a1c3af5e45b3c1924",
      "tree": "afc2eed74ad70fb03b0734b13d61c1bd9e6089f3",
      "parents": [
        "01aae97196f2cdfbfebc5a0365bad82d98975588"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Nov 05 14:51:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:33 2007 -0800"
      },
      "message": "eCryptfs: increment extent_offset once per loop interation\n\nThe extent_offset is getting incremented twice per loop iteration through any\ngiven page.  It should only be getting incremented once.  This bug should only\nimpact hosts with \u003e4K page sizes.\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": "68e3f5dd4db62619fdbe520d36c9ebf62e672256",
      "tree": "0a9b05227fc53cb72785a95298c643f5405fd7b4",
      "parents": [
        "a5a613a4291a8107008e4c40108a385cda71b08d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "message": "[CRYPTO] users: Fix up scatterlist conversion errors\n\nThis patch fixes the errors made in the users of the crypto layer during\nthe sg_init_table conversion.  It also adds a few conversions that were\nmissing altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "642f149031d70415d9318b919d50b71e4724adbd",
      "tree": "e792ad29dedffc6756d55e9d63e18ada35515b4b",
      "parents": [
        "bd6dee6f30a0f6943df190b387b5f8fe98a848f3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 24 11:20:47 2007 +0200"
      },
      "message": "SG: Change sg_set_page() to take length and offset argument\n\nMost drivers need to set length and offset as well, so may as well fold\nthose three lines into one.\n\nAdd sg_assign_page() for those two locations that only needed to set\nthe page, where the offset/length is set outside of the function context.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "60c74f81933635bb4ccb4ee6f31909c51f5cd230",
      "tree": "1c8370b66d34d86598070e571f8935f5ff98fadb",
      "parents": [
        "45711f1af6eff1a6d010703b4862e0d2b9afd056"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 19:43:30 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:55 2007 +0200"
      },
      "message": "Update fs/ to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1ac564ecabc777636cf4eb88840802d7dc57d286",
      "tree": "6cad2e3f07b089d424761276215901a93986840e",
      "parents": [
        "ef1d7151d2901295278d5aada39c547ed8601419"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 18 03:05:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:21 2007 -0700"
      },
      "message": "ecryptfs: allow lower fs to interpret ATTR_KILL_S*ID\n\nMake sure ecryptfs doesn\u0027t trip the BUG() in notify_change.  This also allows\nthe lower filesystem to interpret ATTR_KILL_S*ID in its own way.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Steven French \u003csfrench@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": "ea0b7d5da0024df1c6f2c2139dbeb4fd260baac6",
      "tree": "cad571e9261011f2412fee17615d8aeced498d4a",
      "parents": [
        "40b2ea839753d32e5685d307c23d92c82cae3b70"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Oct 16 23:26:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "Clean up duplicate includes in fs/ecryptfs/\n\nThis patch cleans up duplicate includes in\n\tfs/ecryptfs/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: Michael A Halcrow \u003cmahalcro@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": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\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": "16a72c455a67bb23eed7292a31c6ba17729e78e6",
      "tree": "d2cc7d116730348375ce0d06ad45e24744cd0b5f",
      "parents": [
        "ecbdc93639f69c1f237ccce6a9aaff1e83f1182f"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "ecryptfs: clean up page flag handling\n\nThe functions that eventually call down to ecryptfs_read_lower(),\necryptfs_decrypt_page(), and ecryptfs_copy_up_encrypted_with_header()\nshould have the responsibility of managing the page Uptodate\nstatus. This patch gets rid of some of the ugliness that resulted from\ntrying to push some of the page flag setting too far down the stack.\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": "ecbdc93639f69c1f237ccce6a9aaff1e83f1182f",
      "tree": "0d3ad7c2d3f87ec4a51997f322aa066298156970",
      "parents": [
        "b6c1d8fcbadeb9bb4c3dbca57a007629d0483544"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: replace magic numbers\n\nReplace some magic numbers with sizeof() equivalents.\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": "b6c1d8fcbadeb9bb4c3dbca57a007629d0483544",
      "tree": "ba786993ce9b16f0dcc25cdab05af8a3fef636ed",
      "parents": [
        "035241d30e273519195a9987e6eb56bbe2297872"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: remove unused functions and kmem_cache\n\nThe switch to read_write.c routines and the persistent file make a number of\nfunctions unnecessary.  This patch removes them.\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": "035241d30e273519195a9987e6eb56bbe2297872",
      "tree": "56865416d10597588c00957766d3e6189b19a014",
      "parents": [
        "d6a13c17164fccab8aa96ca435ddacbf428335ca"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: initialize persistent lower file on inode create\n\nInitialize persistent lower file on inode create.\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": "d6a13c17164fccab8aa96ca435ddacbf428335ca",
      "tree": "8995bb0b5c22a97c8f6c86eff797ff2de0421ee2",
      "parents": [
        "bf12be1cc851cface331b0e74713a6bb1cb046b0"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: fix data types\n\nUpdate data types and add casts in order to avoid potential overflow\nissues.\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": "bf12be1cc851cface331b0e74713a6bb1cb046b0",
      "tree": "c20afee72af830fce2bf8255d63aed59a6db3c4e",
      "parents": [
        "2ed92554abc5c40d4450f9869c9565a1919a9242"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: convert mmap functions to use persistent file\n\nConvert readpage, prepare_write, and commit_write to use read_write.c\nroutines.  Remove sync_page; I cannot think of a good reason for implementing\nthat in eCryptfs.\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": "2ed92554abc5c40d4450f9869c9565a1919a9242",
      "tree": "3b9be8b86474ad61d357990185476fc56ac2f490",
      "parents": [
        "d7cdc5febf9f2664755002c3a2f84bd348389fe9"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Oct 16 01:28:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:12 2007 -0700"
      },
      "message": "eCryptfs: make open, truncate, and setattr use persistent file\n\nRather than open a new lower file for every eCryptfs file that is opened,\ntruncated, or setattr\u0027d, instead use the existing lower persistent file for\nthe eCryptfs inode.  Change truncate to use read_write.c functions.  Change\necryptfs_getxattr() to use the common ecryptfs_getxattr_lower() function.\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"
    }
  ],
  "next": "d7cdc5febf9f2664755002c3a2f84bd348389fe9"
}
