)]}'
{
  "log": [
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "11cc21f5f5575b9abd14d53a6055ccbf72b67573",
      "tree": "d9a93174b25021748f11e4e797267f381bf4485b",
      "parents": [
        "19ef20143ff86c8012270c619ac7b6c3b389a8fa",
        "85b8fe8cc47b0dc1068475ba95f29ddff10a8efc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 09:32:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 28 09:32:05 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:\n  hfsplus: free space correcly for files unlinked while open\n  hfsplus: fix double lock typo in ioctl\n"
    },
    {
      "commit": "85b8fe8cc47b0dc1068475ba95f29ddff10a8efc",
      "tree": "ffda33b6caa6f32ac226ff49cfd8a18c186b68c1",
      "parents": [
        "e50fb58b5b3548e578d3b74ff15aeb7d9a496839"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Wed Oct 27 13:45:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 27 13:45:50 2010 +0200"
      },
      "message": "hfsplus: free space correcly for files unlinked while open\n\nhfsplus_delete_inode only truncates away all block allocations if\ni_nlink is zero.  Make sure we properly drop the unlink count even\nwhen doing the rename hack for open but unlinked files.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f",
      "tree": "88787e77ba8a253d0a26aeda4bd5e58532d592e0",
      "parents": [
        "646ec4615cd05972581c9c5342ed7a1e77df17bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 11:11:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:26:11 2010 -0400"
      },
      "message": "new helper: ihold()\n\nClones an existing reference to inode; caller must already hold one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "756acc2d61712a8cafe2aa6ad626c60a185d3645",
      "tree": "72473307f7789b2dafa4b7ca2facc6427f83a283",
      "parents": [
        "1d3382cbf02986e4833849f528d451367ea0b4cb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 23 15:23:40 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:24:15 2010 -0400"
      },
      "message": "list.h: new helper - hlist_add_fake()\n\nMake node look as if it was on hlist, with hlist_del()\nworking correctly.  Usable without any locking...\n\nConvert a couple of places where we want to do that to\ninode-\u003ei_hash.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e50fb58b5b3548e578d3b74ff15aeb7d9a496839",
      "tree": "d5d94211f7d988420c854cf7d5193d57ecf277dd",
      "parents": [
        "35da7a307c535f9c2929cae277f3df425c9f9b1e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 25 20:39:07 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Oct 25 20:39:07 2010 +0200"
      },
      "message": "hfsplus: fix double lock typo in ioctl\n\nThis was supposed to be a mutex_unlock() instead of a mutex_lock().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "46bf36ecec79bbe5373ef68f0ed36cbf62e03482",
      "tree": "318bcc4d716bcf933a8ffbc87abc457b2084b40e",
      "parents": [
        "32e39e19ccb0f25c9c1b7ff246e17e795366bbbd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 15 05:45:00 2010 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 15 05:45:00 2010 -0700"
      },
      "message": "hfsplus: fix getxattr return value\n\nWe need to support -EOPNOTSUPP for attributes that are not supported to\nmatch other filesystems and allow userspace to detect if Posix ACLs\nare supported or not.  setxattr already gets this right.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "32e39e19ccb0f25c9c1b7ff246e17e795366bbbd",
      "tree": "6463d73effe08ab112976c3986d5d9d8067b4579",
      "parents": [
        "90e616905a423126805186cb5754e10a704b30c8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:43 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:43 2010 -0400"
      },
      "message": "hfsplus: remove the unused hfsplus_kmap/hfsplus_kunmap helpers\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "90e616905a423126805186cb5754e10a704b30c8",
      "tree": "f3b142b0414462ae9f267689c965d91c784760d4",
      "parents": [
        "722c55d13e7296cc62ed8a38f926a915ff32e4ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:39 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:39 2010 -0400"
      },
      "message": "hfsplus: create correct initial catalog entries for device files\n\nMake sure the initial insertation of the catalog entry already contains\nthe device number by calling init_special_inode early and setting writing\nout the dev field of the on-disk permission structure.  The latter is\nfacilitated by sharing the almost identical hfsplus_set_perms helpers\nbetween initial catalog entry creating and -\u003ewrite_inode.\n\nUnless we crashed just after mknod this bug was harmless as the inode\nis marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode\nwill update the catalog entry to contain the correct value.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "722c55d13e7296cc62ed8a38f926a915ff32e4ea",
      "tree": "445dc4c1a26f9a4203facb9e5f82508588c1abd8",
      "parents": [
        "f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:33 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:33 2010 -0400"
      },
      "message": "hfsplus: remove superflous rootflags field in hfsplus_inode_info\n\nThe rootflags field in hfsplus_inode_info only caches the immutable and\nappend-only flags in the VFS inode, so we can easily get rid of it.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b",
      "tree": "9b2c6b43885899e055e7b64b88e12bf3759e3794",
      "parents": [
        "13571a6977f821fab7d9c3cc5f75da52b7732e40"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:28 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:28 2010 -0400"
      },
      "message": "hfsplus: fix link corruption\n\nHFS implements hardlink by using indirect catalog entries that refer to a hidden\ndirectly.  The link target is cached in the dev field in the HFS+ specific\ninode, which is also used for the device number for device files, and inside\nfor passing the nlink value of the indirect node from hfsplus_cat_write_inode\nto a helper function.  Now if we happen to write out the indirect node while\nhfsplus_link is creating the catalog entry we\u0027ll get a link pointing to the\nlinkid of the current nlink value.  This can easily be reproduced by a large\nenough loop of local git-clone operations.\n\nStop abusing the dev field in the HFS+ inode for short term storage by\nrefactoring the way the permission structure in the catalog entry is\nset up, and rename the dev field to linkid to avoid any confusion.\n\nWhile we\u0027re at it also prevent creating hard links to special files, as\nthe HFS+ dev and linkid share the same space in the on-disk structure.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "13571a6977f821fab7d9c3cc5f75da52b7732e40",
      "tree": "32b50f122fc37256d3ff8ad40ec905d0c3e540ea",
      "parents": [
        "9250f925972d03ccc0c0a4dd4e9b794d2ef6d52b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Thu Oct 14 09:54:23 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:54:23 2010 -0400"
      },
      "message": "hfsplus: validate btree flags\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "9250f925972d03ccc0c0a4dd4e9b794d2ef6d52b",
      "tree": "f8a93ca47166f79cfa90e3dbc3c4f403686e2fbb",
      "parents": [
        "b6b41424f0ec28e9a167fa29b003327860b4b71b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Oct 14 09:53:48 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:48 2010 -0400"
      },
      "message": "hfsplus: handle more on-disk corruptions without oopsing\n\nhfs seems prone to bad things when it encounters on disk corruption.  Many\nvalues are read from disk, and used as lengths to memcpy, as an example.\nThis patch fixes up several of these problematic cases.\n\no sanity check the on-disk maximum key lengths on mount\n  (these are set to a defined value at mkfs time and shouldn\u0027t differ)\no check on-disk node keylens against the maximum key length for each tree\no fix hfs_btree_open so that going out via free_tree: doesn\u0027t wind\n  up in hfs_releasepage, which wants to follow the very pointer\n  we were trying to set up:\n\tHFS_SB(sb)-\u003ecat_tree \u003d hfs_btree_open()\n    .\n  failure gets to hfs_releasepage and tries to follow HFS_SB(sb)-\u003ecat_tree\n\nTested with the fsfuzzer; it survives more than it used to.\n\n[hch: ported of commit cf0594625083111ae522496dc1c256f7476939c2 from hfs]\n[hch: added the fixes from 5581d018ed3493d226e7a4d645d9c8a5af6c36b]\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b6b41424f0ec28e9a167fa29b003327860b4b71b",
      "tree": "9e17a235542259f82a3a1e2c3d2a1906f2ac4749",
      "parents": [
        "ee52716245877b821f5ddbb3ace85b73084fb450"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Oct 14 09:53:42 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:42 2010 -0400"
      },
      "message": "hfsplus: hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage\n\noops and fs corruption; the latter can happen even on valid fs in case of oom.\n\n[hch: port of commit 3d10a15d6919488204bdb264050d156ced20d9aa from hfs]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "ee52716245877b821f5ddbb3ace85b73084fb450",
      "tree": "3d85d8fce3bde7b1601878074cdec622705d1af2",
      "parents": [
        "40de9a7cebc4e0b23cd6863c84c2279f0ccadebb"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 14 09:53:37 2010 -0400"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 14 09:53:37 2010 -0400"
      },
      "message": "hfsplus: fix oops on mount with corrupted btree extent records\n\nA particular fsfuzzer run caused an hfs file system to crash on mount. This\nis due to a corrupted MDB extent record causing a miscalculation of\nHFSPLUS_I(inode)-\u003efirst_blocks for the extent tree. If the extent records\nare zereod out, then it won\u0027t trigger the first_blocks special case and\ninstead falls through to the extent code, which we\u0027re in the middle\nof initializing.\n\nThis patch catches the 0 size extent records, reports the corruption,\nand fails the mount.\n\n[hch: ported of commit 47f365eb575735c6b2edf5d08e0d16d26a9c23bd from hfs]\n\nReported-by: Ramon de Carvalho Valle \u003crcvalle@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "40de9a7cebc4e0b23cd6863c84c2279f0ccadebb",
      "tree": "ed927fe25b269fbe3f5afebd3136d6ac0770fee6",
      "parents": [
        "467c3d9cd541eef284ff8118069b088e015b8d6a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 09:12:08 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 09:12:08 2010 +0200"
      },
      "message": "hfsplus: fix rename over directories\n\nWhen renaming over a directory we need to use hfsplus_rmdir instead of\nhfsplus_unlink to evict the victim.  This makes sure we properly error out\non non-empty directory as required by Posix (BZ #16571), and it also makes\nsure we do the right thing in case i_nlink will every be set correctly for\ndirectories on hfsplus.\n\nReported-by: Vlado Plaga \u003crechner@vlado-do.de\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "467c3d9cd541eef284ff8118069b088e015b8d6a",
      "tree": "3d3126209f6c5a0c4660e8405ac2680d6388f359",
      "parents": [
        "7fcc99f4f2ddb1c39abc05fbb9b32f05b03c7f8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 01 05:46:52 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:46:52 2010 +0200"
      },
      "message": "hfsplus: convert tree_lock to mutex\n\ntree_lock is used as mutex so make it a mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7fcc99f4f2ddb1c39abc05fbb9b32f05b03c7f8f",
      "tree": "b07045981f17d855f89f1ef59579e330d8ffce20",
      "parents": [
        "89755dcace09b44b3aa024bf302d9b19b4c24cad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:46:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:46:31 2010 +0200"
      },
      "message": "hfsplus: add missing extent locking in hfsplus_write_inode\n\nMost of the extent handling code already does proper SMP locking, but\nhfsplus_write_inode was calling into hfsplus_ext_write_extent without\ntaking the extents_lock.  Fix this by splitting hfsplus_ext_write_extent\ninto an internal helper that expects the lock, and a public interface\nthat first acquires it.\n\nAlso add a few locking asserts and document the locking rules in\nhfsplus_fs.h.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "89755dcace09b44b3aa024bf302d9b19b4c24cad",
      "tree": "8626891db36b01a3ff3ac80967ce08aef988d1f7",
      "parents": [
        "84adede31267af37141da2b2b04293c5ea8af7ae"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:25 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:25 2010 +0200"
      },
      "message": "hfsplus: protect readdir against removals from open_dir_list\n\nWe already have i_mutex for readdir and the namespace operations that add\nentries to open_dir_list, the only thing that was missing was the removal\nin hfsplus_dir_release.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "84adede31267af37141da2b2b04293c5ea8af7ae",
      "tree": "41c1a3e28fab11baca330232bacbff3085afde82",
      "parents": [
        "7ac9fb9c2a50963b699b3548e6f00698c1554dc6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:20 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:20 2010 +0200"
      },
      "message": "hfsplus: use atomic bitops for the superblock flags\n\nThe flags in the HFS+-specific superlock do get modified during runtime,\nuse atomic bitops to make the modifications SMP safe.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "7ac9fb9c2a50963b699b3548e6f00698c1554dc6",
      "tree": "3660bfb2985c65838b5969694e54043ae6639b3a",
      "parents": [
        "58a818f532e83f337689358c102ba2048d1b37f5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:45:08 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:45:08 2010 +0200"
      },
      "message": "hfsplus: add per-superblock lock for volume header updates\n\nLock updates to the mutal fields in the volume header, and document the\nlocing in the hfsplus_sb_info structure.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "58a818f532e83f337689358c102ba2048d1b37f5",
      "tree": "8cd9f322a93423affb9acec6fac3547c7232de5c",
      "parents": [
        "66e5db05bb6670f314d90aba5998e6a033e4d563"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:44:02 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:44:02 2010 +0200"
      },
      "message": "hfsplus: remove the rsrc_inodes list\n\nWe never walk the list - the only reason for it is to make the resource fork\ninodes appear hashed to the writeback code.  Borrow a trick from JFS to do\nthat without needing a list head.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "66e5db05bb6670f314d90aba5998e6a033e4d563",
      "tree": "66bae4889f95b20521d890e4dda944672663aa50",
      "parents": [
        "f17c89bfcc9cccd405098eac3ec1ebfddf03279e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:58 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:58 2010 +0200"
      },
      "message": "hfsplus: do not cache and write next_alloc\n\nWe never look at it, nor change the next_alloc field in the superblock.  So\ndon\u0027t bother caching it or writing it out in hfsplus_sync_fs.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "f17c89bfcc9cccd405098eac3ec1ebfddf03279e",
      "tree": "f8c33976eb35e7ee62f59fbe200a92f447d42fbd",
      "parents": [
        "30d3abbec730a5a9c954a6342271f7a7db155b08"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:54 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:54 2010 +0200"
      },
      "message": "hfsplus: fix error handling in hfsplus_symlink\n\nWe need to free the inode again on a hfsplus_create_cat failure.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "30d3abbec730a5a9c954a6342271f7a7db155b08",
      "tree": "6a4ef55c864bec34ddb6e446b46882ab0539bf3b",
      "parents": [
        "b5080f77ed2de3c8ac67a63044f8a781c75207d9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:50 2010 +0200"
      },
      "message": "hfsplus: merge mknod/mkdir/creat\n\nMake hfsplus_mkdir and hfsplus_create call hfsplus_mknod instead of\nduplicating the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b5080f77ed2de3c8ac67a63044f8a781c75207d9",
      "tree": "48897d88cf2ce0025be0ddb2b53d296c874cd379",
      "parents": [
        "fc4fff82104fa096eada73943fe5249500acd5fa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:43 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:43 2010 +0200"
      },
      "message": "hfsplus: clean up hfsplus_write_inode\n\nAdd a new hfsplus_system_write_inode for writing the special system inodes\nand streamline the fastpath write_inode code.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "fc4fff82104fa096eada73943fe5249500acd5fa",
      "tree": "5fefc3512525a08d9a77723706cde96d001c167f",
      "parents": [
        "6af502de224c3742936d54eee7e3690c09822934"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:41 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:41 2010 +0200"
      },
      "message": "hfsplus: clean up hfsplus_iget\n\nAdd a new hfsplus_system_read_inode for reading the special system inodes\nand streamline the fastpath iget code.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "6af502de224c3742936d54eee7e3690c09822934",
      "tree": "9988331693952348503d64764ff81dc3b5d801ab",
      "parents": [
        "dd73a01a30d729e8fa6f829c4582650e258e36f9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:43:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:43:31 2010 +0200"
      },
      "message": "hfsplus: fix HFSPLUS_I calling convention\n\nHFSPLUS_I doesn\u0027t return a pointer to the hfsplus-specific inode\ninformation like all other FOO_I macros, but dereference the pointer in a way\nthat made it look like a direct struct derefence.  This only works as long\nas the HFSPLUS_I macro is used directly and prevents us from keepig a local\nhfsplus_inode_info pointer.  Fix the calling convention and introduce a local\nhip variable in all functions that use it constantly.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "dd73a01a30d729e8fa6f829c4582650e258e36f9",
      "tree": "befe5a0bf762211d1a907ad11c15c4a21d7c4f74",
      "parents": [
        "e753a62156e952fd5a3c64f98454d9aeee3a2546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@tuxera.com",
        "time": "Fri Oct 01 05:42:59 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:42:59 2010 +0200"
      },
      "message": "hfsplus: fix HFSPLUS_SB calling convention\n\nHFSPLUS_SB doesn\u0027t return a pointer to the hfsplus-specific superblock\ninformation like all other FOO_SB macros, but dereference the pointer in a way\nthat made it look like a direct struct derefence.  This only works as long\nas the HFSPLUS_SB macro is used directly and prevents us from keepig a local\nhfsplus_sb_info pointer.  Fix the calling convention and introduce a local\nsbi variable in all functions that use it constantly.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "e753a62156e952fd5a3c64f98454d9aeee3a2546",
      "tree": "1f474a1212a0690cf30b817822a31094b52e8b5d",
      "parents": [
        "a9fdbf8c6070d49c482e209df7ee93d9ec41ea27"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:53 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:53 2010 +0200"
      },
      "message": "hfsplus: remove BKL from hfsplus_put_super\n\nExcept for -\u003eput_super the BKL is now gone from HFS, which means it\u0027s\nsuperflous there too as -\u003eput_super is serialized by the VFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "a9fdbf8c6070d49c482e209df7ee93d9ec41ea27",
      "tree": "d8e2547819bc1e75f3ac29804e6c5b8b23f65c75",
      "parents": [
        "40bf48afe92fcea61e7e164f0b2599fba8b88124"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:50 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:50 2010 +0200"
      },
      "message": "hfsplus: use alloc_mutex in hfsplus_sync_fs\n\nUse alloc_mutex to protect hfsplus_sync_fs against itself and concurrent\nallocations, which allows to get rid of lock_super in hfsplus.\n\nNote that most fields in the superblock still aren\u0027t protected against\nconcurrent allocations, that will follow later.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "40bf48afe92fcea61e7e164f0b2599fba8b88124",
      "tree": "233a48a5e2de1c469804f6745d8fd48e62c78abc",
      "parents": [
        "6333816ade7e04a96ec0a34a8378c455e4f7c4dd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:39 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:39 2010 +0200"
      },
      "message": "hfsplus: introduce alloc_mutex\n\nUse a new per-sb alloc_mutex instead of abusing i_mutex of the alloc_file\nto protect block allocations.  This gets rid of lockdep nesting warnings\nand prepares for extending the scope of alloc_mutex.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "6333816ade7e04a96ec0a34a8378c455e4f7c4dd",
      "tree": "bd6f3fc3d929b44cffea4319f6bda828b6704269",
      "parents": [
        "94744567fef9602c3d8218a1d8f58c04cce354f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:35 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:35 2010 +0200"
      },
      "message": "hfsplus: protect setflags using i_mutex\n\nUse i_mutex for protecting against concurrent setflags ioctls like in\nother filesystems and get rid of the BKL in hfsplus_ioctl.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "94744567fef9602c3d8218a1d8f58c04cce354f6",
      "tree": "9bbe93c54ea8e1201fa0d59a10e17bba03d09b53",
      "parents": [
        "249e6353001e407edf5c9a74482ecfca90c8ff33"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:31 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:31 2010 +0200"
      },
      "message": "hfsplus: split hfsplus_ioctl\n\nGive each ioctl command a function of it\u0027s own.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "249e6353001e407edf5c9a74482ecfca90c8ff33",
      "tree": "c9f30ff5f686e06cd97fbc891dd90346fc8bc9a7",
      "parents": [
        "0f44fbd297e1cda5d9ecc9f5321a86fe647c7d4a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:27 2010 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 01 05:41:27 2010 +0200"
      },
      "message": "hfsplus: fix BKL leak in hfsplus_ioctl\n\nCurrenly the HFSPLUS_IOC_EXT2_GETFLAGS case never unlocks the BKL, which\ncan lead to easily reproduced lockups when doing multiple GETFLAGS ioctls.\n\nFix this by only taking the BKL for the HFSPLUS_IOC_EXT2_SETFLAGS case\nas neither HFSPLUS_IOC_EXT2_GETFLAGS not the default error case needs it.\n\nSigned-off-by: Christoph Hellwig \u003chch@tuxera.com\u003e\n"
    },
    {
      "commit": "b57922d97fd6f79b6dbe6db0c4fd30d219fa08c1",
      "tree": "1d39e9cd8e1c1f502fb7e985a08286859c69aa36",
      "parents": [
        "45321ac54316eaeeebde0b5f728a1791e500974c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 14:34:48 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:37 2010 -0400"
      },
      "message": "convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5fc510c48f631882ccec3c0f02a25d5b67de09f",
      "tree": "1749954353b972502f05cdfae75b9d5e77cc1f5a",
      "parents": [
        "fa9b227e9019ebaeeb06224ba531a490f91144b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 04 12:24:09 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:43 2010 -0400"
      },
      "message": "get rid of file_fsync()\n\nCopy and simplify in the only two users remaining.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d39aae9ec447dda84d9a2850743a78a535a71c90",
      "tree": "e362c3367f093b79482f3034e82b18cd2dc8931a",
      "parents": [
        "155130a4f7848b1aac439cab6bda1a175507c71c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:59 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:34 2010 -0400"
      },
      "message": "add missing setattr methods\n\nFor the new truncate sequence every filesystem that wants to truncate on-disk\nstate needs a seattr method.  Convert the remaining filesystems that implement\nthe truncate inode operation to have its own setattr method.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "282dc178849882289d30e58b54be6b2799b351aa",
      "tree": "4c6697cdf2d914889e002f32af6bf51bb2750063",
      "parents": [
        "ea0f04e59543bafb3d2cbe37a0d375acb0bb2c34"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:31 2010 -0400"
      },
      "message": "get rid of cont_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to cont_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eafdc7d190a944c755a9fe68573c193e6e0217e7",
      "tree": "915c3cc8004706fabf88eae1ab123a3fa0147516",
      "parents": [
        "256249584bda1a9357e2d29987a37f5b2df035f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:53 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:29 2010 -0400"
      },
      "message": "sort out blockdev_direct_IO variants\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin prepearation of the new truncate calling sequence.  This was only done\nfor DIO_LOCKING filesystems, so the __blockdev_direct_IO_newtrunc variant\nwas not needed anyway.  Get rid of blockdev_direct_IO_no_locking and\nits _newtrunc variant while at it as just opencoding the two additional\nparamters is shorted than the name suffix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7cc4bcc6f152d365eb27acba5dcb7b38b36b3e50",
      "tree": "d419f8f70942691cebabf94fd4d218f61a7736d7",
      "parents": [
        "e40152ee1e1c7a63f4777791863215e3faa37a86"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Apr 27 16:24:20 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon May 17 05:27:03 2010 +0200"
      },
      "message": "hfsplus: Push down BKL into ioctl function\n\nHFS is one of the remaining users of the -\u003eioctl function, convert it\nblindly to unlocked_ioctl by pushing down the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5c36fe3d87b3f0c85894a49193c66096a3d6b26f",
      "tree": "8c2953fe31004115794e7834cfbc7136186aca5c",
      "parents": [
        "b5654f5e7fc414a6e69b3647db2b043257c9e62e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 26 16:49:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:27 2009 -0700"
      },
      "message": "hfsplus: refuse to mount volumes larger than 2TB\n\nAs found in \u003chttp://bugs.debian.org/550010\u003e, hfsplus is using type u32\nrather than sector_t for some sector number calculations.\n\nIn particular, hfsplus_get_block() does:\n\n        u32 ablock, dblock, mask;\n...\n        map_bh(bh_result, sb, (dblock \u003c\u003c HFSPLUS_SB(sb).fs_shift) + HFSPLUS_SB(sb).blockoffset + (iblock \u0026 mask));\n\nI am not confident that I can find and fix all cases where a sector number\nmay be truncated.  For now, avoid data loss by refusing to mount HFS+\nvolumes with more than 2^32 sectors (2TB).\n\n[akpm@linux-foundation.org: fix 32 and 64-bit issues]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\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": "6d729e44a55547c009d7a87ea66bff21a8e0afea",
      "tree": "c27e69babb9b397ad56cb20a935b75c35ceb364f",
      "parents": [
        "4504230a71566785a05d3e6b53fa1ee071b864eb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 16 21:05:08 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:42 2009 -0400"
      },
      "message": "fs: Make unload_nls() NULL pointer safe\n\nMost call sites of unload_nls() do:\n\tif (nls)\n\t\tunload_nls(nls);\n\nCheck the pointer inside unload_nls() like we do in kfree() and\nsimplify the call sites.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steve French \u003csfrench@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Petr Vandrovec \u003cvandrove@vc.cvut.cz\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fbc6df0e7a561a313f49faa77829d5de45a97f8",
      "tree": "c19d60ff362527ce66489d2fdbecc34a89b0a0ef",
      "parents": [
        "58bc5bbb873eb5d86126a3fd3ff02aaa69ec15d0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 10:05:12 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:16 2009 -0400"
      },
      "message": "hfsplus: add -\u003esync_fs\n\nAdd a -\u003esync_fs method for data integrity syncs, and reimplement\n-\u003ewrite_super ontop of it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebc1ac164560a241d9bf1b7519062910c3f90a01",
      "tree": "db17fd3043b15f8269cce2c2d00213814022fc30",
      "parents": [
        "01ba687577647beef6c5f2ea59bfb56fac9fcde2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 11 23:35:03 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "-\u003ewrite_super lock_super pushdown\n\nPush down lock_super into -\u003ewrite_super instances and remove it from the\ncaller.\n\nFollowing filesystem don\u0027t need -\u003es_lock in -\u003ewrite_super and are skipped:\n\n * bfs, nilfs2 - no other uses of s_lock and have internal locks in\n\t-\u003ewrite_super\n * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock\n * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in\n \t-\u003ewrite_super\n * xfs - no other uses of s_lock and uses internal lock (buffer lock on\n\tsuperblock buffer) to serialize -\u003ewrite_super.  Also xfs_fs_write_super\n\tis superflous and will go away in the next merge window\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c85e125124a473d6f3e9bb187b0b84207f81d91",
      "tree": "d883424a156c00c55193e46567efdffddb6ef6b9",
      "parents": [
        "517bfae28353e996160518add4d00033d3886e61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 28 18:00:26 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:06 2009 -0400"
      },
      "message": "remove -\u003ewrite_super call in generic_shutdown_super\n\nWe just did a full fs writeout using sync_filesystem before, and if\nthat\u0027s not enough for the filesystem it can perform it\u0027s own writeout\nin -\u003eput_super, which many filesystems already do.\n\nMove a call to foofs_write_super into every foofs_put_super for now to\nguarantee identical behaviour until it\u0027s cleaned up by the individual\nfilesystem maintainers.\n\nExceptions:\n\n - affs already has identical copy \u0026 pasted code at the beginning of\n   affs_put_super so no need to do it twice.\n - xfs does the right thing without it and I have changes pending for\n   the xfs tree touching this are so I don\u0027t really need conflicts\n   here..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "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  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\n"
    },
    {
      "commit": "25564dd869d8615e80b70b37de7545bd21de3c7c",
      "tree": "4453809be73488064251f2686fc10eb523a0ea1d",
      "parents": [
        "7dd2c000ff50c758c7abfa95f57c854e3aeba5e6"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Thu Apr 02 16:59:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:09 2009 -0700"
      },
      "message": "fs/hfsplus: return f_fsid for statfs(2)\n\nMake hfsplus return f_fsid info for statfs(2).\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e16404ed0f3f330dc3e99b95cef69bb60bcd27f7",
      "tree": "e60bf730a9a34ae3139ced51cdc9cbd90562fb24",
      "parents": [
        "f786aa90e026f2174bb0c26d49f338c5c46ede55"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:55:13 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:00 2009 -0400"
      },
      "message": "constify dentry_operations: misc filesystems\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b08bac1f185b2281c3decb4f8e15e8f41f96e974",
      "tree": "aab01344eb799258e7b17ef571869b575089d18f",
      "parents": [
        "295c896cb95de18004ef5e1b53f44c2ad001f936"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:53:24 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:57 2009 +0300"
      },
      "message": "fs/Kconfig: move hfs, hfsplus out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "4ac8489a7294dcf92127825d74f2d981143e825d",
      "tree": "63cbb2e2f1f7f7c92e84d5637a66c2264ef42640",
      "parents": [
        "94c9a5ee4cc7fb7eee2a9f9e47f7ccea6b1869ff"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:54 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:54 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the HFSplus 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: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929",
      "tree": "738adf557608f26e881a710839de12b7527549b6",
      "parents": [
        "5cec56deb6d41b5b570306b17cd0b1590ebd0897"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 31 13:41:58 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:25 2008 -0400"
      },
      "message": "[PATCH] move executable checking into -\u003epermission()\n\nFor execute permission on a regular files we need to check if file has\nany execute bits at all, regardless of capabilites.\n\nThis check is normally performed by generic_permission() but was also\nadded to the case when the filesystem defines its own -\u003epermission()\nmethod.  In the latter case the filesystem should be responsible for\nperforming this check.\n\nMove the check from inode_permission() inside filesystems which are\nnot calling generic_permission().\n\nCreate a helper function execute_ok() that returns true if the inode\nis a directory or if any execute bits are present in i_mode.\n\nAlso fix up the following code:\n\n - coda control file is never executable\n - sysctl files are never executable\n - hfs_permission seems broken on MAY_EXEC, remove\n - hfsplus_permission is eqivalent to generic_permission(), remove\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "248736c2a57206388c86f8cdd3392ee986e84f9f",
      "tree": "1097d53f082e6773d7ecaac2eea5f7825c62cb01",
      "parents": [
        "6e7152944426be786c6c232990914e4565290d35"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Oct 18 20:28:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "hfsplus: fix possible deadlock when handling corrupted extents\n\nA corrupted extent for the extent file itself may try to get an impossible\nextent, causing a deadlock if I see it correctly.\n\nCheck the inode number after the first_blocks checks and fail if it\u0027s the\nextent file, as according to the spec the extent file should have no\nextent for itself.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e7152944426be786c6c232990914e4565290d35",
      "tree": "a4b3eb3946db47c98621b9b53f2f26bb2721b76c",
      "parents": [
        "cdbf6dba28e8e6268c8420857696309470009fd9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sat Oct 18 20:28:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:38 2008 -0700"
      },
      "message": "hfsplus: missing O_LARGEFILE check\n\nhfsplus: O_LARGEFILE checking is missing\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d8490\n\nFrom: Alan Cox \u003calan@redhat.com\u003e\nReported-by: didier \u003cdid447@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "649f1ee6c705aab644035a7998d7b574193a598a",
      "tree": "81dcf2be969b90b8cda18c72229bb1ca71577749",
      "parents": [
        "efc7ffcb4237f8cb9938909041c4ed38f6e1bf40"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 15 22:04:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: check read_mapping_page() return value\n\nWhile testing more corrupted images with hfsplus, i came across\none which triggered the following bug:\n\n[15840.675016] BUG: unable to handle kernel paging request at fffffffb\n[15840.675016] IP: [\u003cc0116a4f\u003e] kmap+0x15/0x56\n[15840.675016] *pde \u003d 00008067 *pte \u003d 00000000\n[15840.675016] Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC\n[15840.675016] Modules linked in:\n[15840.675016]\n[15840.675016] Pid: 11575, comm: ln Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #29)\n[15840.675016] EIP: 0060:[\u003cc0116a4f\u003e] EFLAGS: 00010202 CPU: 0\n[15840.675016] EIP is at kmap+0x15/0x56\n[15840.675016] EAX: 00000246 EBX: fffffffb ECX: 00000000 EDX: cab919c0\n[15840.675016] ESI: 000007dd EDI: cab0bcf4 EBP: cab0bc98 ESP: cab0bc94\n[15840.675016]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[15840.675016] Process ln (pid: 11575, ti\u003dcab0b000 task\u003dcab919c0 task.ti\u003dcab0b000)\n[15840.675016] Stack: 00000000 cab0bcdc c0231cfb 00000000 cab0bce0 00000800 ca9290c0 fffffffb\n[15840.675016]        cab145d0 cab919c0 cab15998 22222222 22222222 22222222 00000001 cab15960\n[15840.675016]        000007dd cab0bcf4 cab0bd04 c022cb3a cab0bcf4 cab15a6c ca9290c0 00000000\n[15840.675016] Call Trace:\n[15840.675016]  [\u003cc0231cfb\u003e] ? hfsplus_block_allocate+0x6f/0x2d3\n[15840.675016]  [\u003cc022cb3a\u003e] ? hfsplus_file_extend+0xc4/0x1db\n[15840.675016]  [\u003cc022ce41\u003e] ? hfsplus_get_block+0x8c/0x19d\n[15840.675016]  [\u003cc06adde4\u003e] ? sub_preempt_count+0x9d/0xab\n[15840.675016]  [\u003cc019ece6\u003e] ? __block_prepare_write+0x147/0x311\n[15840.675016]  [\u003cc0161934\u003e] ? __grab_cache_page+0x52/0x73\n[15840.675016]  [\u003cc019ef4f\u003e] ? block_write_begin+0x79/0xd5\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc019f22a\u003e] ? cont_write_begin+0x27f/0x2af\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0139ebe\u003e] ? tick_program_event+0x28/0x4c\n[15840.675016]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[15840.675016]  [\u003cc022b723\u003e] ? hfsplus_write_begin+0x2d/0x32\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0161988\u003e] ? pagecache_write_begin+0x33/0x107\n[15840.675016]  [\u003cc01879e5\u003e] ? __page_symlink+0x3c/0xae\n[15840.675016]  [\u003cc019ad34\u003e] ? __mark_inode_dirty+0x12f/0x137\n[15840.675016]  [\u003cc0187a70\u003e] ? page_symlink+0x19/0x1e\n[15840.675016]  [\u003cc022e6eb\u003e] ? hfsplus_symlink+0x41/0xa6\n[15840.675016]  [\u003cc01886a9\u003e] ? vfs_symlink+0x99/0x101\n[15840.675016]  [\u003cc018a2f6\u003e] ? sys_symlinkat+0x6b/0xad\n[15840.675016]  [\u003cc018a348\u003e] ? sys_symlink+0x10/0x12\n[15840.675016]  [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n[15840.675016]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[15840.675016] Code: 00 00 75 10 83 3d 88 2f ec c0 02 75 07 89 d0 e8 12 56 05 00 5d c3 55 ba 06 00 00 00 89 e5 53 89 c3 b8 3d eb 7e c0 e8 16 74 00 00 \u003c8b\u003e 03 c1 e8 1e 69 c0 d8 02 00 00 05 b8 69 8e c0 2b 80 c4 02 00\n[15840.675016] EIP: [\u003cc0116a4f\u003e] kmap+0x15/0x56 SS:ESP 0068:cab0bc94\n[15840.675016] ---[ end trace 4fea40dad6b70e5f ]---\n\nThis happens because the return value of read_mapping_page() is passed on\nto kmap unchecked.  The bug is triggered after the first\nread_mapping_page() in hfsplus_block_allocate(), this patch fixes all\nthree usages in this functions but leaves the ones further down in the\nfile unchanged.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "efc7ffcb4237f8cb9938909041c4ed38f6e1bf40",
      "tree": "94cc5d6fa4f8760b677de5cd90ce6c3e5551f597",
      "parents": [
        "81a73719d1bc77774f6ac91e2476f22c56f18baf"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 15 22:04:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: fix Buffer overflow with a corrupted image\n\nWhen an hfsplus image gets corrupted it might happen that the catalog\nnamelength field gets b0rked.  If we mount such an image the memcpy() in\nhfsplus_cat_build_key_uni() writes more than the 255 that fit in the name\nfield.  Depending on the size of the overwritten data, we either only get\nmemory corruption or also trigger an oops like this:\n\n[  221.628020] BUG: unable to handle kernel paging request at c82b0000\n[  221.629066] IP: [\u003cc022d4b1\u003e] hfsplus_find_cat+0x10d/0x151\n[  221.629066] *pde \u003d 0ea29163 *pte \u003d 082b0160\n[  221.629066] Oops: 0002 [#1] PREEMPT DEBUG_PAGEALLOC\n[  221.629066] Modules linked in:\n[  221.629066]\n[  221.629066] Pid: 4845, comm: mount Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #28)\n[  221.629066] EIP: 0060:[\u003cc022d4b1\u003e] EFLAGS: 00010206 CPU: 0\n[  221.629066] EIP is at hfsplus_find_cat+0x10d/0x151\n[  221.629066] EAX: 00000029 EBX: 00016210 ECX: 000042c2 EDX: 00000002\n[  221.629066] ESI: c82d70ca EDI: c82b0000 EBP: c82d1bcc ESP: c82d199c\n[  221.629066]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[  221.629066] Process mount (pid: 4845, ti\u003dc82d1000 task\u003dc8224060 task.ti\u003dc82d1000)\n[  221.629066] Stack: c080b3c4 c82aa8f8 c82d19c2 00016210 c080b3be c82d1bd4 c82aa8f0 00000300\n[  221.629066]        01000000 750008b1 74006e00 74006900 65006c00 c82d6400 c013bd35 c8224060\n[  221.629066]        00000036 00000046 c82d19f0 00000082 c8224548 c8224060 00000036 c0d653cc\n[  221.629066] Call Trace:\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc01302d2\u003e] ? __kernel_text_address+0x1b/0x27\n[  221.629066]  [\u003cc010487a\u003e] ? dump_trace+0xca/0xd6\n[  221.629066]  [\u003cc0109e32\u003e] ? save_stack_address+0x0/0x2c\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc013b571\u003e] ? save_trace+0x37/0x8d\n[  221.629066]  [\u003cc013b62e\u003e] ? add_lock_to_list+0x67/0x8d\n[  221.629066]  [\u003cc013ea1c\u003e] ? validate_chain+0x8a4/0x9f4\n[  221.629066]  [\u003cc013553d\u003e] ? down+0xc/0x2f\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc013da5d\u003e] ? mark_held_locks+0x43/0x5a\n[  221.629066]  [\u003cc013dc3a\u003e] ? trace_hardirqs_on+0xb/0xd\n[  221.629066]  [\u003cc013dbf4\u003e] ? trace_hardirqs_on_caller+0xf4/0x12f\n[  221.629066]  [\u003cc06abec8\u003e] ? _spin_unlock_irqrestore+0x42/0x58\n[  221.629066]  [\u003cc013555c\u003e] ? down+0x2b/0x2f\n[  221.629066]  [\u003cc022aa68\u003e] ? hfsplus_iget+0xa0/0x154\n[  221.629066]  [\u003cc022b0b9\u003e] ? hfsplus_fill_super+0x280/0x447\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc041c9e4\u003e] ? string+0x2b/0x74\n[  221.629066]  [\u003cc041cd16\u003e] ? vsnprintf+0x2e9/0x512\n[  221.629066]  [\u003cc010487a\u003e] ? dump_trace+0xca/0xd6\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc0109eaf\u003e] ? save_stack_trace+0x1c/0x3a\n[  221.629066]  [\u003cc013b571\u003e] ? save_trace+0x37/0x8d\n[  221.629066]  [\u003cc013b62e\u003e] ? add_lock_to_list+0x67/0x8d\n[  221.629066]  [\u003cc013ea1c\u003e] ? validate_chain+0x8a4/0x9f4\n[  221.629066]  [\u003cc01354d3\u003e] ? up+0xc/0x2f\n[  221.629066]  [\u003cc013f1f6\u003e] ? __lock_acquire+0x68a/0x6e0\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc013bca3\u003e] ? trace_hardirqs_off_caller+0x14/0x9b\n[  221.629066]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[  221.629066]  [\u003cc0107aa3\u003e] ? native_sched_clock+0x82/0x96\n[  221.629066]  [\u003cc041cfb7\u003e] ? snprintf+0x1b/0x1d\n[  221.629066]  [\u003cc01ba466\u003e] ? disk_name+0x25/0x67\n[  221.629066]  [\u003cc0183960\u003e] ? get_sb_bdev+0xcd/0x10b\n[  221.629066]  [\u003cc016ad92\u003e] ? kstrdup+0x2a/0x4c\n[  221.629066]  [\u003cc022a7b3\u003e] ? hfsplus_get_sb+0x13/0x15\n[  221.629066]  [\u003cc022ae39\u003e] ? hfsplus_fill_super+0x0/0x447\n[  221.629066]  [\u003cc0183583\u003e] ? vfs_kern_mount+0x3b/0x76\n[  221.629066]  [\u003cc0183602\u003e] ? do_kern_mount+0x32/0xba\n[  221.629066]  [\u003cc01960d4\u003e] ? do_new_mount+0x46/0x74\n[  221.629066]  [\u003cc0196277\u003e] ? do_mount+0x175/0x193\n[  221.629066]  [\u003cc013dbf4\u003e] ? trace_hardirqs_on_caller+0xf4/0x12f\n[  221.629066]  [\u003cc01663b2\u003e] ? __get_free_pages+0x1e/0x24\n[  221.629066]  [\u003cc06ac07b\u003e] ? lock_kernel+0x19/0x8c\n[  221.629066]  [\u003cc01962e6\u003e] ? sys_mount+0x51/0x9b\n[  221.629066]  [\u003cc01962f9\u003e] ? sys_mount+0x64/0x9b\n[  221.629066]  [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n[  221.629066]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  221.629066] Code: 89 c2 c1 e2 08 c1 e8 08 09 c2 8b 85 e8 fd ff ff 66 89 50 06 89 c7 53 83 c7 08 56 57 68 c4 b3 80 c0 e8 8c 5c ef ff 89 d9 c1 e9 02 \u003cf3\u003e a5 89 d9 83 e1 03 74 02 f3 a4 83 c3 06 8b 95 e8 fd ff ff 0f\n[  221.629066] EIP: [\u003cc022d4b1\u003e] hfsplus_find_cat+0x10d/0x151 SS:ESP 0068:c82d199c\n[  221.629066] ---[ end trace e417a1d67f0d0066 ]---\n\nSince hfsplus_cat_build_key_uni() returns void and only has one callsite,\nthe check is performed at the callsite.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81a73719d1bc77774f6ac91e2476f22c56f18baf",
      "tree": "f760f4f4a31ff371476057e2d2a16857a7077155",
      "parents": [
        "152b95a1ed499075006cc6552ef49407deeb815b"
      ],
      "author": {
        "name": "Mike Crowe",
        "email": "mac@mcrowe.com",
        "time": "Wed Oct 15 22:04:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: quieten down mounting hfsplus journaled fs read only\n\nCheck whether the file system was to be mounted read only anyway before\nwarning about changing the mount to read only.\n\nSigned-off-by: Mike Crowe \u003cmac@mcrowe.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\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": "516e0cc5646f377ab80fcc2ee639892eccb99853",
      "tree": "e06296dcedb42dbe397d237887873e70c5823d51",
      "parents": [
        "3c333937ee3be114b181c4861188cfe8f6a59697"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 00:39:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:40 2008 -0400"
      },
      "message": "[PATCH] f_count may wrap around\n\nmake it atomic_long_t; while we are at it, get rid of useless checks in affs,\nhfs and hpfs - -\u003eopen() always has it equal to 1, -\u003erelease() - to 0.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "895c23f8c39c0c8d7b536bb2566d4aa968d78be2",
      "tree": "3744aca0dc59f075e53af348062ad11efdb21192",
      "parents": [
        "39f8d472f280dee6503a364d1d911b9e20ce3ec9"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias@kaehlcke.net",
        "time": "Fri Jul 25 01:46:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:33 2008 -0700"
      },
      "message": "hfsplus: convert the extents_lock in a mutex\n\nApple Extended HFS file system: The semaphore extents lock is used as a\nmutex.  Convert it to the mutex API.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias@kaehlcke.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "706322496b3a58af3cf258db2b553d6933656eef",
      "tree": "ec64bbc9e20be4a5b2baf9dcbb3e2201e822c97f",
      "parents": [
        "4413a0f637df4e59b934909ac388a21cfdd90e69"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon May 12 14:02:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "Fix hfsplus oops on image without extents\n\nFix an oops with a corrupted hfs+ image.\n\nSee http://bugzilla.kernel.org/show_bug.cgi?id\u003d10548 for details.\n\nProblem is that we call hfs_btree_open() from hfsplus_fill_super() to set\nHFSPLUS_SB(sb).[ext_tree|cat_tree] Both trees are still NULL at this moment.\nIf hfs_btree_open() fails for any reason it calls iput() on the page, which\ngets to hfsplus_releasepage() which tries to access HFSPLUS_SB(sb).* which is\nstill NULL and oopses while dereferencing it.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "487798df6d25e76ed6558b3e17c44cf0458cc6f3",
      "tree": "3c7918f1e8e4146ab716e403daede83bbde4030a",
      "parents": [
        "3e5a5097303eedb4ffae2719843eb064221b1db4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:54:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:52 2008 -0700"
      },
      "message": "hfsplus: fix warning with 64k PAGE_SIZE\n\nfs/hfsplus/btree.c: In function \u0027hfsplus_bmap_alloc\u0027:\nfs/hfsplus/btree.c:239: warning: comparison is always false due to limited range of data type\n\nBut this might hide a real bug?\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c79e785ae3f813310261dde81b29ab0c3e28b4",
      "tree": "eef2c72d3837e914f1b74d49e0fbe8450a9af6ee",
      "parents": [
        "6369a4abb486692cd0f5fe592b48ec7419b7976c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Wed Apr 30 00:54:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "hfs/hfsplus: be*_add_cpu conversion\n\nreplace all:\nbig_endian_variable \u003d cpu_to_beX(beX_to_cpu(big_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tbeX_add_cpu(\u0026big_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "355a46961b58012de239cafccbfce4c9321d4395",
      "tree": "012452f39104f98b2bbadedf530033f2e1f3c502",
      "parents": [
        "25f2ea9fc8c7ec34d351cef7dade2e8046e49ed1"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Tue Apr 29 16:01:22 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 13:23:21 2008 -0700"
      },
      "message": "trivial: fix user-visible typo in hfsplus\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b3789e5d552b8ba4841926066ef0ccd664e209c",
      "tree": "927397c9abf3942faeebe86e62ef9a2c4a9226d9",
      "parents": [
        "803f445f17aa1b71235ad6febae734dd7ad23ddd"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Apr 29 01:03:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:28 2008 -0700"
      },
      "message": "hfsplus: use get/put_unaligned_* helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\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": "cd6fda36089cf3b450821228c2f575a3b5d0e7a7",
      "tree": "5dee060a4d4fead58251611b28377833b504489d",
      "parents": [
        "3fbe5c31009d26c7b6b73d5c69fe930a5e9d2e26"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Tue Apr 29 00:59:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:02 2008 -0700"
      },
      "message": "hfsplus: handle match_strdup failure\n\nfs/hfsplus/options.c (hfsplus_parse_options): Handle match_strdup failure.\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b0a8da7a7bbe7f84c7bd16a5e965a129f461881",
      "tree": "383fa770ab03cf87635cbc547066a9fae445efa9",
      "parents": [
        "4488c59c942bd6004fc97f0c2a7603a2f5dd80e0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "fs/hfsplus/: proper externs\n\nAdd proper extern declarations for two structs in fs/hfsplus/hfsplus_fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42a74f206b914db13ee1f5ae932dcd91a77c8579",
      "tree": "24e3dbe55edaacc750067ab9e01778255a6bff08",
      "parents": [
        "20ddee2c75339cc095f6191c3115f81da8955e96"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:46 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ioctls()\n\nSome ioctl()s can cause writes to the filesystem.  Take these, and make them\nuse mnt_want/drop_write() instead.\n\n[AV: updated]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "76b0c26af2736b7e5b87e6ed7ab63901483d5736",
      "tree": "5d5178cdbf82bcc2ab581826bef033377fa1e210",
      "parents": [
        "f4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Apr 09 17:44:07 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 13:37:51 2008 -0700"
      },
      "message": "HFS+: fix unlink of links\n\nSome time ago while attempting to handle invalid link counts, I botched\nthe unlink of links itself, so this patch fixes this now correctly, so\nthat only the link count of nodes that don\u0027t point to links is ignored.\nThanks to Vlado Plaga \u003crechner@vlado-do.de\u003e to notify me of this\nproblem.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aa84ab99b1e47973f0b82258f0eab945d0b114d",
      "tree": "a8c5d2f582595a10bdf97e1f6dd1a537af9f3d22",
      "parents": [
        "800fdfb90ab4a172a46e45b7cc5e1670a54f44bc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 04:20:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:36 2008 -0800"
      },
      "message": "fs/hfsplus/unicode.c: fix uninitialized var warning\n\nfs/hfsplus/unicode.c: In function \u0027hfsplus_hash_dentry\u0027:\nfs/hfsplus/unicode.c:328: warning: \u0027dsize\u0027 may be used uninitialized in this function\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "635253915b3297435e178371407d568522aae3d4",
      "tree": "98e102b111d0aa8703c8b971cb130acf19ce34d0",
      "parents": [
        "fa300b1914f892196acb385677047bc978466de7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop HFSPLUS from using iget() and read_inode()\n\nStop the HFSPLUS filesystem from using iget() and read_inode().  Replace\nhfsplus_read_inode() with hfsplus_iget(), and call that instead of iget().\nhfsplus_iget() then uses iget_locked() directly and returns a proper error\ncode instead of an inode in the event of an error.\n\nhfsplus_fill_super() returns any error incurred when getting the root inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "7c0efc627738c840a685ea0f2c23d09aad7d5d3b",
      "tree": "e51573472f37260d57541bb4456ae1a948307cc7",
      "parents": [
        "7903d9eed82db81c15ee8b4114187dfdcad7650f"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:56 2007 -0700"
      },
      "message": "hfsplus: convert to new aops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d45bce8faf55511ec7d7ffc301461d864d67f1af",
      "tree": "1b3c33667f5cb30d3daa91ddd50a726045991d74",
      "parents": [
        "1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Sun Jul 15 23:41:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:49 2007 -0700"
      },
      "message": "HFS+: add custom dentry hash and comparison operations\n\nAdd custom dentry hash and comparison operations for HFS+ filesystems that are\ncase-insensitive and/or do automatic unicode decomposition.  The new\noperations reuse the existing HFS+ ASCII to unicode conversion, unicode\ndecomposition and case folding functionality.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1",
      "tree": "e770e898c43bc1e24bec330d97ef26c4f49189f8",
      "parents": [
        "29bc5b4f73a65ef667df50d5ed474e371471d915"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Sun Jul 15 23:41:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:49 2007 -0700"
      },
      "message": "HFS+: refactor ASCII to unicode conversion routine for later reuse\n\nThe HFS+ filesystem is case-insensitive and does automatic unicode\ndecomposition by default, but does not provide custom dentry operations.  This\ncan lead to multiple dentries being cached for lookups on a filename with\nvarying case and/or character (de)composition.\n\nThese patches add custom dentry hash and comparison operations for\ncase-sensitive and/or automatically decomposing HFS+ filesystems.  Unicode\ndecomposition and case-folding are performed as required to ensure equivalent\nfilenames are hashed to the same values and compare as equal.\n\nThis patch:\n\nRefactor existing HFS+ ASCII to unicode string conversion routine to split out\ncharacter conversion functionality.  This will be reused by the custom dentry\nhash and comparison routines.  This approach avoids unnecessary memory\nallocation compared to using the string conversion routine directly in the new\nfunctions.\n\n[akpm@linux-foundation.org: avoid use-of-uninitialised]\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5001a27802723d6de50d9d8a446d594116524b0",
      "tree": "d8ee0ccdf76b00305298d51c5c78d465092d1345",
      "parents": [
        "abd4aa5a97ebc0efb9a7fbc98ef0bcf39266fadf"
      ],
      "author": {
        "name": "Wyatt Banks",
        "email": "wyatt@banksresearch.com",
        "time": "Sun Jul 15 23:40:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "HFSPlus: change kmalloc/memset to kzalloc\n\nRemoved kmalloc and memset in favor of kzalloc.\n\nTo explain the HFSPLUS_SB() macro in the removed memset call:\n\nhfsplus_fs.h:#define HFSPLUS_SB(super)  (*(struct hfsplus_sb_info *)(super)-\u003es_fs_info)\n\nSigned-off-by: Wyatt Banks \u003cwyatt@banksresearch.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1b5c1d3da05c91129120d045dfcdfc7761f44f1",
      "tree": "0d29f32fbad55a9cc90b05ef1974103b6afe4ea9",
      "parents": [
        "e7d709c096487078652a1384d7a2d0e4459e18b6"
      ],
      "author": {
        "name": "Vignesh Babu BM",
        "email": "vignesh.babu@wipro.com",
        "time": "Tue May 08 00:24:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "is_power_of_2 in fs/hfs\n\nReplace (n \u0026 (n-1)) in the context of power of 2 checks with is_power_of_2\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 2\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82ddcb040570411fc2d421d96b3e69711c670328",
      "tree": "fb344f5cf69968cef3739d437de97a86817c2219",
      "parents": [
        "e3e8a75d2acfc61ebf25524666a0a2c6abb0620c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:35 2007 -0800"
      },
      "message": "[PATCH] extend the set of \"__attribute__\" shortcut macros\n\nExtend the set of \"__attribute__\" shortcut macros, and remove identical\n(and now superfluous) definitions from a couple of source files.\n\nbased on a page at robert love\u0027s blog:\n\n\thttp://rlove.org/log/2005102601\n\nextend the set of shortcut macros defined in compiler-gcc.h with the\nfollowing:\n\n#define __packed                       __attribute__((packed))\n#define __weak                         __attribute__((weak))\n#define __naked                        __attribute__((naked))\n#define __noreturn                     __attribute__((noreturn))\n#define __pure                         __attribute__((pure))\n#define __aligned(x)                   __attribute__((aligned(x)))\n#define __printf(a,b)                  __attribute__((format(printf,a,b)))\n\nOnce these are in place, it\u0027s up to subsystem maintainers to decide if they\nwant to take advantage of them.  there is already a strong precedent for\nusing shortcuts like this in the source tree.\n\nThe ones that might give people pause are \"__aligned\" and \"__printf\", but\nshortcuts for both of those are already in use, and in some ways very\nconfusingly.  note the two very different definitions for a macro named\n\"ALIGNED\":\n\n  drivers/net/sgiseeq.c:#define ALIGNED(x) ((((unsigned long)(x)) + 0xf) \u0026 ~(0xf))\n  drivers/scsi/ultrastor.c:#define ALIGNED(x) __attribute__((aligned(x)))\n\nalso:\n\n  include/acpi/platform/acgcc.h:\n    #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))\n\nGiven the precedent, then, it seems logical to at least standardize on a\nconsistent set of these macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f44ea03102a021b9c36cc82c7b6312cd23f23b3d",
      "tree": "f07f409033f2f2977617f698000054ce257ed87c",
      "parents": [
        "c528896004793065b5ffd710e1cd844603ad8518"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:45 2006 -0800"
      },
      "message": "[PATCH] struct path: convert hfsplus\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "ce71ec36840368b877fb63bd14c8e67ab62d08b1",
      "tree": "55ea3caaa339881dfd66d787b3dbbb964825d07a",
      "parents": [
        "17ff785691503f63ec648df82a7fdaece7695561"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: monitor zeroing of i_nlink\n\nSome filesystems, instead of simply decrementing i_nlink, simply zero it\nduring an unlink operation.  We need to catch these in addition to the\ndecrement operations.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8"
}
