)]}'
{
  "log": [
    {
      "commit": "d10e8def07fc87488c396d2eff2c26c43bb541dd",
      "tree": "d0ad0d4c47838a096aafac353e206861cb6d62c1",
      "parents": [
        "14cf1fa8f54353d9caf6174c1e4280c8c4dcfd7a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 25 00:07:16 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:08 2012 -0500"
      },
      "message": "vfs: take mnt_master to struct mount\n\nmake IS_MNT_SLAVE take struct mount * at the same time\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "14cf1fa8f54353d9caf6174c1e4280c8c4dcfd7a",
      "tree": "1a5fbc1f94f6d8d19492b26ab05b71e8e2d108a2",
      "parents": [
        "a8d56d8e4fa0cb9a023834363f8d79415d277a1d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 25 00:01:17 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:07 2012 -0500"
      },
      "message": "vfs: spread struct mount - remaining argument of mnt_set_mountpoint()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a8d56d8e4fa0cb9a023834363f8d79415d277a1d",
      "tree": "f58aa30dfbb2d50b06ebd2ead6e70270fdac3140",
      "parents": [
        "c937135d98f2306157fb8d8a03a4d8b0f1e3b511"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 23:59:29 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:07 2012 -0500"
      },
      "message": "vfs: spread struct mount - propagate_mnt()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c937135d98f2306157fb8d8a03a4d8b0f1e3b511",
      "tree": "f5ba303add1b65d82b4d1b6443e1794a9d36fad7",
      "parents": [
        "6fc7871fed915914ef441efbe0f9a7c3d0f3bff1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 23:56:26 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:07 2012 -0500"
      },
      "message": "vfs: spread struct mount - shared subtree iterators\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6fc7871fed915914ef441efbe0f9a7c3d0f3bff1",
      "tree": "cbbab1aaa3c5f86d5253914a4720b1acf0d109e4",
      "parents": [
        "6b41d536f7c84e7cb1c1462073150277e46f6ea8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 23:35:54 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:06 2012 -0500"
      },
      "message": "vfs: spread struct mount - get_dominating_id / do_make_slave\n\nnext pile of horrors, similar to mnt_parent one; this time it\u0027s\nmnt_master.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b41d536f7c84e7cb1c1462073150277e46f6ea8",
      "tree": "fd75f1d76947bdfc42772ff3eef4b60977162840",
      "parents": [
        "68e8a9feab251f9d3c8fd9e9893c97843bcd4bd0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 23:24:33 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:06 2012 -0500"
      },
      "message": "vfs: take mnt_child/mnt_mounts to struct mount\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "68e8a9feab251f9d3c8fd9e9893c97843bcd4bd0",
      "tree": "22fac61a982587cd53ccf05513fbe4ffe60c860d",
      "parents": [
        "83adc7532229f1909cf37c429780f02f06fe05ee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:53:09 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:06 2012 -0500"
      },
      "message": "vfs: all counters taken to struct mount\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "83adc7532229f1909cf37c429780f02f06fe05ee",
      "tree": "7f7a36fea3f903c7f9c3f3860bc395a2ba7ad806",
      "parents": [
        "a73324da7af4052e1d1ddec6a5980f552420e58b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:37:54 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:05 2012 -0500"
      },
      "message": "vfs: spread struct mount - work with counters\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a73324da7af4052e1d1ddec6a5980f552420e58b",
      "tree": "65c119bf3bb852c4298aeb24b906dc3a5be7520a",
      "parents": [
        "0714a533805a0f8ebfc6fdb6bda9f129b8c7c6d7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:25:07 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:05 2012 -0500"
      },
      "message": "vfs: move mnt_mountpoint to struct mount\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0714a533805a0f8ebfc6fdb6bda9f129b8c7c6d7",
      "tree": "7f34ceedc12c4a680ca3509562b09ec441a0954f",
      "parents": [
        "3376f34fff5be9954fd9a9c4fd68f4a0a36d480e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:19:58 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:05 2012 -0500"
      },
      "message": "vfs: now it can be done - make mnt_parent point to struct mount\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3376f34fff5be9954fd9a9c4fd68f4a0a36d480e",
      "tree": "22a5995e66efd92cc394186c56deb082e4521440",
      "parents": [
        "643822b41e5e0f133438883b0be574cdaf168a2a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:05:19 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:04 2012 -0500"
      },
      "message": "vfs: mnt_parent moved to struct mount\n\nthe second victim...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "643822b41e5e0f133438883b0be574cdaf168a2a",
      "tree": "1b9bbeace5c1078ae6e893e2f826b724411d3a07",
      "parents": [
        "676da58df740f325034b8641311413c2393588e1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 22:00:28 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:04 2012 -0500"
      },
      "message": "vfs: spread struct mount - is_path_reachable\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "676da58df740f325034b8641311413c2393588e1",
      "tree": "88d1e385d368d73c7b1284da2fc46516879a867d",
      "parents": [
        "1ab597386205f8dc757cf8750465502aeae65154"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:47:05 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:04 2012 -0500"
      },
      "message": "vfs: spread struct mount - mnt_has_parent\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ab597386205f8dc757cf8750465502aeae65154",
      "tree": "69a8ad9eeafe3fd358151c26002cbab6d2215f28",
      "parents": [
        "44d964d609c7c11b330a3d1caf30767fa13c7be3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:35:16 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:03 2012 -0500"
      },
      "message": "vfs: spread struct mount - do_umount/propagate_mount_busy\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "44d964d609c7c11b330a3d1caf30767fa13c7be3",
      "tree": "c16c93095c8662826ac678730bf8286d96dfb781",
      "parents": [
        "87129cc0e3fcd89a1db3e99d62dc710e05749f77"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:28:22 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:03 2012 -0500"
      },
      "message": "vfs: spread struct mount mnt_set_mountpoint child argument\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "87129cc0e3fcd89a1db3e99d62dc710e05749f77",
      "tree": "0855a81e51db9f4054d54952f974bc726730f39d",
      "parents": [
        "692afc312b38c9367a1125927941d33ab2ce852a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:24:27 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:03 2012 -0500"
      },
      "message": "vfs: spread struct mount - clone_mnt/copy_tree argument\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "692afc312b38c9367a1125927941d33ab2ce852a",
      "tree": "8a3b6311b46de997f008fac47d29aab0e63f32b0",
      "parents": [
        "761d5c38eb3d8e2aa7394726dccab245bfe2f41c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:15:14 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:02 2012 -0500"
      },
      "message": "vfs: spread struct mount - shrink_submounts/select_submounts\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "761d5c38eb3d8e2aa7394726dccab245bfe2f41c",
      "tree": "3fea2388dc65e41a2bfdd987e61984b5af47c98a",
      "parents": [
        "1b8e5564b9d34cbeb3047dd2be8ec9cd5e2785e2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:07:43 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:02 2012 -0500"
      },
      "message": "vfs: spread struct mount - umount_tree argument\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b8e5564b9d34cbeb3047dd2be8ec9cd5e2785e2",
      "tree": "61633a9593b4d1c337d7182aee2e2d2af9e9f299",
      "parents": [
        "d5e50f74dd2ed6dd1bb4bf6fe58e5a7de4b77953"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 21:01:32 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:02 2012 -0500"
      },
      "message": "vfs: the first spoils - mnt_hash moved\n\ntaken out of struct vfsmount into struct mount\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d5e50f74dd2ed6dd1bb4bf6fe58e5a7de4b77953",
      "tree": "b0b9d829ec542a2b972eef0f69f6f54443228ac3",
      "parents": [
        "cb338d06e9716c92d5a7855e7c67b8f111ced722"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:58:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:01 2012 -0500"
      },
      "message": "vfs: spread struct mount to remaining users of -\u003emnt_hash\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cb338d06e9716c92d5a7855e7c67b8f111ced722",
      "tree": "6315dfbd50fd6ba44ad468405dd4e7fe21b53618",
      "parents": [
        "0f0afb1dcf01afc44581b3c0da251ac07dfb6e4a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:55:08 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:01 2012 -0500"
      },
      "message": "vfs: spread struct mount - clone_mnt/copy_tree result\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0f0afb1dcf01afc44581b3c0da251ac07dfb6e4a",
      "tree": "878f721ef46398d7af7f276e2f8ba9737c6dd5dd",
      "parents": [
        "b105e270b4e9419f4b9536f6862b1b32985bc9d2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:43:10 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:01 2012 -0500"
      },
      "message": "vfs: spread struct mount - change_mnt_propagation/set_mnt_shared\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b105e270b4e9419f4b9536f6862b1b32985bc9d2",
      "tree": "41c2d66b9ef8a1f26b99da2876c3b6f9ef519fc7",
      "parents": [
        "cbbe362cd68441edf1ebbafeea1c8e09cce4a7f9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:38:33 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:00 2012 -0500"
      },
      "message": "vfs: spread struct mount - alloc_vfsmnt/free_vfsmnt/mnt_alloc_id/mnt_free_id\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cbbe362cd68441edf1ebbafeea1c8e09cce4a7f9",
      "tree": "4d15466ee85a8a57d330bc3af53854f5d108bc23",
      "parents": [
        "0fb54e50562d8d6f4b1a4517ba9783a9c7c5c2b7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:01:19 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:00 2012 -0500"
      },
      "message": "vfs: spread struct mount - tree_contains_unbindable\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0fb54e50562d8d6f4b1a4517ba9783a9c7c5c2b7",
      "tree": "5cb0c780208f837b004b7cc0be18e6dff3839246",
      "parents": [
        "4b8b21f4fe16ee15eec5c69ea5fb41b30e428e59"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 19:59:16 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:00 2012 -0500"
      },
      "message": "vfs: spread struct mount - attach_recursive_mnt\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4b8b21f4fe16ee15eec5c69ea5fb41b30e428e59",
      "tree": "9e023742369b09578f6510cf6cce36d7529b6854",
      "parents": [
        "4b2619a571f9fbb46649f968eea284103734f718"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 19:54:23 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:59 2012 -0500"
      },
      "message": "vfs: spread struct mount - mount group id handling\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4b2619a571f9fbb46649f968eea284103734f718",
      "tree": "041dbe073af6bf96f18de16cb366fed2d336296b",
      "parents": [
        "419148da6e76dd0d379b5ec33c461cee1015322e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 19:47:15 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:59 2012 -0500"
      },
      "message": "vfs: spread struct mount - commit_tree\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "419148da6e76dd0d379b5ec33c461cee1015322e",
      "tree": "472aa2dc22174ffd0d62218946c7a91104e37733",
      "parents": [
        "315fc83e56c6998f67af24b49c619f40a6ff2803"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 19:41:16 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:59 2012 -0500"
      },
      "message": "vfs: spread struct mount - attach_mnt/detach_mnt\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "315fc83e56c6998f67af24b49c619f40a6ff2803",
      "tree": "5fc9270118d0c4a6a89a619715c5acb0bd881956",
      "parents": [
        "61ef47b1e4ba9f2b939e6772e2f96082df0ae7eb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 18:57:30 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:58 2012 -0500"
      },
      "message": "vfs: spread struct mount - namespace.c internal iterators\n\nnext_mnt() return value, first argument\nskip_mnt_tree() return value and argument\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "61ef47b1e4ba9f2b939e6772e2f96082df0ae7eb",
      "tree": "55ac1bc3538a285a1c8e950a6af1d2fb12cae2c4",
      "parents": [
        "c71053659e3bb27d44b79da0bb4abf5838c2060a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 18:25:28 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:58 2012 -0500"
      },
      "message": "vfs: spread struct mount - __propagate_umount() argument\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c71053659e3bb27d44b79da0bb4abf5838c2060a",
      "tree": "59e86cc1602db35ffc2c3991953161f1619706b1",
      "parents": [
        "7d6fec45a5131918b51dcd76da52f2ec86a85be6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 18:22:03 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:58 2012 -0500"
      },
      "message": "vfs: spread struct mount - __lookup_mnt() result\n\nswitch __lookup_mnt() to returning struct mount *; callers adjusted.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7d6fec45a5131918b51dcd76da52f2ec86a85be6",
      "tree": "82af862264cfa176a37c7d9f915806346c8df0bc",
      "parents": [
        "dabe0dc194d5d56d379a8994fff47392744b6491"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 12:14:10 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:56:57 2012 -0500"
      },
      "message": "vfs: start hiding vfsmount guts series\n\nAlmost all fields of struct vfsmount are used only by core VFS (and\na fairly small part of it, at that).  The plan: embed struct vfsmount\ninto struct mount, making the latter visible only to core parts of VFS.\nThen move fields from vfsmount to mount, eventually leaving only\nmnt_root/mnt_sb/mnt_flags in struct vfsmount.  Filesystem code still\ngets pointers to struct vfsmount and remains unchanged; all such\npointers go to struct vfsmount embedded into the instances of struct\nmount allocated by fs/namespace.c.  When fs/namespace.c et.al. get\na pointer to vfsmount, they turn it into pointer to mount (using\ncontainer_of) and work with that.\n\nThis is the first part of series; struct mount is introduced,\nallocation switched to using it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dabe0dc194d5d56d379a8994fff47392744b6491",
      "tree": "16696a688d5b6386c6183cc6137807af38e1d9d1",
      "parents": [
        "cf31e70d6cf93f19fe9bf1144966ef40991ac723"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 21:01:29 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:53:10 2012 -0500"
      },
      "message": "vfs: fix the rest of sget() races\n\nunfortunately, just checking MS_BORN after having grabbed -\u003es_umount in\nsget() is not enough; places that pick superblock from a list and\ngrab s_umount shared need the same check in addition to checking for\n-\u003es_root; otherwise three-way race between failing mount, sget() and\nsuch list-walker can leave us with list-walker coming *second*, when\ntemporary active ref grabbed by sget() (to be dropped when sget()\nnotices that original mount has failed by checking MS_BORN) has\nlead to deactivate_locked_super() from failing -\u003emount() *not* doing\n-\u003ekill_sb() and just releasing -\u003es_umount.  Once sget() gets through\nand notices that MS_BORN had never been set it will drop the active\nref and fs will be shut down and kicked out of all lists, but it\u0027s\ntoo late for something like sync_supers().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf31e70d6cf93f19fe9bf1144966ef40991ac723",
      "tree": "39cdc07b9d46b17ef882ddeb5041f4faec808662",
      "parents": [
        "c972b4bc8331b432f51a5f1bc3ca7e020172717f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 02 22:28:36 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:53:07 2012 -0500"
      },
      "message": "vfs: new helper - vfs_ustat()\n\n... and bury user_get_super()/statfs_by_dentry() - they are\npurely internal now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c972b4bc8331b432f51a5f1bc3ca7e020172717f",
      "tree": "2eefe85d32357b53c51a14c84bca7ea4ff47876b",
      "parents": [
        "4c1d5a64f134b254552b6211f6f79a1da667eab7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 23:01:06 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:42 2012 -0500"
      },
      "message": "vfs: live vfsmounts never have NULL -\u003emnt_sb\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4c1d5a64f134b254552b6211f6f79a1da667eab7",
      "tree": "130b704f727054b93f2a784a8d08252a1ecda3a0",
      "parents": [
        "32dc730860155b235f13e0cd3fe58b263279baf9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 07 18:21:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:41 2012 -0500"
      },
      "message": "vfs: for usbfs, etc. internal vfsmounts -\u003emnt_sb-\u003es_root \u003d\u003d -\u003emnt_root\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "32dc730860155b235f13e0cd3fe58b263279baf9",
      "tree": "9595ab7e5bf116e059daa5cc38d9dfc4af100e87",
      "parents": [
        "84b92d39f98f669a3073168f88692782aec525a8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 20:08:42 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:41 2012 -0500"
      },
      "message": "get rid of timer in kern/acct.c\n\n... and clean it up a bit, while we are at it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "84b92d39f98f669a3073168f88692782aec525a8",
      "tree": "e228e46ca564ee41cc78d85e451b1659dcada2c4",
      "parents": [
        "6b520e0565422966cdf1c3759bd73df77b0f248c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 18 20:17:41 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:41 2012 -0500"
      },
      "message": "vfs: pipe.c is really non-modular\n\n... so no exitcalls there.  Not much would work if pipe(2) would stop\nworking, after all...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a79f17e4a641a2f463cb512cb0ec349844a147b",
      "tree": "8801127310d0a3492941bb284e83393844a19685",
      "parents": [
        "8c9379e972e984d11c2b99121847ba9fa7a0c56c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 08:06:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: mnt_drop_write_file()\n\nnew helper (wrapper around mnt_drop_write()) to be used in pair with\nmnt_want_write_file().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c9379e972e984d11c2b99121847ba9fa7a0c56c",
      "tree": "aa348006b91148b67d224d5e5fb29f3bc1644776",
      "parents": [
        "79e801a906db46cb8efad66c400b01df874b3f12"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 20:18:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "constify seq_file stuff\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79e801a906db46cb8efad66c400b01df874b3f12",
      "tree": "2b5c2e414181dd0101d3506166948aac1b34ef7c",
      "parents": [
        "a5166169f9b920cae3c503910cb66a3ac5dd846d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 23:07:05 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:39 2012 -0500"
      },
      "message": "vfs: make do_kern_mount() static\n\nthe only user outside of fs/namespace.c has died\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a5166169f9b920cae3c503910cb66a3ac5dd846d",
      "tree": "ba62f9f2227c4eff9ad6d473f674f72443fba0fb",
      "parents": [
        "5352d3b65ae6f38e71e16f704414c1db4b4f7228"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 22:53:00 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:39 2012 -0500"
      },
      "message": "vfs: convert fs_supers to hlist\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5352d3b65ae6f38e71e16f704414c1db4b4f7228",
      "tree": "6e6e30b52e2c87264a7e1ca5880007d64b95de3f",
      "parents": [
        "5ffc2836a2514e3f402327536b5dcc4a5b2d5571"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 21:52:06 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:39 2012 -0500"
      },
      "message": "make nfs_follow_remote_path() handle ERR_PTR() passed as root_mnt\n\n... rather than duplicating that in callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5ffc2836a2514e3f402327536b5dcc4a5b2d5571",
      "tree": "8a965618069d856b818abee4ebff97f0ab22a45a",
      "parents": [
        "e407699ef56ed948739dd57a5578ba8cb5bd81b2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Nov 25 02:22:06 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:38 2012 -0500"
      },
      "message": "vfs: kill -\u003emnt_devname use in afs printks\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e407699ef56ed948739dd57a5578ba8cb5bd81b2",
      "tree": "830069801b88d2b7957c6bb0baf012e9637ec4fd",
      "parents": [
        "c5dc332eb93881fc8234d652f6e91a2825b06503"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:14:54 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:38 2012 -0500"
      },
      "message": "btrfs, nfs, apparmor: don\u0027t pull mnt_namespace.h for no reason...\n\nit\u0027s not needed anymore; we used to, back when we had to do\nmount_subtree() by hand, complete with put_mnt_ns() in it.\nNo more...  Apparmor didn\u0027t need it since the __d_path() fix.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c5dc332eb93881fc8234d652f6e91a2825b06503",
      "tree": "40327f76166c51e9109a6a1997566336529f6938",
      "parents": [
        "aa0a4cf0ab4b03db21133a0ba62f558ed1bfcd1d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 20:08:53 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:38 2012 -0500"
      },
      "message": "tomoyo: stop including hell knows what\n\ntomoyo/realpath.c needs exactly one include - that of common.h.  It pulls\neverything the thing needs, without doing ridiculous garbage such as trying\nto include ../../fs/internal.h.  If that alone doesn\u0027t scream \"layering\nviolation\", I don\u0027t know what does; and these days it\u0027s all for nothing,\nsince it fortunately does not use any symbols defined in there...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aa0a4cf0ab4b03db21133a0ba62f558ed1bfcd1d",
      "tree": "141a3bbb532709dcb494e2bce956c778757ed870",
      "parents": [
        "6c449c8dfe30142b3ced5f052e8ed3cce308801a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 24 19:31:36 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:37 2012 -0500"
      },
      "message": "vfs: dentry_reset_mounted() doesn\u0027t use vfsmount argument\n\nlose it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6c449c8dfe30142b3ced5f052e8ed3cce308801a",
      "tree": "df962c6c88584ea97afb083fa05adb1b865c26e0",
      "parents": [
        "aafd08dad019ecc858b31fb89064f4de623c64f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 16 22:01:36 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:37 2012 -0500"
      },
      "message": "unexport put_mnt_ns(), make create_mnt_ns() static outright\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aafd08dad019ecc858b31fb89064f4de623c64f7",
      "tree": "bdd4cf62b1516336bf13f2d099df1beaabbe8cb4",
      "parents": [
        "afac7cba7ed31968a95e181dc25e204e45009ea8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 12:27:01 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:37 2012 -0500"
      },
      "message": "vfs: add missing parens in pnode.h macros\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "afac7cba7ed31968a95e181dc25e204e45009ea8",
      "tree": "282cf7da6bc3915093df622ebfcd39f44f6fd1cd",
      "parents": [
        "b2dba1af3c4157040303a76d25216b1713d333d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 19:34:49 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:36 2012 -0500"
      },
      "message": "vfs: more mnt_parent cleanups\n\na) mount --move is checking that -\u003emnt_parent is non-NULL before\nlooking if that parent happens to be shared; -\u003emnt_parent is never\nNULL and it\u0027s not even an misspelled !mnt_has_parent()\n\nb) pivot_root open-codes is_path_reachable(), poorly.\n\nc) so does path_is_under(), while we are at it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b2dba1af3c4157040303a76d25216b1713d333d0",
      "tree": "c846b1c8074d29b9fc02ef3eeda98631dfd6ee94",
      "parents": [
        "aa9c0e07bb90589186f3b5a0ca97660c2cb50806"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 19:26:23 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:36 2012 -0500"
      },
      "message": "vfs: new internal helper: mnt_has_parent(mnt)\n\nvfsmounts have -\u003emnt_parent pointing either to a different vfsmount\nor to itself; it\u0027s never NULL and termination condition in loops\ntraversing the tree towards root is mnt \u003d\u003d mnt-\u003emnt_parent.  At least\none place (see the next patch) is confused about what\u0027s going on;\nlet\u0027s add an explicit helper checking it right way and use it in\nall places where we need it.  Not that there had been too many,\nbut...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aa9c0e07bb90589186f3b5a0ca97660c2cb50806",
      "tree": "0e2e179f41b2d7566817c0a0e05e03749fa56db0",
      "parents": [
        "bad0dcffc21d17a07dbb83a2bf764f35a57feba5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 19:04:52 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:36 2012 -0500"
      },
      "message": "vfs: kill pointless helpers in namespace.c\n\nmnt_{inc,dec}_count() is not cleaner than doing the corresponding\nmnt_add_count() directly and mnt_set_count() is not used at all.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bad0dcffc21d17a07dbb83a2bf764f35a57feba5",
      "tree": "bb2ed8685bafc927df70307ba13df53469000255",
      "parents": [
        "a561be7100cd610bd2e082f3211c1dfb45835817"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 12:03:18 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "new helpers: fh_{want,drop}_write()\n\nA bunch of places in nfsd does mnt_{want,drop}_write on vfsmount of\nexport of given fhandle.  Switched to obvious inlined helpers...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a561be7100cd610bd2e082f3211c1dfb45835817",
      "tree": "a1016a11df967be6f289a4e8ae29597ba39df17e",
      "parents": [
        "f47ec3f28354795f000c14bf18ed967ec81a3ec3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 11:57:51 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "switch a bunch of places to mnt_want_write_file()\n\nit\u0027s both faster (in case when file has been opened for write) and cleaner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f47ec3f28354795f000c14bf18ed967ec81a3ec3",
      "tree": "662d479706bd948963ad3f9f00c2e6caedbe5a92",
      "parents": [
        "5ede7b1cfa8201418fb35e12f770e9e7c2559a4d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 21 21:15:42 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "trim fs/internal.h\n\nsome stuff in there can actually become static; some belongs to pnode.h\nas it\u0027s a private interface between namespace.c and pnode.c...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5ede7b1cfa8201418fb35e12f770e9e7c2559a4d",
      "tree": "c26d99fbbed708a6db116e57daca68f2b3c672ac",
      "parents": [
        "157e8bf8b4823bfcdefa6c1548002374b61f61df"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 23 18:49:54 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:34 2012 -0500"
      },
      "message": "pull manipulations of rpc_cred inside alloc_nfs_open_context()\n\nNo need to duplicate them in both callers; make it return\nERR_PTR(-ENOMEM) on allocation failure instead of NULL and\nit\u0027ll be able to report rpc_lookup_cred() failures just\nfine.  Callers are much happier that way...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "157e8bf8b4823bfcdefa6c1548002374b61f61df",
      "tree": "fb3918eeb8635b7ea6662ef2290dc834efc81b70",
      "parents": [
        "f9fab10bbd768b0e5254e53a4a8477a94bfc4b96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 17:32:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 17:32:13 2012 -0800"
      },
      "message": "Revert \"rtc: Disable the alarm in the hardware\"\n\nThis reverts commit c0afabd3d553c521e003779c127143ffde55a16f.\n\nIt causes failures on Toshiba laptops - instead of disabling the alarm,\nit actually seems to enable it on the affected laptops, resulting in\n(for example) the laptop powering on automatically five minutes after\nshutdown.\n\nThere\u0027s a patch for it that appears to work for at least some people,\nbut it\u0027s too late to play around with this, so revert for now and try\nagain in the next merge window.\n\nSee for example\n\n\thttp://bugs.debian.org/652869\n\nReported-and-bisected-by: Andreas Friedrich \u003cafrie@gmx.net\u003e (Toshiba Tecra)\nReported-by: Antonio-M. Corbi Bellot \u003cantonio.corbi@ua.es\u003e (Toshiba Portege R500)\nReported-by: Marco Santos \u003cmarco.santos@waynext.com\u003e (Toshiba Portege Z830)\nReported-by: Christophe Vu-Brugier \u003ccvubrugier@yahoo.fr\u003e  (Toshiba Portege R830)\nCc: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nRequested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable@kernel.org  # for the versions that applied this\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9fab10bbd768b0e5254e53a4a8477a94bfc4b96",
      "tree": "7f4efb5c46582765c12249f652a8975a1956f781",
      "parents": [
        "30e053248da178cf6154bb7e950dc8713567e3fa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Jan 03 14:41:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 16:14:32 2012 -0800"
      },
      "message": "hung_task: fix false positive during vfork\n\nvfork parent uninterruptibly and unkillably waits for its child to\nexec/exit. This wait is of unbounded length. Ignore such waits\nin the hung_task detector.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nLKML-Reference: \u003c1325344394.28904.43.camel@lappy\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30e053248da178cf6154bb7e950dc8713567e3fa",
      "tree": "3ef4cb7f85f581fe53361ea0eb2586a8b6e696c2",
      "parents": [
        "4376eee92e5a8332b470040e672ea99cd44c826a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jan 03 13:14:29 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 16:12:19 2012 -0800"
      },
      "message": "security: Fix security_old_inode_init_security() when CONFIG_SECURITY is not set\n\nCommit 1e39f384bb01 (\"evm: fix build problems\") makes the stub version\nof security_old_inode_init_security() return 0 when CONFIG_SECURITY is\nnot set.\n\nBut that makes callers such as reiserfs_security_init() assume that\nsecurity_old_inode_init_security() has set name, value, and len\narguments properly - but security_old_inode_init_security() left them\nuninitialized which then results in interesting failures.\n\nRevert security_old_inode_init_security() to the old behavior of\nreturning EOPNOTSUPP since both callers (reiserfs and ocfs2) handle this\njust fine.\n\n[ Also fixed the S_PRIVATE(inode) case of the actual non-stub\n  security_old_inode_init_security() function to return EOPNOTSUPP\n  for the same reason, as pointed out by Mimi Zohar.\n\n  It got incorrectly changed to match the new function in commit\n  fb88c2b6cbb1: \"evm: fix security/security_old_init_security return\n  code\".   - Linus ]\n\nReported-by: Jorge Bastos \u003cmysql.jorge@decimal.pt\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4376eee92e5a8332b470040e672ea99cd44c826a",
      "tree": "d26e398b57d3d907423eb709f9e221d9fe1ab616",
      "parents": [
        "115e8e705e4be071b9e06ff72578e3b603f2ba65"
      ],
      "author": {
        "name": "Alexander Müller",
        "email": "serveralex@gmail.com",
        "time": "Fri Dec 30 12:55:48 2011 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jan 03 09:17:16 2012 +0000"
      },
      "message": "drm/radeon/kms/atom: fix possible segfault in pm setup\n\nIf we end up with no power states, don\u0027t look up\ncurrent vddc.\n\nfixes:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d44130\n\nagd5f: fix patch formatting\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "115e8e705e4be071b9e06ff72578e3b603f2ba65",
      "tree": "8ef96f62ed5239442cd55ad54ea5c97b0441e613",
      "parents": [
        "733bbb7e1c3acb8fabc55595bf1df8973dde7736",
        "f88e1ae8acb8affac29034ed79d4fff95ac8c29d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 12:34:03 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 02 12:34:03 2012 -0800"
      },
      "message": "Merge branch \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/merge\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  dt/device: Fix auxdata matching to handle entries without a name override\n"
    },
    {
      "commit": "733bbb7e1c3acb8fabc55595bf1df8973dde7736",
      "tree": "779bc62fda19d2176ff7059fa59b0932c9ebc4c5",
      "parents": [
        "c7f46b7aa4ae5cbef32eb5e016512a14f936affa",
        "c121638277a71c1e1fb44c3e654ea353357bbc2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 19:36:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 01 19:36:08 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  netfilter: ctnetlink: fix timeout calculation\n  ipvs: try also real server with port 0 in backup server\n  skge: restore rx multicast filter on resume and after config changes\n  mlx4_en: nullify cq-\u003evector field when closing completion queue\n"
    },
    {
      "commit": "c7f46b7aa4ae5cbef32eb5e016512a14f936affa",
      "tree": "b375999b892699e4fe92415fdd460dcf53fc7baa",
      "parents": [
        "ac97ecc886472e97ff22a81c298163d180d24605",
        "990fc3d0b2c27a9633b8f4566273da60aebe5941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 31 11:55:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 31 11:55:06 2011 -0800"
      },
      "message": "Merge branch \u0027fix/asoc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027fix/asoc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ASoC: wm8776: add missing break in sample size switch\n"
    },
    {
      "commit": "ac97ecc886472e97ff22a81c298163d180d24605",
      "tree": "7807a27faa7228cf6545220c2027103aadb2c8a1",
      "parents": [
        "e6780f7243eddb133cc20ec37fa69317c218b709"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Sat Dec 31 11:32:03 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 31 11:53:58 2011 -0800"
      },
      "message": "gspca: Fix falling back to lower isoc alt settings\n\nThe current gspca core code has a regression where it no longer properly\nfalls back to lower alt settings when there is not enough bandwidth.\n\nThis causes many iso based usb-1 cameras to not work when plugged into a\nusb2 hub or a sandybridge chipset motherboard!\n\nThis patch fixes this.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6780f7243eddb133cc20ec37fa69317c218b709",
      "tree": "81e427161f0604a8935180f8c454593142c0f272",
      "parents": [
        "06867fbb8abc936192195e5dcc4b63e12cc78f72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat Dec 31 11:44:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 31 11:48:28 2011 -0800"
      },
      "message": "futex: Fix uninterruptible loop due to gate_area\n\nIt was found (by Sasha) that if you use a futex located in the gate\narea we get stuck in an uninterruptible infinite loop, much like the\nZERO_PAGE issue.\n\nWhile looking at this problem, PeterZ realized you\u0027ll get into similar\ntrouble when hitting any install_special_pages() mapping.  And are there\nstill drivers setting up their own special mmaps without page-\u003emapping,\nand without special VM or pte flags to make get_user_pages fail?\n\nIn most cases, if page-\u003emapping is NULL, we do not need to retry at all:\nLinus points out that even /proc/sys/vm/drop_caches poses no problem,\nbecause it ends up using remove_mapping(), which takes care not to\ninterfere when the page reference count is raised.\n\nBut there is still one case which does need a retry: if memory pressure\ncalled shmem_writepage in between get_user_pages_fast dropping page\ntable lock and our acquiring page lock, then the page gets switched from\nfilecache to swapcache (and -\u003emapping set to NULL) whatever the refcount.\nFault it back in to get the page-\u003emapping needed for key-\u003eshared.inode.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c121638277a71c1e1fb44c3e654ea353357bbc2c",
      "tree": "eacfd2881aa785c462587ab8173461b96c396771",
      "parents": [
        "52793dbe3d60bd73bbebe28b2bfc9f6b4b920d4c"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Fri Dec 30 10:40:17 2011 -0500"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Dec 31 16:59:04 2011 +0100"
      },
      "message": "netfilter: ctnetlink: fix timeout calculation\n\nThe sanity check (timeout \u003c 0) never works; the dividend is unsigned\nand so is the division, which should have been a signed division.\n\n\tlong timeout \u003d (ct-\u003etimeout.expires - jiffies) / HZ;\n\tif (timeout \u003c 0)\n\t\ttimeout \u003d 0;\n\nThis patch converts the time values to signed for the division.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "52793dbe3d60bd73bbebe28b2bfc9f6b4b920d4c",
      "tree": "845ae88e96de3b28884bab1e868e00ba4687fd02",
      "parents": [
        "fe3c8cc9226c7487c053edad9229dc85e93534d7"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Dec 30 14:19:02 2011 +0900"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sat Dec 31 16:06:29 2011 +0100"
      },
      "message": "ipvs: try also real server with port 0 in backup server\n\n\tWe should not forget to try for real server with port 0\nin the backup server when processing the sync message. We should\ndo it in all cases because the backup server can use different\nforwarding method.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "fe3c8cc9226c7487c053edad9229dc85e93534d7",
      "tree": "03464412dfe99191c846eb4f0561b0dc4e30a27e",
      "parents": [
        "cd3109d23c32452c85d73cc1a01282846a23582c"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Fri Dec 30 17:30:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 23:32:45 2011 -0500"
      },
      "message": "skge: restore rx multicast filter on resume and after config changes\n\nRestore skge hardware registers for multicast filtering to their\nappropriate values after system resume and after hardware restarts\nthat are done when changing certain settings.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd3109d23c32452c85d73cc1a01282846a23582c",
      "tree": "95195ca3c3a6955cb08bf813265950888c3e3f36",
      "parents": [
        "89307babf966165171547f105e2253dec261cfa5"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Thu Dec 29 05:49:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 17:15:41 2011 -0500"
      },
      "message": "mlx4_en: nullify cq-\u003evector field when closing completion queue\n\nCaused loss of connectivity when changing ring size.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06867fbb8abc936192195e5dcc4b63e12cc78f72",
      "tree": "8f9f6cd2006c2bd3d4d6b4047f84c89e60673605",
      "parents": [
        "604a16b74c8ca2fd29861723a62ad57f0c692333",
        "abb959f8a3f125a6e6641abbd020111516dfc8f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:45:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:45:34 2011 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027fixes\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:\n  ARM: 7237/1: PL330: Fix driver freeze\n  ARM: 7197/1: errata: Remove SMP dependency for erratum 751472\n  ARM: 7196/1: errata: Remove SMP dependency for erratum 720789\n  ARM: 7220/1: mmc: mmci: Fixup error handling for dma\n  ARM: 7214/1: mmc: mmci: Fixup handling of MCI_STARTBITERR\n"
    },
    {
      "commit": "604a16b74c8ca2fd29861723a62ad57f0c692333",
      "tree": "4f90ac336c6811aa5a3088a626012b707b824746",
      "parents": [
        "c63c4edcc8cf0f1ed2c6a1c9ba7a56bc50aa8199",
        "00ca4e4c8f72f2a67466a41b12714ed8c9e10f64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:43:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:43:45 2011 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  ARM: plat-orion: make gpiochip label unique\n  enable uncompress log on cpuimx35sd\n  cpuimx35: fix touchscreen support\n  cpuimx35sd: fix Kconfig\n  clock-imx35: fix reboot in internal boot mode\n  dma: MX3_IPU fix depends\n  imx_v4_v5_defconfig: update default configuration\n  cpuimx25sd: fix Kconfig\n  arm/imx: fix cpufreq section mismatch\n  ARM:imx:fix pwm period value\n  ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3\n"
    },
    {
      "commit": "c63c4edcc8cf0f1ed2c6a1c9ba7a56bc50aa8199",
      "tree": "1b056ba1685657554b19065b2a4f926d5c84f72a",
      "parents": [
        "d65616a92c9fab8fc3caa120d18b7be7b6285914",
        "6ccbcf2cb41131f8d56ef0723bf3f7c1f8486076"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:42:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:42:41 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: sentelic - fix retrieving number of buttons\n  Input: sentelic - release mutex upon register write failure\n"
    },
    {
      "commit": "d65616a92c9fab8fc3caa120d18b7be7b6285914",
      "tree": "2d0609ba93a869e44db795f2777f87756cdae3a2",
      "parents": [
        "e95bf44fbabf35706e0703bf77b62984909de980",
        "a4d46363ce96c8fd7534c6f79051c78b52464132"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:34:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:34:22 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: disable use of dcache for readdir etc.\n"
    },
    {
      "commit": "e95bf44fbabf35706e0703bf77b62984909de980",
      "tree": "095d66072d94b4168b614bcda33273fdf10645bf",
      "parents": [
        "3b87487ac5008072f138953b07505a7e3493327f",
        "9edf52621de9b1822be2576f66269ad2cb6292b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:34:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:34:00 2011 -0800"
      },
      "message": "Merge branch \u0027v3.2-samsung-fixes-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung\n\n* \u0027v3.2-samsung-fixes-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:\n  ARM: EXYNOS: Remove duplicated SROMC static memory mapping\n  ARM: SAMSUNG: Fix build error when selecting CPU_FREQ_S3C24XX_DEBUGFS on S3C2440\n"
    },
    {
      "commit": "3b87487ac5008072f138953b07505a7e3493327f",
      "tree": "b70e9422c1abe7ce0e771a52202572dbb0ee25aa",
      "parents": [
        "995b4103a78b9bef0ff834f9ecac42b2b56e01a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:24:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:24:40 2011 -0800"
      },
      "message": "Revert \"clockevents: Set noop handler in clockevents_exchange_device()\"\n\nThis reverts commit de28f25e8244c7353abed8de0c7792f5f883588c.\n\nIt results in resume problems for various people. See for example\n\n  http://thread.gmane.org/gmane.linux.kernel/1233033\n  http://thread.gmane.org/gmane.linux.kernel/1233389\n  http://thread.gmane.org/gmane.linux.kernel/1233159\n  http://thread.gmane.org/gmane.linux.kernel/1227868/focus\u003d1230877\n\nand the fedora and ubuntu bug reports\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d767248\n  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/904569\n\nwhich got bisected down to the stable version of this commit.\n\nReported-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nReported-by: Phil Miller \u003cmille121@illinois.edu\u003e\nReported-by: Philip Langdale \u003cphilipl@overt.org\u003e\nReported-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: stable@kernel.org    # for stable kernels that applied the original\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "995b4103a78b9bef0ff834f9ecac42b2b56e01a8",
      "tree": "2914c6906dfbf9b9c5b8c0ca6699da0844939e0f",
      "parents": [
        "89307babf966165171547f105e2253dec261cfa5",
        "0d098587cec70048336a3809bcde8044c7e9aa08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 12:13:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 12:13:03 2011 -0800"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\n* git://www.linux-watchdog.org/linux-watchdog:\n  watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing (part 2)\n  watchdog: hpwdt: Changes to handle NX secure bit in 32bit path\n  watchdog: sp805: Fix section mismatch in ID table.\n  watchdog: move coh901327 state holders\n"
    },
    {
      "commit": "89307babf966165171547f105e2253dec261cfa5",
      "tree": "74225500fcdf8ca4f11dcfa3e54738cdd33702f0",
      "parents": [
        "50b2abed6b0812cbeda9f6dd48cc4c247be80643",
        "8bd6960c6ae65d7f92bfb708154ee813417d7b26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:36:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:36:15 2011 -0800"
      },
      "message": "Merge branch \u0027iommu/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\n* \u0027iommu/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:\n  iommu: Initialize domain-\u003ehandler in iommu_domain_alloc()\n"
    },
    {
      "commit": "50b2abed6b0812cbeda9f6dd48cc4c247be80643",
      "tree": "43da2b779fafe2d86c63ae1db4725db84b148588",
      "parents": [
        "7578ed02e4b08c9b7b07443b44cf0ccfdf55c91e",
        "aef950b4ba3196622a5bd5e21ab1d63f30658285"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:35:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:35:33 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  packet: fix possible dev refcnt leak when bind fail\n  netem: dont call vfree() under spinlock and BH disabled\n  netfilter: ctnetlink: fix scheduling while atomic if helper is autoloaded\n  netfilter: ctnetlink: fix return value of ctnetlink_get_expect()\n"
    },
    {
      "commit": "7578ed02e4b08c9b7b07443b44cf0ccfdf55c91e",
      "tree": "7f9dc872e8df1e332c9bfc198179a6d28e968c72",
      "parents": [
        "d2bac6ab932a407008a95d1993702f0a92f8f35e",
        "2e64694de21a812d637dcbea4471ad1f7897b049"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:09:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:09:16 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/x86: Fix raw_spin_unlock_irqrestore() usage\n  oprofile, arm/sh: Fix oprofile_arch_exit() linkage issue\n"
    },
    {
      "commit": "d2bac6ab932a407008a95d1993702f0a92f8f35e",
      "tree": "d09fb1504fa650200e761a54f6ebc05a4a60623b",
      "parents": [
        "1cac8e884fbea0b10ee5692cd97e456b58c34ce5",
        "be4f1ac828776bbc7868a68b465cd8eedb733cfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:05:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 17:05:45 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: log all dirty inodes in xfs_fs_sync_fs\n  xfs: log the inode in -\u003ewrite_inode calls for kupdate\n"
    },
    {
      "commit": "1cac8e884fbea0b10ee5692cd97e456b58c34ce5",
      "tree": "ae6417c9015085e275caa84f755ee6f3a54d234e",
      "parents": [
        "b0365c8d0cb6e79eb5f21418ae61ab511f31b575",
        "f2b20d436534f22ccc3f5ad172499fcb013bb315"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:33:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:33:37 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: fix blk_queue_end_tag()\n  block: re-use existing \u0027reading\u0027 variable instead of checking direction again\n  block, cfq: fix empty queue crash caused by request merge\n"
    },
    {
      "commit": "b0365c8d0cb6e79eb5f21418ae61ab511f31b575",
      "tree": "2e8abddb0f0f7829e48d00464f95b835bdb6ff51",
      "parents": [
        "34845636a184f3be91a531098192592cbe6db587"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Wed Dec 28 15:57:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:31:57 2011 -0800"
      },
      "message": "mm: hugetlb: fix non-atomic enqueue of huge page\n\nIf a huge page is enqueued under the protection of hugetlb_lock, then the\noperation is atomic and safe.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nReviewed-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[2.6.37+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34845636a184f3be91a531098192592cbe6db587",
      "tree": "1c216e37f536a71dae94e41db3f1e059f9ac70a5",
      "parents": [
        "e26a51148f3ebd859bca8bf2e0f212839b447f62"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Wed Dec 28 15:57:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:31:57 2011 -0800"
      },
      "message": "procfs: do not confuse jiffies with cputime64_t\n\nCommit 2a95ea6c0d129b4 (\"procfs: do not overflow get_{idle,iowait}_time\nfor nohz\") did not take into account that one some architectures jiffies\nand cputime use different units.\n\nThis causes get_idle_time() to return numbers in the wrong units, making\nthe idle time fields in /proc/stat wrong.\n\nInstead of converting the usec value returned by\nget_cpu_{idle,iowait}_time_us to units of jiffies, use the new function\nusecs_to_cputime64 to convert it to the correct unit of cputime64_t.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \"Artem S. Tashkinov\" \u003ct.artem@mailcity.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e26a51148f3ebd859bca8bf2e0f212839b447f62",
      "tree": "aa3a328dabee8a9f1dccc8c8178f690d0eacbf1e",
      "parents": [
        "757e55c23dc62eb5adf45368a72f6b26d6a71ae5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Dec 28 15:57:11 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:31:57 2011 -0800"
      },
      "message": "mm/mempolicy.c: refix mbind_range() vma issue\n\ncommit 8aacc9f550 (\"mm/mempolicy.c: fix pgoff in mbind vma merge\") is the\nslightly incorrect fix.\n\nWhy? Think following case.\n\n1. map 4 pages of a file at offset 0\n\n   [0123]\n\n2. map 2 pages just after the first mapping of the same file but with\n   page offset 2\n\n   [0123][23]\n\n3. mbind() 2 pages from the first mapping at offset 2.\n   mbind_range() should treat new vma is,\n\n   [0123][23]\n     |23|\n     mbind vma\n\n   but it does\n\n   [0123][23]\n     |01|\n     mbind vma\n\n   Oops. then, it makes wrong vma merge and splitting ([01][0123] or similar).\n\nThis patch fixes it.\n\n[testcase]\n  test result - before the patch\n\n\tcase4: 126: test failed. expect \u00272,4\u0027, actual \u00272,2,2\u0027\n       \tcase5: passed\n\tcase6: passed\n\tcase7: passed\n\tcase8: passed\n\tcase_n: 246: test failed. expect \u00274,2\u0027, actual \u00271,4\u0027\n\n\t------------[ cut here ]------------\n\tkernel BUG at mm/filemap.c:135!\n\tinvalid opcode: 0000 [#4] SMP DEBUG_PAGEALLOC\n\n\t(snip long bug on messages)\n\n  test result - after the patch\n\n\tcase4: passed\n       \tcase5: passed\n\tcase6: passed\n\tcase7: passed\n\tcase8: passed\n\tcase_n: passed\n\n  source:  mbind_vma_test.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cnumaif.h\u003e\n #include \u003cnuma.h\u003e\n #include \u003csys/mman.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\nstatic unsigned long pagesize;\nvoid* mmap_addr;\nstruct bitmask *nmask;\nchar buf[1024];\nFILE *file;\nchar retbuf[10240] \u003d \"\";\nint mapped_fd;\n\nchar *rubysrc \u003d \"ruby -e \u0027\\\n  pid \u003d %d; \\\n  vstart \u003d 0x%llx; \\\n  vend \u003d 0x%llx; \\\n  s \u003d `pmap -q #{pid}`; \\\n  rary \u003d []; \\\n  s.each_line {|line|; \\\n    ary\u003dline.split(\\\" \\\"); \\\n    addr \u003d ary[0].to_i(16); \\\n    if(vstart \u003c\u003d addr \u0026\u0026 addr \u003c vend) then \\\n      rary.push(ary[1].to_i()/4); \\\n    end; \\\n  }; \\\n  print rary.join(\\\",\\\"); \\\n\u0027\";\n\nvoid init(void)\n{\n\tvoid* addr;\n\tchar buf[128];\n\n\tnmask \u003d numa_allocate_nodemask();\n\tnuma_bitmask_setbit(nmask, 0);\n\n\tpagesize \u003d getpagesize();\n\n\tsprintf(buf, \"%s\", \"mbind_vma_XXXXXX\");\n\tmapped_fd \u003d mkstemp(buf);\n\tif (mapped_fd \u003d\u003d -1)\n\t\tperror(\"mkstemp \"), exit(1);\n\tunlink(buf);\n\n\tif (lseek(mapped_fd, pagesize*8, SEEK_SET) \u003c 0)\n\t\tperror(\"lseek \"), exit(1);\n\tif (write(mapped_fd, \"\\0\", 1) \u003c 0)\n\t\tperror(\"write \"), exit(1);\n\n\taddr \u003d mmap(NULL, pagesize*8, PROT_NONE,\n\t\t    MAP_SHARED, mapped_fd, 0);\n\tif (addr \u003d\u003d MAP_FAILED)\n\t\tperror(\"mmap \"), exit(1);\n\n\tif (mprotect(addr+pagesize, pagesize*6, PROT_READ|PROT_WRITE) \u003c 0)\n\t\tperror(\"mprotect \"), exit(1);\n\n\tmmap_addr \u003d addr + pagesize;\n\n\t/* make page populate */\n\tmemset(mmap_addr, 0, pagesize*6);\n}\n\nvoid fin(void)\n{\n\tvoid* addr \u003d mmap_addr - pagesize;\n\tmunmap(addr, pagesize*8);\n\n\tmemset(buf, 0, sizeof(buf));\n\tmemset(retbuf, 0, sizeof(retbuf));\n}\n\nvoid mem_bind(int index, int len)\n{\n\tint err;\n\n\terr \u003d mbind(mmap_addr+pagesize*index, pagesize*len,\n\t\t    MPOL_BIND, nmask-\u003emaskp, nmask-\u003esize, 0);\n\tif (err)\n\t\tperror(\"mbind \"), exit(err);\n}\n\nvoid mem_interleave(int index, int len)\n{\n\tint err;\n\n\terr \u003d mbind(mmap_addr+pagesize*index, pagesize*len,\n\t\t    MPOL_INTERLEAVE, nmask-\u003emaskp, nmask-\u003esize, 0);\n\tif (err)\n\t\tperror(\"mbind \"), exit(err);\n}\n\nvoid mem_unbind(int index, int len)\n{\n\tint err;\n\n\terr \u003d mbind(mmap_addr+pagesize*index, pagesize*len,\n\t\t    MPOL_DEFAULT, NULL, 0, 0);\n\tif (err)\n\t\tperror(\"mbind \"), exit(err);\n}\n\nvoid Assert(char *expected, char *value, char *name, int line)\n{\n\tif (strcmp(expected, value) \u003d\u003d 0) {\n\t\tfprintf(stderr, \"%s: passed\\n\", name);\n\t\treturn;\n\t}\n\telse {\n\t\tfprintf(stderr, \"%s: %d: test failed. expect \u0027%s\u0027, actual \u0027%s\u0027\\n\",\n\t\t\tname, line,\n\t\t\texpected, value);\n//\t\texit(1);\n\t}\n}\n\n/*\n      AAAA\n    PPPPPPNNNNNN\n    might become\n    PPNNNNNNNNNN\n    case 4 below\n*/\nvoid case4(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\tmem_bind(0, 4);\n\tmem_unbind(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"2,4\", retbuf, \"case4\", __LINE__);\n\n\tfin();\n}\n\n/*\n       AAAA\n PPPPPPNNNNNN\n might become\n PPPPPPPPPPNN\n case 5 below\n*/\nvoid case5(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\tmem_bind(0, 2);\n\tmem_bind(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"4,2\", retbuf, \"case5\", __LINE__);\n\n\tfin();\n}\n\n/*\n\t    AAAA\n\tPPPPNNNNXXXX\n\tmight become\n\tPPPPPPPPPPPP 6\n*/\nvoid case6(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\tmem_bind(0, 2);\n\tmem_bind(4, 2);\n\tmem_bind(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"6\", retbuf, \"case6\", __LINE__);\n\n\tfin();\n}\n\n/*\n    AAAA\nPPPPNNNNXXXX\nmight become\nPPPPPPPPXXXX 7\n*/\nvoid case7(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\tmem_bind(0, 2);\n\tmem_interleave(4, 2);\n\tmem_bind(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"4,2\", retbuf, \"case7\", __LINE__);\n\n\tfin();\n}\n\n/*\n    AAAA\nPPPPNNNNXXXX\nmight become\nPPPPNNNNNNNN 8\n*/\nvoid case8(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\tmem_bind(0, 2);\n\tmem_interleave(4, 2);\n\tmem_interleave(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"2,4\", retbuf, \"case8\", __LINE__);\n\n\tfin();\n}\n\nvoid case_n(void)\n{\n\tinit();\n\tsprintf(buf, rubysrc, getpid(), mmap_addr, mmap_addr+pagesize*6);\n\n\t/* make redundunt mappings [0][1234][34][7] */\n\tmmap(mmap_addr + pagesize*4, pagesize*2, PROT_READ|PROT_WRITE,\n\t     MAP_FIXED|MAP_SHARED, mapped_fd, pagesize*3);\n\n\t/* Expect to do nothing. */\n\tmem_unbind(2, 2);\n\n\tfile \u003d popen(buf, \"r\");\n\tfread(retbuf, sizeof(retbuf), 1, file);\n\tAssert(\"4,2\", retbuf, \"case_n\", __LINE__);\n\n\tfin();\n}\n\nint main(int argc, char** argv)\n{\n\tcase4();\n\tcase5();\n\tcase6();\n\tcase7();\n\tcase8();\n\tcase_n();\n\n\treturn 0;\n}\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Caspar Zhang \u003ccaspar@casparzhang.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[3.1.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "757e55c23dc62eb5adf45368a72f6b26d6a71ae5",
      "tree": "ce4ea7a534f5d3808735cf827064fd8695559d30",
      "parents": [
        "371de6e4e0042adf4f9b54c414154f57414ddd37"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Thu Dec 29 19:09:21 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:29:00 2011 -0800"
      },
      "message": "gspca: Fix bulk mode cameras no longer working (regression fix)\n\nThe new iso bandwidth calculation code accidentally has broken support\nfor bulk mode cameras. This has broken the following drivers:\nfinepix, jeilinj, ovfx2, ov534, ov534_9, se401, sq905, sq905c, sq930x,\nstv0680, vicam.\n\nThix patch fixes this. Fix tested with: se401, sq905, sq905c, stv0680 \u0026 vicam\ncams.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ccbcf2cb41131f8d56ef0723bf3f7c1f8486076",
      "tree": "a0f8635baccce6f4a19b8c97911aed883b7c48ba",
      "parents": [
        "d9bae67a7a91a6cc2e7a99d5ae72ada62abcc993"
      ],
      "author": {
        "name": "Tai-hwa Liang",
        "email": "avatar@sentelic.com",
        "time": "Thu Dec 29 09:47:36 2011 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Dec 29 09:52:59 2011 -0800"
      },
      "message": "Input: sentelic - fix retrieving number of buttons\n\nFixing wrong register offset which is used to retrieve the number of buttons\nattached to the hardware.\n\nSigned-off-by: Tai-hwa Liang \u003cavatar@sentelic.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "a4d46363ce96c8fd7534c6f79051c78b52464132",
      "tree": "8d41ef517efe09f7783204fffe56ec2102d70f90",
      "parents": [
        "9d5a09e659f8414dd3713e2acbfaf8a9e9794aa1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Dec 29 08:05:14 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Dec 29 08:05:14 2011 -0800"
      },
      "message": "ceph: disable use of dcache for readdir etc.\n\nCeph attempts to use the dcache to satisfy negative lookups and readdir\nwhen the entire directory contents are in cache.  Disable this behavior\nuntil lingering bugs in this code are shaken out; we\u0027ll re-enable these\nhooks once things are fully stable.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f2b20d436534f22ccc3f5ad172499fcb013bb315",
      "tree": "5c5df70a252ea14da6063d2c6c3de4a4e769ecae",
      "parents": [
        "609f6ea1c9cdfe0c43a927e13205a57d0c266d5a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 29 09:16:28 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Dec 29 09:16:28 2011 +0100"
      },
      "message": "block: fix blk_queue_end_tag()\n\nCommit 5e081591 \"block: warn if tag is greater than real_max_depth\"\ncleaned up blk_queue_end_tag() to warn when the tag is truly invalid\n(greater than real_max_depth).  However, it changed behavior in the tag \u003c\nmax_depth case to not end the request.  Leading to triggering of\nBUG_ON(blk_queued_rq(rq)) in the request completion path:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d132204370518629\u0026w\u003d2\n\nIn order to allow blk_queue_resize_tags() to shrink the tag space\nblk_queue_end_tag() must always complete tags with a value less than\nreal_max_depth regardless of the current max_depth.  The comment about\n\"handling the shrink case\" seems to be what prompted changes in this\nspace, so remove it and BUG on all invalid tags (made even simpler by\nMatthew\u0027s suggestion to use an unsigned compare).\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Tao Ma \u003cboyu.mt@taobao.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nReported-by: Meelis Roos \u003cmroos@ut.ee\u003e\nReported-by: Ed Nadolski \u003cedmund.nadolski@intel.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "9edf52621de9b1822be2576f66269ad2cb6292b6",
      "tree": "a9240059a7b53e2a6f1f159f0bf65041445762bb",
      "parents": [
        "baaf939db44d08ef910558ff5eb16d123df3f621"
      ],
      "author": {
        "name": "Thomas Abraham",
        "email": "thomas.abraham@linaro.org",
        "time": "Wed Dec 28 15:07:32 2011 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Wed Dec 28 15:10:30 2011 +0900"
      },
      "message": "ARM: EXYNOS: Remove duplicated SROMC static memory mapping\n\nSROMC static memory mapping is included in the common s5p initialization\ncode. Hence, remove the duplicated SROMC static memory mapping for EXYNOS.\n\nSigned-off-by: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "baaf939db44d08ef910558ff5eb16d123df3f621",
      "tree": "993696e1dc63450fc10a153ed5a2fcd365867ce5",
      "parents": [
        "5f0a6e2d503896062f641639dacfe5055c2f593b"
      ],
      "author": {
        "name": "Denis Kuzmenko",
        "email": "linux@solonet.org.ua",
        "time": "Wed Dec 28 14:04:51 2011 +0900"
      },
      "committer": {
        "name": "Kukjin Kim",
        "email": "kgene.kim@samsung.com",
        "time": "Wed Dec 28 15:08:28 2011 +0900"
      },
      "message": "ARM: SAMSUNG: Fix build error when selecting CPU_FREQ_S3C24XX_DEBUGFS on S3C2440\n\nFollowing is happened when CONFIG_CPU_FREQ_S3C24XX_DEBUGFS\nis selected without building of s3c2410-iotiming.c file:\n\narch/arm/mach-s3c2440/built-in.o:(.data+0x38c): undefined reference to `s3c2410_iotiming_debugfs\n\nBasically, the CONFIG_S3C2410_IOTIMING is not selected for\nMACH_MINI2440. Because the s3c2410-iotiming.c is not ever\ncompiled and enabling CONFIG_CPU_FREQ_S3C24XX_DEBUGFS option\ncaused undefined reference to s3c2410_iotiming_debugfs()\ndefined in that file.  The s3c2410_iotiming_debugfs defined\nas NULL for this case.\n\nSigned-off-by: Denis Kuzmenko \u003clinux@solonet.org.ua\u003e\nCc: stable@kernel.org\n[kgene.kim@samsung.com: removed useless changes]\nSigned-off-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\n"
    },
    {
      "commit": "aef950b4ba3196622a5bd5e21ab1d63f30658285",
      "tree": "f4cb91f4517a041ef95c28ad50039b0b2ae6b137",
      "parents": [
        "c43c5f39584c0f388a7e5372312c2c48221a4415"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "message": "packet: fix possible dev refcnt leak when bind fail\n\nIf bind is fail when bind is called after set PACKET_FANOUT\nsock option, the dev refcnt will leak.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d098587cec70048336a3809bcde8044c7e9aa08",
      "tree": "2844369ab5fb57a1adac36cdf16da07d44d3ca62",
      "parents": [
        "e67d668e147c3b4fec638c9e0ace04319f5ceccd"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Mon Dec 26 15:23:51 2011 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Dec 27 20:35:59 2011 +0100"
      },
      "message": "watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing (part 2)\n\nRedhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver\n\nThe previous patch breaks reset watchdog behaviour on the older hardware.\nIt is therefor better to make sure that the behaviour for older hardware (\u003c\u003dICH5 or\n6300ESB) is preserved and that the behaviour for newer hardware is changed.\nWe therefor use the iTCO_version to see if we need the clearing of the SMI_TCO_EN\nbit in the SMI_EN register.\n\nSo the new behaviour becomes:\nturn_SMI_watchdog_clear_off\u003d0 -\u003e Do not turn off SMI clearing watchdog.\nturn_SMI_watchdog_clear_off\u003d1 -\u003e Turn off SMI clearing watchdog when iTCO_version\u003d1\n\t\t\t\t (ICHO till ICH5 + 6300ESB only)\nturn_SMI_watchdog_clear_off\u003d2 -\u003e Turn off SMI clearing watchdog.\n\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "371de6e4e0042adf4f9b54c414154f57414ddd37",
      "tree": "721f3c4697a926a22c81a842afbbc143614ab9c6",
      "parents": [
        "ebbd857e6b9a92c0aff4aacd1b1d2361d888633e"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Dec 26 17:02:11 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 21:07:27 2011 -0800"
      },
      "message": "drm/i915: Disable RC6 on Sandybridge by default\n\nRC6 fails again.\n\n\u003e I found my system freeze mostly during starting up X and KDE. Sometimes it\n\u003e works for some minutes, sometimes it freezes immediatly. When the freeze\n\u003e happens, everything is dead (even the reset button does not work, I need to\n\u003e power cycle).\n\n\u003e I disabled RC6, and my system runs wonderfully.\n\n\u003e The system is a Z68 Pro board with Sandybridge i5-2500K processor, 8\n\u003e GB of RAM and UEFI firmware.\n\nReported-by: Kai Krakow \u003churikhan77@gmail.com\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebbd857e6b9a92c0aff4aacd1b1d2361d888633e",
      "tree": "598e75393461083817f9f06023a4f0b7b499c9b1",
      "parents": [
        "7f54492fbca0074d7db117d7972a80347e0b40a5"
      ],
      "author": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Dec 26 17:02:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 21:07:26 2011 -0800"
      },
      "message": "drm/i915: Disable semaphores by default on SNB\n\nSemaphores still cause problems on some machines:\n\n\u003e From Udo Steinberg:\n\u003e\n\u003e With Linux-3.2-rc6 I\u0027m frequently seeing GPU hangs when large amounts of\n\u003e text scroll in an xterm, such as when extracting a tar archive. Such as this\n\u003e one (note the timestamps):\n\u003e\n\u003e  I can reproduce it fairly easily with something\n\u003e  as simple as:\n\u003e\n\u003e\t  while true; do dmesg; done\n\nThis patch turns them off on SNB while leaving them on for IVB.\n\nReported-by: Udo Steinberg \u003cudo@hypervisor.org\u003e\nCc: Daniel Vetter \u003cdaniel@ffwll.ch\u003e\nCc: Eugeni Dodonov \u003ceugeni@dodonov.net\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f54492fbca0074d7db117d7972a80347e0b40a5",
      "tree": "a42f39bbcc84af8f13c2fd46502324741536657d",
      "parents": [
        "6fd8fb7f55cb6d45e7f078cd0eaf7e3c243f6c33",
        "fae9dbb4b462d2c908186a47464c7a5299ee27a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 13:17:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 13:17:00 2011 -0800"
      },
      "message": "Merge branch \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.2\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: PPC: e500: include linux/export.h\n  KVM: PPC: fix kvmppc_start_thread() for CONFIG_SMP\u003dN\n  KVM: PPC: protect use of kvmppc_h_pr\n  KVM: PPC: move compute_tlbie_rb to book3s_64 common header\n  KVM: Don\u0027t automatically expose the TSC deadline timer in cpuid\n  KVM: Device assignment permission checks\n  KVM: Remove ability to assign a device without iommu support\n  KVM: x86: Prevent starting PIT timers in the absence of irqchip support\n"
    },
    {
      "commit": "6fd8fb7f55cb6d45e7f078cd0eaf7e3c243f6c33",
      "tree": "3fa2bfd807c0f61acd875acf8f54ea2906022006",
      "parents": [
        "6d4b9e38d3980826abccfbd90e95bf4bd41b8dd2",
        "2ca526bf4953380abfe5dff455e356967b239c70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 12:46:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 12:46:17 2011 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394\n\npost 3.2-rc7 pull request\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:\n  MAINTAINERS: firewire git URL update\n"
    },
    {
      "commit": "6d4b9e38d3980826abccfbd90e95bf4bd41b8dd2",
      "tree": "7473e333fc5aae6dd1d4b7f86205a330818518ce",
      "parents": [
        "4962516b2309d76964f9df0d33e74f43b624a42d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 10:25:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 26 10:25:26 2011 -0800"
      },
      "message": "vfs: fix handling of lock allocation failure in lease-break case\n\nBruce Fields notes that commit 778fc546f749 (\"locks: fix tracking of\ninprogress lease breaks\") introduced a possible error pointer\ndereference on failure to allocate memory.  locks_conflict() will\ndereference the passed-in new lease lock structure that may be an error pointer.\n\nThis means an open (without O_NONBLOCK set) on a file with a lease\napplied (generally only done when Samba or nfsd (with v4) is running)\ncould crash if a kmalloc() fails.\n\nSo instead of playing games with IS_ERROR() all over the place, just\ncheck the allocation failure early.  That makes the code more\nstraightforward, and avoids this possible bad pointer dereference.\n\nBased-on-patch-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e67d668e147c3b4fec638c9e0ace04319f5ceccd",
      "tree": "815922a869ad186f9c005ed8759514d76c07e641",
      "parents": [
        "bb558dac6776386a4d6994540a009231dcf53ee1"
      ],
      "author": {
        "name": "Mingarelli, Thomas",
        "email": "Thomas.Mingarelli@hp.com",
        "time": "Mon Nov 07 10:59:00 2011 +0100"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Mon Dec 26 15:14:38 2011 +0100"
      },
      "message": "watchdog: hpwdt: Changes to handle NX secure bit in 32bit path\n\nThis patch makes use of the set_memory_x() kernel API in order\nto make necessary BIOS calls to source NMIs.\n\nThis is needed for SLES11 SP2 and the latest upstream kernel as it appears\nthe NX Execute Disable has grown in its control.\n\nSigned-off by: Thomas Mingarelli \u003cthomas.mingarelli@hp.com\u003e\nSigned-off by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "bb558dac6776386a4d6994540a009231dcf53ee1",
      "tree": "5ed61e52ad94fc0f4f7b9317a4259f8304682628",
      "parents": [
        "452190cb0526e9cc11b0998a600411cb9c7cd684"
      ],
      "author": {
        "name": "Nick Bowler",
        "email": "nbowler@elliptictech.com",
        "time": "Mon Dec 19 11:22:36 2011 -0500"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Mon Dec 26 15:14:31 2011 +0100"
      },
      "message": "watchdog: sp805: Fix section mismatch in ID table.\n\nThe AMBA ID table is marked as __initdata, yet it is referenced by the\ndriver struct which is not.  This causes a (somewhat unhelpful) section\nmismatch warning:\n\n  WARNING: drivers/watchdog/sp805_wdt.o(.data+0x4c): Section mismatch in\n           reference from the variable sp805_wdt_driver to the (unknown\n           reference) .init.data:(unknown)\n\nFix this by removing the annotation.\n\nSigned-off-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    }
  ],
  "next": "452190cb0526e9cc11b0998a600411cb9c7cd684"
}
