)]}'
{
  "log": [
    {
      "commit": "091bd3ea4e7ff4da8509978b9be93dc9d8cf0680",
      "tree": "0f7eb15899232f24bd1432c5893f96c9ade788bc",
      "parents": [
        "dcb0f22282e680ee5202ab7574ce78beb3803a9f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 13 18:02:50 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:28 2012 -0700"
      },
      "message": "userns: Convert sysctl permission checks to use kuid and kgids.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "dcb0f22282e680ee5202ab7574ce78beb3803a9f",
      "tree": "dce64929607bc1cc79b08e9c207c27792988ff39",
      "parents": [
        "08cefc7ab839cf3ece44b8033968a4732eac06d8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 09 08:48:21 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:28 2012 -0700"
      },
      "message": "userns: Convert proc to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "08cefc7ab839cf3ece44b8033968a4732eac06d8",
      "tree": "7264efb33cb3d1249f7be3a7ea6dd12d30c313c1",
      "parents": [
        "1523299d5817773e344d135d4b1c485f269400bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:49 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext4 to user kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "1523299d5817773e344d135d4b1c485f269400bc",
      "tree": "eef0768f5418facb1d37dbe99f346b9d77223f9f",
      "parents": [
        "b8a9f9e183229d163d8ace855cbbb63c209fba3c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:41:24 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:27 2012 -0700"
      },
      "message": "userns: Convert ext3 to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "b8a9f9e183229d163d8ace855cbbb63c209fba3c",
      "tree": "bbc939ff827c9ec3220bc5c6177c9964d45cc1e6",
      "parents": [
        "f04c6ce2cfaff4b982a6c8ad37e07c14379c111c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 15:39:12 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:26 2012 -0700"
      },
      "message": "userns: Convert ext2 to use kuid/kgid where appropriate.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "f04c6ce2cfaff4b982a6c8ad37e07c14379c111c",
      "tree": "f942286f4d8af718236b73f91cc053e92c424266",
      "parents": [
        "ebc887b278944fc478ab31a4be8ba0cae5fe4f48"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 16:22:56 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:26 2012 -0700"
      },
      "message": "userns: Convert devpts to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "ebc887b278944fc478ab31a4be8ba0cae5fe4f48",
      "tree": "47dc4e0d9e876ade642ebe08fe8641075faab6ae",
      "parents": [
        "e1c972b681bf118fcedb9fe2ed7a73de983aa5ef"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 18:36:10 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:25 2012 -0700"
      },
      "message": "userns: Convert binary formats to use kuid/kgid where appropriate\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "e1c972b681bf118fcedb9fe2ed7a73de983aa5ef",
      "tree": "f70977f288b70620ebf3ef339c40b79c09095a36",
      "parents": [
        "54ba47edac90091d42e5f97516cad56953576a5a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 21 04:09:01 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:25 2012 -0700"
      },
      "message": "userns: Add negative depends on entries to avoid building code that is userns unsafe\n\nAdd a new internal Kconfig option UIDGID_CONVERTED that is true when the selected\nKconfig options have been converted to be user namespace safe, and guard\nUSER_NS and guard the UIDGID_STRICT_TYPE_CHECK options with it.\n\nThis keeps innocent kernel users from having the choice to enable\nthe user namespace in the cases where it is known not to work.\n\nMost of the rest of the conversions are simple and straight forward but\ntheir sheer number means it is good not to count on having them all done\nand reviwed before thinking of merging this code.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "54ba47edac90091d42e5f97516cad56953576a5a",
      "tree": "6c0931ece1c5d72a86ee4022d74ba8c384719afb",
      "parents": [
        "65cc5a17ad3388f89ddc3d68226a09242656809b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 13 16:04:35 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:24 2012 -0700"
      },
      "message": "userns: signal remove unnecessary map_cred_ns\n\nmap_cred_ns is a light wrapper around from_kuid with the order of the arguments\nreversed.  Replace map_cred_ns with from_kuid and remove map_cred_ns.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "65cc5a17ad3388f89ddc3d68226a09242656809b",
      "tree": "04db523bba313b28d00ff2a1864a4d4dde40c97e",
      "parents": [
        "9e4a36ece652908276bc4abb4324ec56292453e1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Mar 12 13:08:45 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:24 2012 -0700"
      },
      "message": "userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "9e4a36ece652908276bc4abb4324ec56292453e1",
      "tree": "ec267b9350f9e06aa510e35fbd6858ba3b9d602c",
      "parents": [
        "a7c1938e22c02b008655524c766d185ae99d9d53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 23:37:59 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:59:23 2012 -0700"
      },
      "message": "userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a7c1938e22c02b008655524c766d185ae99d9d53",
      "tree": "f6b862a5d187908007614e5537f4cd1e31a40df4",
      "parents": [
        "52137abe1820196d956bfd51edebc571b3427deb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 09 09:10:30 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 15 14:08:35 2012 -0700"
      },
      "message": "userns: Convert stat to return values mapped from kuids and kgids\n\n- Store uids and gids with kuid_t and kgid_t in struct kstat\n- Convert uid and gids to userspace usable values with\n  from_kuid and from_kgid\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "52137abe1820196d956bfd51edebc571b3427deb",
      "tree": "29a06b63fa36d6b794f7b848e4a65eea1fb74f0f",
      "parents": [
        "8e96e3b7b8407be794ab1fd8e4b332818a358e78"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 03 19:52:01 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:29:34 2012 -0700"
      },
      "message": "userns: Convert user specfied uids and gids in chown into kuids and kgid\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "8e96e3b7b8407be794ab1fd8e4b332818a358e78",
      "tree": "f27756bb2ec49e586221ac669ea00c68e8a2ee58",
      "parents": [
        "72cda3d1ef24ab0a9a89c15e9776ca737b75f45a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 03 21:17:15 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:29:34 2012 -0700"
      },
      "message": "userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "72cda3d1ef24ab0a9a89c15e9776ca737b75f45a",
      "tree": "91f91efb04ff8afd01f840666cc0cdc61d9c1b17",
      "parents": [
        "92361636e0153bd0cb22e7dfe3fc6287f6537c66"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 09 09:09:39 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:29:33 2012 -0700"
      },
      "message": "userns: Convert in_group_p and in_egroup_p to use kgid_t\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "92361636e0153bd0cb22e7dfe3fc6287f6537c66",
      "tree": "8b7d8f91aa528c2bad8ff97c737b2612e414480a",
      "parents": [
        "5af662030e5db1a5560fd917250d5d688a6be586"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 08 07:07:50 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:29:32 2012 -0700"
      },
      "message": "userns: Store uid and gid types in vfs structures with kuid_t and kgid_t types\n\nThe conversion of all of the users is not done yet there are too many to change\nin one go and leave the code reviewable. For now I change just the header and\na few trivial users and rely on CONFIG_UIDGID_STRICT_TYPE_CHECKS not being set\nto ensure that the code will still compile during the transition.\n\nHelper functions i_uid_read, i_uid_write, i_gid_read, i_gid_write are added\nso that in most cases filesystems can avoid the complexities of multiple user\nnamespaces and can concentrate on moving their raw numeric values into and\nout of the vfs data structures.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "5af662030e5db1a5560fd917250d5d688a6be586",
      "tree": "c648c0bf8afe4571cf13b098bd6e24fbce86789c",
      "parents": [
        "a29c33f4e506e1dae7e0985b6328046535becbf8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 03 20:21:47 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:51 2012 -0700"
      },
      "message": "userns: Convert ptrace, kill, set_priority permission checks to work with kuids and kgids\n\nUpdate the permission checks to use the new uid_eq and gid_eq helpers\nand remove the now unnecessary user_ns equality comparison.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a29c33f4e506e1dae7e0985b6328046535becbf8",
      "tree": "529720b8aefaf115b4be197e5d7628657cf5b4bc",
      "parents": [
        "18815a18085364d8514c0d0c4c986776cb74272c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 18:51:01 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:41 2012 -0700"
      },
      "message": "userns: Convert setting and getting uid and gid system calls to use kuid and kgid\n\nConvert setregid, setgid, setreuid, setuid,\nsetresuid, getresuid, setresgid, getresgid, setfsuid, setfsgid,\ngetuid, geteuid, getgid, getegid,\nwaitpid, waitid, wait4.\n\nConvert userspace uids and gids into kuids and kgids before\nbeing placed on struct cred.  Convert struct cred kuids and\nkgids into userspace uids and gids when returning them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "18815a18085364d8514c0d0c4c986776cb74272c",
      "tree": "a931fb2eee31aee6f8d83ef4493071b9827b1b9f",
      "parents": [
        "9c806aa06f8e121c6058db8e8073798aa5c4355b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Feb 07 16:45:47 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:40 2012 -0700"
      },
      "message": "userns: Convert capabilities related permsion checks\n\n- Use uid_eq when comparing kuids\n  Use gid_eq when comparing kgids\n- Use make_kuid(user_ns, 0) to talk about the user_namespace root uid\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "9c806aa06f8e121c6058db8e8073798aa5c4355b",
      "tree": "d55fb9702aa80c4fb38f0da504b18a720e91f9bb",
      "parents": [
        "76b6db010297d4928ab7b7e7c78dd982f413f0a4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 02 18:54:02 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:39 2012 -0700"
      },
      "message": "userns: Convert sched_set_affinity and sched_set_scheduler\u0027s permission checks\n\n- Compare kuids with uid_eq\n- kuid are uniuqe across all user namespaces so there is no longer the\n  need for a user_namespace comparison.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "76b6db010297d4928ab7b7e7c78dd982f413f0a4",
      "tree": "0d8fef729548a4f266684c0b7e56e4a9ed14780f",
      "parents": [
        "078de5f706ece36afd73bb4b8283314132d2dfdf"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Mar 14 15:24:19 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:39 2012 -0700"
      },
      "message": "userns: Replace user_ns_map_uid and user_ns_map_gid with from_kuid and from_kgid\n\nThese function are no longer needed replace them with their more useful equivalents.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "078de5f706ece36afd73bb4b8283314132d2dfdf",
      "tree": "0dee00713f9cb5e2516260a66b8df99ef7d03e4d",
      "parents": [
        "ae2975bc3476243b45a1e2344236d7920c268f38"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 08 07:00:08 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:28:38 2012 -0700"
      },
      "message": "userns: Store uid and gid values in struct cred with kuid_t and kgid_t types\n\ncred.h and a few trivial users of struct cred are changed.  The rest of the users\nof struct cred are left for other patches as there are too many changes to make\nin one go and leave the change reviewable.  If the user namespace is disabled and\nCONFIG_UIDGID_STRICT_TYPE_CHECKS are disabled the code will contiue to compile\nand behave correctly.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "ae2975bc3476243b45a1e2344236d7920c268f38",
      "tree": "e4b2a8472f6047734b6e7e2bdc994375b2790323",
      "parents": [
        "22d917d80e842829d0ca0a561967d728eb1d6303"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 14 15:56:38 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 03 03:27:21 2012 -0700"
      },
      "message": "userns: Convert group_info values from gid_t to kgid_t.\n\nAs a first step to converting struct cred to be all kuid_t and kgid_t\nvalues convert the group values stored in group_info to always be\nkgid_t values.   Unless user namespaces are used this change should\nhave no effect.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "22d917d80e842829d0ca0a561967d728eb1d6303",
      "tree": "b01e0566e136d3004fa9198e4cb1969fc6feff6c",
      "parents": [
        "783291e6900292521a3895583785e0c04a56c5b3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 17 00:11:58 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 26 02:01:39 2012 -0700"
      },
      "message": "userns: Rework the user_namespace adding uid/gid mapping support\n\n- Convert the old uid mapping functions into compatibility wrappers\n- Add a uid/gid mapping layer from user space uid and gids to kernel\n  internal uids and gids that is extent based for simplicty and speed.\n  * Working with number space after mapping uids/gids into their kernel\n    internal version adds only mapping complexity over what we have today,\n    leaving the kernel code easy to understand and test.\n- Add proc files /proc/self/uid_map /proc/self/gid_map\n  These files display the mapping and allow a mapping to be added\n  if a mapping does not exist.\n- Allow entering the user namespace without a uid or gid mapping.\n  Since we are starting with an existing user our uids and gids\n  still have global mappings so are still valid and useful they just don\u0027t\n  have local mappings.  The requirement for things to work are global uid\n  and gid so it is odd but perfectly fine not to have a local uid\n  and gid mapping.\n  Not requiring global uid and gid mappings greatly simplifies\n  the logic of setting up the uid and gid mappings by allowing\n  the mappings to be set after the namespace is created which makes the\n  slight weirdness worth it.\n- Make the mappings in the initial user namespace to the global\n  uid/gid space explicit.  Today it is an identity mapping\n  but in the future we may want to twist this for debugging, similar\n  to what we do with jiffies.\n- Document the memory ordering requirements of setting the uid and\n  gid mappings.  We only allow the mappings to be set once\n  and there are no pointers involved so the requirments are\n  trivial but a little atypical.\n\nPerformance:\n\nIn this scheme for the permission checks the performance is expected to\nstay the same as the actuall machine instructions should remain the same.\n\nThe worst case I could think of is ls -l on a large directory where\nall of the stat results need to be translated with from kuids and\nkgids to uids and gids.  So I benchmarked that case on my laptop\nwith a dual core hyperthread Intel i5-2520M cpu with 3M of cpu cache.\n\nMy benchmark consisted of going to single user mode where nothing else\nwas running. On an ext4 filesystem opening 1,000,000 files and looping\nthrough all of the files 1000 times and calling fstat on the\nindividuals files.  This was to ensure I was benchmarking stat times\nwhere the inodes were in the kernels cache, but the inode values were\nnot in the processors cache.  My results:\n\nv3.4-rc1:         ~\u003d 156ns (unmodified v3.4-rc1 with user namespace support disabled)\nv3.4-rc1-userns-: ~\u003d 155ns (v3.4-rc1 with my user namespace patches and user namespace support disabled)\nv3.4-rc1-userns+: ~\u003d 164ns (v3.4-rc1 with my user namespace patches and user namespace support enabled)\n\nAll of the configurations ran in roughly 120ns when I performed tests\nthat ran in the cpu cache.\n\nSo in summary the performance impact is:\n1ns improvement in the worst case with user namespace support compiled out.\n8ns aka 5% slowdown in the worst case with user namespace support compiled in.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "783291e6900292521a3895583785e0c04a56c5b3",
      "tree": "9dd368a25ea61b5913646b1d93ec99e865c058ba",
      "parents": [
        "7b44ab978b77a91b327058a0f4db7e6fcdb90b92"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 17 01:32:59 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 26 02:00:59 2012 -0700"
      },
      "message": "userns: Simplify the user_namespace by making userns-\u003ecreator a kuid.\n\n- Transform userns-\u003ecreator from a user_struct reference to a simple\n  kuid_t, kgid_t pair.\n\n  In cap_capable this allows the check to see if we are the creator of\n  a namespace to become the classic suser style euid permission check.\n\n  This allows us to remove the need for a struct cred in the mapping\n  functions and still be able to dispaly the user namespace creators\n  uid and gid as 0.\n\n- Remove the now unnecessary delayed_work in free_user_ns.\n\n  All that is left for free_user_ns to do is to call kmem_cache_free\n  and put_user_ns.  Those functions can be called in any context\n  so call them directly from free_user_ns removing the need for delayed work.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "7b44ab978b77a91b327058a0f4db7e6fcdb90b92",
      "tree": "632c872f0b88d001f1bddce2c0aacd77bf062454",
      "parents": [
        "5673a94c14574d7c6495c320c6b0e480673d54bd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 23:20:58 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 17:11:46 2012 -0700"
      },
      "message": "userns: Disassociate user_struct from the user_namespace.\n\nModify alloc_uid to take a kuid and make the user hash table global.\nStop holding a reference to the user namespace in struct user_struct.\n\nThis simplifies the code and makes the per user accounting not\ncare about which user namespace a uid happens to appear in.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "5673a94c14574d7c6495c320c6b0e480673d54bd",
      "tree": "bb715a6551732475aaa6870f08da8d49529ee82d",
      "parents": [
        "7a4e7408c5cadb240e068a662251754a562355e3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 17 10:23:55 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 17:11:01 2012 -0700"
      },
      "message": "userns: Add a Kconfig option to enforce strict kuid and kgid type checks\n\nMake it possible to easily switch between strong mandatory\ntype checks and relaxed type checks so that the code can\neasily be tested with the type checks and then built\nwith the strong type checks disabled so the resulting\ncode can be used.\n\nRequire strong mandatory type checks when enabling the user namespace.\nIt is very simple to make a typo and use the wrong type allowing\nconversions to/from userspace values to be bypassed by accident,\nthe strong type checks prevent this.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "7a4e7408c5cadb240e068a662251754a562355e3",
      "tree": "349f10e0aa1d590ece86deabf4f3025035b2fbde",
      "parents": [
        "1a48e2ac034d47ed843081c4523b63c46b46888b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 14 14:29:51 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 17:09:52 2012 -0700"
      },
      "message": "userns: Add kuid_t and kgid_t and associated infrastructure in uidgid.h\n\nStart distinguishing between internal kernel uids and gids and\nvalues that userspace can use.  This is done by introducing two\nnew types: kuid_t and kgid_t.  These types and their associated\nfunctions are infrastructure are declared in the new header\nuidgid.h.\n\nUltimately there will be a different implementation of the mapping\nfunctions for use with user namespaces.  But to keep it simple\nwe introduce the mapping functions first to separate the meat\nfrom the mechanical code conversions.\n\nExport overflowuid and overflowgid so we can use from_kuid_munged\nand from_kgid_munged in modular code.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "1a48e2ac034d47ed843081c4523b63c46b46888b",
      "tree": "d3a32ac7ffc47b075a64701a2fd74e00bbccf84d",
      "parents": [
        "973c5914260d75292f71a4729753086b9e863d57"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 14 16:24:06 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 17:02:46 2012 -0700"
      },
      "message": "userns: Replace the hard to write inode_userns with inode_capable.\n\nThis represents a change in strategy of how to handle user namespaces.\nInstead of tagging everything explicitly with a user namespace and bulking\nup all of the comparisons of uids and gids in the kernel,  all uids and gids\nin use will have a mapping to a flat kuid and kgid spaces respectively.  This\nallows much more of the existing logic to be preserved and in general\nallows for faster code.\n\nIn this new and improved world we allow someone to utiliize capabilities\nover an inode if the inodes owner mapps into the capabilities holders user\nnamespace and the user has capabilities in their user namespace.  Which\nis simple and efficient.\n\nMoving the fs uid comparisons to be comparisons in a flat kuid space\nfollows in later patches, something that is only significant if you\nare using user namespaces.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "973c5914260d75292f71a4729753086b9e863d57",
      "tree": "b194688d30f2f05debd24605650edba0509bbcad",
      "parents": [
        "d0bd6594e286bd6145e04e19e8d3fa2e902cb800"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Nov 17 01:59:07 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:59 2012 -0700"
      },
      "message": "userns: Start out with a full set of capabilities.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "d0bd6594e286bd6145e04e19e8d3fa2e902cb800",
      "tree": "ec512935f5cf2b4ae95927a47e96ad716159fb04",
      "parents": [
        "6f9ac6d93a0916de09d11b0a247ade8f4347728b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 23:20:58 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:54 2012 -0700"
      },
      "message": "userns: Deprecate and rename the user_namespace reference in the user_struct\n\nWith a user_ns reference in struct cred the only user of the user namespace\nreference in struct user_struct is to keep the uid hash table alive.\n\nThe user_namespace reference in struct user_struct will be going away soon, and\nI have removed all of the references.  Rename the field from user_ns to _user_ns\nso that the compiler can verify nothing follows the user struct to the user\nnamespace anymore.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6f9ac6d93a0916de09d11b0a247ade8f4347728b",
      "tree": "93e47420422e8e99befd2c14aaab75fa167cbb59",
      "parents": [
        "aeb3ae9da9b50a386b22af786d19b623e8d9f0fa"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 22:57:55 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:53 2012 -0700"
      },
      "message": "mqueue: Explicitly capture the user namespace to send the notification to.\n\nStop relying on user-\u003euser_ns which is going away and instead capture\nthe user_namespace of the process we are supposed to notify.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "aeb3ae9da9b50a386b22af786d19b623e8d9f0fa",
      "tree": "3db9772ea99c931914bec7ded51f896f1d2e24ec",
      "parents": [
        "0093ccb68f3753c0ba4d74c89d7e0f444b8d6123"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 21:59:43 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:52 2012 -0700"
      },
      "message": "userns: Add an explicit reference to the parent user namespace\n\nI am about to remove the struct user_namespace reference from struct user_struct.\nSo keep an explicit track of the parent user namespace.\n\nTake advantage of this new reference and replace instances of user_ns-\u003ecreator-\u003euser_ns\nwith user_ns-\u003eparent.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "0093ccb68f3753c0ba4d74c89d7e0f444b8d6123",
      "tree": "a6fc0ea2a6dfc338fa8fc7126005f40109ef8dce",
      "parents": [
        "c4a4d603796c727b9555867571f89483be9c565e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 21:52:53 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:52 2012 -0700"
      },
      "message": "cred: Refcount the user_ns pointed to by the cred.\n\nstruct user_struct will shortly loose it\u0027s user_ns reference\nso make the cred user_ns reference a proper reference complete\nwith reference counting.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "c4a4d603796c727b9555867571f89483be9c565e",
      "tree": "ae3b47a7b8b35c866df53cb4b4a051d49a28904a",
      "parents": [
        "7e6bd8fadd1216f50468f965d0308f45e5109ced"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 23:15:31 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:51 2012 -0700"
      },
      "message": "userns: Use cred-\u003euser_ns instead of cred-\u003euser-\u003euser_ns\n\nOptimize performance and prepare for the removal of the user_ns reference\nfrom user_struct.  Remove the slow long walk through cred-\u003euser-\u003euser_ns and\ninstead go straight to cred-\u003euser_ns.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "7e6bd8fadd1216f50468f965d0308f45e5109ced",
      "tree": "16357feae4c51fdbe952f71fe735664f088371fe",
      "parents": [
        "74ba508f60c3650595297b33a4cdfd02e443194e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Nov 14 19:29:17 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:50 2012 -0700"
      },
      "message": "cred: Add forward declaration of init_user_ns in all cases.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "74ba508f60c3650595297b33a4cdfd02e443194e",
      "tree": "6acd9ed909b3ebf4f53c05e7336e41e8082d4f6a",
      "parents": [
        "39fda8db80c9da028bc78ef444a51ea56f3cf0ad"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Mar 03 18:58:11 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:55:05 2012 -0700"
      },
      "message": "userns: Remove unnecessary cast to struct user_struct when copying cred-\u003euser.\n\nIn struct cred the user member is and has always been declared struct user_struct *user.\nAt most a constant struct cred will have a constant pointer to non-constant user_struct\nso remove this unnecessary cast.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "39fda8db80c9da028bc78ef444a51ea56f3cf0ad",
      "tree": "372f0117c1aa1a15320b45da046176de48108de9",
      "parents": [
        "57a39aa3e3ca00e371cec37be4f7c2e950eb1f1f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Apr 03 18:36:26 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Apr 07 16:53:12 2012 -0700"
      },
      "message": "userns: Replace netlink uses of cap_raised with capable.\n\nIn 2009 Philip Reiser notied that a few users of netlink connector\ninterface needed a capability check and added the idiom\ncap_raised(nsp-\u003eeff_cap, CAP_SYS_ADMIN) to a few of them, on the premise\nthat netlink was asynchronous.\n\nIn 2011 Patrick McHardy noticed we were being silly because netlink is\nsynchronous and removed eff_cap from the netlink_skb_params and changed\nthe idiom to cap_raised(current_cap(), CAP_SYS_ADMIN).\n\nLooking at those spots with a fresh eye we should be calling\ncapable(CAP_SYS_ADMIN).  The only reason I can see for not calling\ncapable is that it once appeared we were not in the same task as the\ncaller which would have made calling capable() impossible.\n\nIn the initial user_namespace the only difference between  between\ncap_raised(current_cap(), CAP_SYS_ADMIN) and capable(CAP_SYS_ADMIN)\nare a few sanity checks and the fact that capable(CAP_SYS_ADMIN)\nsets PF_SUPERPRIV if we use the capability.\n\nSince we are going to be using root privilege setting PF_SUPERPRIV\nseems the right thing to do.\n\nThe motivation for this that patch is that in a child user namespace\ncap_raised(current_cap(),...) tests your capabilities with respect to\nthat child user namespace not capabilities in the initial user namespace\nand thus will allow processes that should be unprivielged to use the\nkernel services that are only protected with\ncap_raised(current_cap(),..).\n\nTo fix possible user_namespace issues and to just clean up the code\nreplace cap_raised(current_cap(), CAP_SYS_ADMIN) with\ncapable(CAP_SYS_ADMIN).\n\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: James Morris \u003cjames.l.morris@oracle.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nCc: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "57a39aa3e3ca00e371cec37be4f7c2e950eb1f1f",
      "tree": "6f1c6da8f99c210527532bda001711ada1326f77",
      "parents": [
        "975d6b3932d43b87a48d2107264ed0c9a7541d8d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 16 22:06:16 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Apr 03 04:28:52 2012 -0700"
      },
      "message": "userns: Kill bogus declaration of function release_uids\n\nThere is no release_uids function remove the declaration from sched.h\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "975d6b3932d43b87a48d2107264ed0c9a7541d8d",
      "tree": "ad82038ec23ccb2bdb00c1cdc13ae595e5a4dfbe",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Nov 13 12:16:43 2011 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Apr 03 04:28:51 2012 -0700"
      },
      "message": "vfs: Don\u0027t allow a user namespace root to make device nodes\n\nSafely making device nodes in a container is solvable but simply\nhaving the capability in a user namespace is not sufficient to make\nthis work.\n\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "dd775ae2549217d3ae09363e3edb305d0fa19928",
      "tree": "a56f5e61a081da06d29676a1677442e654d498eb",
      "parents": [
        "b7ffff4bb3fef527a26144a95d9dfe8c11a6b927"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 16:24:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 16:24:09 2012 -0700"
      },
      "message": "Linux 3.4-rc1\n"
    },
    {
      "commit": "b7ffff4bb3fef527a26144a95d9dfe8c11a6b927",
      "tree": "d5788ce86b8f0b2290660e1d7298a564a37f62a9",
      "parents": [
        "8bb1f229527dee95644e0f8496980bb767c6f620",
        "f878d0be229ab129bc4b224191f217106a4b0bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 15:11:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 15:11:39 2012 -0700"
      },
      "message": "Merge branch \u0027s3-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio-console\n\nPull virtio S3 support patches from Amit Shah:\n \"Turns out S3 is not different from S4 for virtio devices: the device\n  is assumed to be reset, so the host and guest state are to be assumed\n  to be out of sync upon resume.  We handle the S4 case with exactly the\n  same scenario, so just point the suspend/resume routines to the\n  freeze/restore ones.\n\n  Once that is done, we also use the PM API\u0027s macro to initialise the\n  sleep functions.\n\n  A couple of cleanups are included: there\u0027s no need for special thaw\n  processing in the balloon driver, so that\u0027s addressed in patches 1 and\n  2.\n\n  Testing: both S3 and S4 support have been tested using these patches\n  using a similar method used earlier during S4 patch development: a\n  guest is started with virtio-blk as the only disk, a virtio network\n  card, a virtio-serial port and a virtio balloon device.  Ping from\n  guest to host, dd /dev/zero to a file on the disk, and IO from the\n  host on the virtio-serial port, all at once, while exercising S4 and\n  S3 (separately) were tested.  They all continue to work fine after\n  resume.  virtio balloon values too were tested by inflating and\n  deflating the balloon.\"\n\nPulling from Amit, since Rusty is off getting married (and presumably\nshaving people).\n\n* \u0027s3-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio-console:\n  virtio-pci: switch to PM ops macro to initialise PM functions\n  virtio-pci: S3 support\n  virtio-pci: drop restore_common()\n  virtio: drop thaw PM operation\n  virtio: balloon: Allow stats update after restore from S4\n"
    },
    {
      "commit": "8bb1f229527dee95644e0f8496980bb767c6f620",
      "tree": "511551e9772f11f855bd5b759b6d449da47e8820",
      "parents": [
        "f22e08a79f3765fecf060b225a46931c94fb0a92",
        "c0d0259481cc6ec2a38cad810055e455de35c733"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:42:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:42:57 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull second try at vfs part d#2 from Al Viro:\n \"Miklos\u0027 first series (with do_lookup() rewrite split into edible\n  chunks) + assorted bits and pieces.\n\n  The \u0027untangling of do_lookup()\u0027 series is is a splitup of what used to\n  be a monolithic patch from Miklos, so this series is basically \"how do\n  I convince myself that his patch is correct (or find a hole in it)\".\n  No holes found and I like the resulting cleanup, so in it went...\"\n\nChanges from try 1: Fix a boot problem with selinux, and commit messages\nprettied up a bit.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (24 commits)\n  vfs: fix out-of-date dentry_unhash() comment\n  vfs: split __lookup_hash\n  untangling do_lookup() - take __lookup_hash()-calling case out of line.\n  untangling do_lookup() - switch to calling __lookup_hash()\n  untangling do_lookup() - merge d_alloc_and_lookup() callers\n  untangling do_lookup() - merge failure exits in !dentry case\n  untangling do_lookup() - massage !dentry case towards __lookup_hash()\n  untangling do_lookup() - get rid of need_reval in !dentry case\n  untangling do_lookup() - eliminate a loop.\n  untangling do_lookup() - expand the area under -\u003ei_mutex\n  untangling do_lookup() - isolate !dentry stuff from the rest of it.\n  vfs: move MAY_EXEC check from __lookup_hash()\n  vfs: don\u0027t revalidate just looked up dentry\n  vfs: fix d_need_lookup/d_revalidate order in do_lookup\n  ext3: move headers to fs/ext3/\n  migrate ext2_fs.h guts to fs/ext2/ext2.h\n  new helper: ext2_image_size()\n  get rid of pointless includes of ext2_fs.h\n  ext2: No longer export ext2_fs.h to user space\n  mtdchar: kill persistently held vfsmount\n  ...\n"
    },
    {
      "commit": "f22e08a79f3765fecf060b225a46931c94fb0a92",
      "tree": "2f02777e8893d03289ec0a7f5f414f3ff01c8c37",
      "parents": [
        "f187e9fd68577cdd5f914659b6f7f11124e40485",
        "e3831edd59edf57ca11fc289f08961b20baf5146"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n  sched: Fix __schedule_bug() output when called from an interrupt\n  sched/arch: Introduce the finish_arch_post_lock_switch() scheduler callback\n"
    },
    {
      "commit": "f187e9fd68577cdd5f914659b6f7f11124e40485",
      "tree": "ad0e7422359724f7c7ffaaaa80dd3a7281f02a83",
      "parents": [
        "adb3b1f3fc1c6edb501808ebf80a81e81c52eb73",
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates and fixes from Ingo Molnar:\n \"It\u0027s mostly fixes, but there\u0027s also two late items:\n\n   - preliminary GTK GUI support for perf report\n   - PMU raw event format descriptors in sysfs, to be parsed by tooling\n\n  The raw event format in sysfs is a new ABI.  For example for the \u0027CPU\u0027\n  PMU we have:\n\n    aldebaran:~\u003e ll /sys/bus/event_source/devices/cpu/format/*\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/any\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/cmask\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/edge\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/event\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/inv\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/pc\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/umask\n\n  those lists of fields contain a specific format:\n\n    aldebaran:~\u003e cat /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    config1:0-63\n\n  So, those who wish to specify raw events can now use the following\n  event format:\n\n    -e cpu/cmask\u003d1,event\u003d2,umask\u003d3\n\n  Most people will not want to specify any events (let alone raw\n  events), they\u0027ll just use whatever default event the tools use.\n\n  But for more obscure PMU events that have no cross-architecture\n  generic events the above syntax is more usable and a bit more\n  structured than specifying hex numbers.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)\n  perf tools: Remove auto-generated bison/flex files\n  perf annotate: Fix off by one symbol hist size allocation and hit accounting\n  perf tools: Add missing ref-cycles event back to event parser\n  perf annotate: addr2line wants addresses in same format as objdump\n  perf probe: Finder fails to resolve function name to address\n  tracing: Fix ent_size in trace output\n  perf symbols: Handle NULL dso in dso__name_len\n  perf symbols: Do not include libgen.h\n  perf tools: Fix bug in raw sample parsing\n  perf tools: Fix display of first level of callchains\n  perf tools: Switch module.h into export.h\n  perf: Move mmap page data_head offset assertion out of header\n  perf: Fix mmap_page capabilities and docs\n  perf diff: Fix to work with new hists design\n  perf tools: Fix modifier to be applied on correct events\n  perf tools: Fix various casting issues for 32 bits\n  perf tools: Simplify event_read_id exit path\n  tracing: Fix ftrace stack trace entries\n  tracing: Move the tracing_on/off() declarations into CONFIG_TRACING\n  perf report: Add a simple GTK2-based \u0027perf report\u0027 browser\n  ...\n"
    },
    {
      "commit": "adb3b1f3fc1c6edb501808ebf80a81e81c52eb73",
      "tree": "9490e03ee23abda6a42cc0070aec5494c18ce9bf",
      "parents": [
        "a75ee6ecd411a50bf4da927c2fdb2cb56246a2bd",
        "7ec6118c46699548b302149bba791166004c8428"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:32:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:32:30 2012 -0700"
      },
      "message": "Merge tag \u0027parisc-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6\n\nPull PARISC misc updates from James Bottomley:\n \"This is a couple of minor updates (fixing lws futex locking and\n  removing some obsolete cpu_*_map calls).\"\n\n* tag \u0027parisc-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:\n  [PARISC] remove references to cpu_*_map.\n  [PARISC] futex: Use same lock set as lws calls\n"
    },
    {
      "commit": "a75ee6ecd411a50bf4da927c2fdb2cb56246a2bd",
      "tree": "fcb06e1940152b115901fda68e7eea1cc1196ff3",
      "parents": [
        "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
        "699316948628dab9e813c415640fe5b9f65cd5e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nPull SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (lpfc, bfa, fcoe,\n  ipr) plus a new ufshcd driver.  There shouldn\u0027t be anything\n  controversial in here (The final deletion of scsi proc_ops which\n  caused some build breakage has been held over until the next merge\n  window to give us more time to stabilise it).\n\n  I\u0027m afraid, with me moving continents at exactly the wrong time,\n  anything submitted after the merge window opened has been held over to\n  the next merge window.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (63 commits)\n  [SCSI] ipr: Driver version 2.5.3\n  [SCSI] ipr: Increase alignment boundary of command blocks\n  [SCSI] ipr: Increase max concurrent oustanding commands\n  [SCSI] ipr: Remove unnecessary memory barriers\n  [SCSI] ipr: Remove unnecessary interrupt clearing on new adapters\n  [SCSI] ipr: Fix target id allocation re-use problem\n  [SCSI] atp870u, mpt2sas, qla4xxx use pci_dev-\u003erevision\n  [SCSI] fcoe: Drop the rtnl_mutex before calling fcoe_ctlr_link_up\n  [SCSI] bfa: Update the driver version to 3.0.23.0\n  [SCSI] bfa: BSG and User interface fixes.\n  [SCSI] bfa: Fix to avoid vport delete hang on request queue full scenario.\n  [SCSI] bfa: Move service parameter programming logic into firmware.\n  [SCSI] bfa: Revised Fabric Assigned Address(FAA) feature implementation.\n  [SCSI] bfa: Flash controller IOC pll init fixes.\n  [SCSI] bfa: Serialize the IOC hw semaphore unlock logic.\n  [SCSI] bfa: Modify ISR to process pending completions\n  [SCSI] bfa: Add fc host issue lip support\n  [SCSI] mpt2sas: remove extraneous sas_log_info messages\n  [SCSI] libfc: fcoe_transport_create fails in single-CPU environment\n  [SCSI] fcoe: reduce contention for fcoe_rx_list lock [v2]\n  ...\n"
    },
    {
      "commit": "c0d0259481cc6ec2a38cad810055e455de35c733",
      "tree": "20ca63134e34d408e075790bb2fd4bf375b89313",
      "parents": [
        "bad61189780ec0592cacde01a0775cb98a30efdc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Feb 15 11:48:40 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:17 2012 -0400"
      },
      "message": "vfs: fix out-of-date dentry_unhash() comment\n\n64252c75a2196a0cf1e0d3777143ecfe0e3ae650 \"vfs: remove dget() from\ndentry_unhash()\" changed the implementation but not the comment.\n\nCc: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bad61189780ec0592cacde01a0775cb98a30efdc",
      "tree": "c17f96209e27717bab726d1fae5c4164c49c4860",
      "parents": [
        "81e6f520898edbda56e8680d338ace4f5694874e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 26 12:54:24 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:17 2012 -0400"
      },
      "message": "vfs: split __lookup_hash\n\nSplit __lookup_hash into two component functions:\n\n lookup_dcache - tries cached lookup, returns whether real lookup is needed\n lookup_real - calls i_op-\u003elookup\n\nThis eliminates code duplication between d_alloc_and_lookup() and\nd_inode_lookup().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "81e6f520898edbda56e8680d338ace4f5694874e",
      "tree": "d516e74ac37250452b6deb8cc3a5ef686bad6a81",
      "parents": [
        "a32555466caee38faeef4e44d7878ecbff1199bc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:48:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:17 2012 -0400"
      },
      "message": "untangling do_lookup() - take __lookup_hash()-calling case out of line.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a32555466caee38faeef4e44d7878ecbff1199bc",
      "tree": "e0dea5e747bca90e234938d8545634a16aca561a",
      "parents": [
        "a6ecdfcfba9392f469992dd6016ceafb3ea62123"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:41:51 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - switch to calling __lookup_hash()\n\nnow we have __lookup_hash() open-coded if !dentry case;\njust call the damn thing instead...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a6ecdfcfba9392f469992dd6016ceafb3ea62123",
      "tree": "0a818c7e050c3a5aa59852020567fb70a5cdcf47",
      "parents": [
        "ec335e91a4f088d8759c1311d0724e609d1c318e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:39:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - merge d_alloc_and_lookup() callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec335e91a4f088d8759c1311d0724e609d1c318e",
      "tree": "43163e92febda81023fcee742a9667f34ef39063",
      "parents": [
        "d774a058d94d6b0dafada2295ec5221481b07d16"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:37:42 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - merge failure exits in !dentry case\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d774a058d94d6b0dafada2295ec5221481b07d16",
      "tree": "952afb38f52c989752812dc3c0970259293211a9",
      "parents": [
        "08b0ab7c20f767187ae635d51bdd9d262ebe8357"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:34:00 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - massage !dentry case towards __lookup_hash()\n\nReorder if-else cases for starters...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "08b0ab7c20f767187ae635d51bdd9d262ebe8357",
      "tree": "b3b7258f1bee1574df231279dec23fe0c92a2b46",
      "parents": [
        "acc9cb3cd425f479d8fc4a441bff45dce23aa6dd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:18:50 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - get rid of need_reval in !dentry case\n\nEverything arriving into if (!dentry) will have need_reval \u003d 1.\nIndeed, the only way to get there with need_reval reset to 0 would\nbe via\n\tif (unlikely(d_need_lookup(dentry)))\n\t\tgoto unlazy;\n\tif (unlikely(dentry-\u003ed_flags \u0026 DCACHE_OP_REVALIDATE)) {\n\t\tstatus \u003d d_revalidate(dentry, nd);\n\tif (unlikely(status \u003c\u003d 0)) {\n\t\tif (status !\u003d -ECHILD)\n\t\t\tneed_reval \u003d 0;\n\t\tgoto unlazy;\n...\nunlazy:\n\t/* no assignments to dentry */\n\tif (dentry \u0026\u0026 unlikely(d_need_lookup(dentry))) {\n\t\tdput(dentry);\n\t\tdentry \u003d NULL;\n\t}\nand if d_need_lookup() had already been false the first time around, it\nwill remain false on the second call as well.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "acc9cb3cd425f479d8fc4a441bff45dce23aa6dd",
      "tree": "08ffc4b16ad2d00069189440dbfd4b893e2cc96e",
      "parents": [
        "37c17e1f377696c797e75c1e915e838b3e0c6120"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:13:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - eliminate a loop.\n\nd_lookup() *will* fail after successful d_invalidate(), if we are\nholding i_mutex all along.  IOW, we don\u0027t need to jump back to\nl: - we know what path will be taken there and can do that (i.e.\nd_alloc_and_lookup()) directly.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "37c17e1f377696c797e75c1e915e838b3e0c6120",
      "tree": "97af490a11ae06776978b4ed171ba7ceff36128f",
      "parents": [
        "3f6c7c71a2af6eb306e16562c6ee1bfdb48015fb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:08:28 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - expand the area under -\u003ei_mutex\n\nkeep holding -\u003ei_mutex over revalidation parts\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3f6c7c71a2af6eb306e16562c6ee1bfdb48015fb",
      "tree": "11a45a75c858894fcfdbf40e320d860d7f28c166",
      "parents": [
        "cda309de253f338b04d15b4478e45fc3a0fcc7a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 30 14:04:16 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "untangling do_lookup() - isolate !dentry stuff from the rest of it.\n\nDuplicate the revalidation-related parts into if (!dentry) branch.\nNext step will be to pull them under i_mutex.\n\nThis and the next 8 commits are more or less a splitup of patch\nby Miklos; folks, when you are working with something that convoluted,\ncarve your patches up into easily reviewed steps, especially when\na lot of codepaths involved are rarely hit...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cda309de253f338b04d15b4478e45fc3a0fcc7a3",
      "tree": "93b5c767935ee7ec8a664f01ba684415754d929b",
      "parents": [
        "3637c05d881b2b7bab36f339245b8963f5b29c9f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 26 12:54:21 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "vfs: move MAY_EXEC check from __lookup_hash()\n\nThe only caller of __lookup_hash() that needs the exec permission check on\nparent is lookup_one_len().\n\nAll lookup_hash() callers already checked permission in LOOKUP_PARENT walk.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3637c05d881b2b7bab36f339245b8963f5b29c9f",
      "tree": "771ea8149d971517934d7023a6f3d34ccc42068f",
      "parents": [
        "fa4ee159512ee39b6c65ac40db986ea7a2f7de60"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 26 12:54:20 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "vfs: don\u0027t revalidate just looked up dentry\n\n__lookup_hash() calls -\u003elookup() if the dentry needs lookup and on success\nrevalidates the dentry (all under dir-\u003ei_mutex).\n\nWhile this is harmless it doesn\u0027t make a lot of sense.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa4ee159512ee39b6c65ac40db986ea7a2f7de60",
      "tree": "1a245fe312d79e063de819f4da0debc2b13739d7",
      "parents": [
        "4613ad180d19082f99551477dcb13cb23d23661b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 26 12:54:19 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "vfs: fix d_need_lookup/d_revalidate order in do_lookup\n\nDoing revalidate on a dentry which has not yet been looked up makes no sense.\n\nMove the d_need_lookup() check before d_revalidate().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4613ad180d19082f99551477dcb13cb23d23661b",
      "tree": "c90407d53b5e7270c55831e394bd879825e0c6e9",
      "parents": [
        "f7699f2b0114fcd0ea5ad5f8aa2142f1bcc27fd0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 29 22:30:07 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "ext3: move headers to fs/ext3/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7699f2b0114fcd0ea5ad5f8aa2142f1bcc27fd0",
      "tree": "054330e3e093e8b19eaeb4a60e93b936cde22266",
      "parents": [
        "39429c5e4a2c56a39c9a1c9bdad54431c63104b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:45:51 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "migrate ext2_fs.h guts to fs/ext2/ext2.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "39429c5e4a2c56a39c9a1c9bdad54431c63104b0",
      "tree": "06abc2a4ff8d323b0358b768a71c7b651c3229f3",
      "parents": [
        "2f99c36986ff27a86f06f27212c5f5fa8c7164a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:36:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "new helper: ext2_image_size()\n\n... implemented that way since the next commit will leave it\nalmost alone in ext2_fs.h - most of the file (including\nstruct ext2_super_block) is going to move to fs/ext2/ext2.h.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f99c36986ff27a86f06f27212c5f5fa8c7164a3",
      "tree": "a90fd7fe865bb1c5a00b0946754b505bcf070b60",
      "parents": [
        "4a165d25f63a989d0aabe9d8eed5b3a5d5da1862"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:04:05 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "get rid of pointless includes of ext2_fs.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a165d25f63a989d0aabe9d8eed5b3a5d5da1862",
      "tree": "472b3fd4b2432d325d427e28b148676e9790c6fe",
      "parents": [
        "00292bbf769620dea923dbd906afd88955f7ea19"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "thierry.reding@avionic-design.de",
        "time": "Fri Mar 23 10:27:36 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "ext2: No longer export ext2_fs.h to user space\n\nSince the on-disk format has been stable for quite some time, users\nshould either use the headers provided by libext2fs or keep a private\ncopy of this header. For the full discussion, see this thread:\n\n\thttps://lkml.org/lkml/2012/3/21/516\n\nWhile at it, this commit removes all __KERNEL__ guards, which are now\nunnecessary.\n\nSigned-off-by: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Andreas Dilger \u003caedilger@gmail.com\u003e\nCc: linux-ext4@vger.kernel.org\n"
    },
    {
      "commit": "00292bbf769620dea923dbd906afd88955f7ea19",
      "tree": "e13fb45d1c31e96d37213f514715bddc95bbea07",
      "parents": [
        "22a71c3055cfcc277b7a8422d4ff256944370c24"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 13:47:52 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "mtdchar: kill persistently held vfsmount\n\n... and mtdchar_notifier along with it; just have -\u003edrop_inode() that\nwill unconditionally get evict them instead of dances on mtd device\nremoval and use simple_pin_fs() instead of kern_mount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "22a71c3055cfcc277b7a8422d4ff256944370c24",
      "tree": "8b0b9c4da7329866b5f006ac9e6954a90e10d098",
      "parents": [
        "a2e1859adb3b05fa99f87a67df9ef2a4b7b04a13"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 22 12:26:35 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "pstore: trim pstore_get_inode()\n\nmove mode-dependent parts to callers, kill unused arguments\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2e1859adb3b05fa99f87a67df9ef2a4b7b04a13",
      "tree": "2d6ba3300b595f2db3fdb3407fc2d028a7baf68a",
      "parents": [
        "06af121eab543e5554f7a29538f171a382aaf855"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 16:27:57 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "aio: take final put_ioctx() into callers of io_destroy()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "06af121eab543e5554f7a29538f171a382aaf855",
      "tree": "5d072174c381aa284bff396b2176f077a8536ec5",
      "parents": [
        "a1c2aa1e86a25e7cace2ded47ec52754206a5733"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 16:26:24 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "aio: merge aio_cancel_all() with wait_for_all_aios()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1c2aa1e86a25e7cace2ded47ec52754206a5733",
      "tree": "6d435240e757e9f83b4f9c42f98c69888f3b3928",
      "parents": [
        "e152c38abaa92352679c9b53c4cce533c03997c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 18 20:36:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "selinuxfs: merge dentry allocation into sel_make_dir()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
      "tree": "6347cadf5e3d2835bf63dc52a8fdfe2daaea5161",
      "parents": [
        "cdb0f9a1ad2ee3c11e21bc99f0c2021a02844666"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 27 10:17:41 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 12:49:56 2012 -0700"
      },
      "message": "ASPM: Fix pcie devices with non-pcie children\n\nSince 3.2.12 and 3.3, some systems are failing to boot with a BUG_ON.\nSome other systems using the pata_jmicron driver fail to boot because no\ndisks are detected.  Passing pcie_aspm\u003dforce on the kernel command line\nworks around it.\n\nThe cause: commit 4949be16822e (\"PCI: ignore pre-1.1 ASPM quirking when\nASPM is disabled\") changed the behaviour of pcie_aspm_sanity_check() to\nalways return 0 if aspm is disabled, in order to avoid cases where we\nchanged ASPM state on pre-PCIe 1.1 devices.\n\nThis skipped the secondary function of pcie_aspm_sanity_check which was\nto avoid us enabling ASPM on devices that had non-PCIe children, causing\ntrouble later on.  Move the aspm_disabled check so we continue to honour\nthat scenario.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d42979 and\n          http://bugs.debian.org/665420\n\nReported-by: Romain Francoise \u003cromain@orebokech.com\u003e # kernel panic\nReported-by: Chris Holland \u003cbandidoirlandes@gmail.com\u003e # disk detection trouble\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nTested-by: Hatem Masmoudi \u003chatem.masmoudi@gmail.com\u003e # Dell Latitude E5520\nTested-by: janek \u003cjan0x6c@gmail.com\u003e # pata_jmicron with JMB362/JMB363\n[jn: with more symptoms in log message]\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdb0f9a1ad2ee3c11e21bc99f0c2021a02844666",
      "tree": "e4c2ea0b8c432645d1a28bdb694939b1e2891b30",
      "parents": [
        "a554bea89948dfb6d2f9c4c62ce2b12b2dac18ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 11:12:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 11:24:22 2012 -0700"
      },
      "message": "selinux: inline avc_audit() and avc_has_perm_noaudit() into caller\n\nNow that all the slow-path code is gone from these functions, we can\ninline them into the main caller - avc_has_perm_flags().\n\nNow the compiler can see that \u0027avc\u0027 is allocated on the stack for this\ncase, which helps register pressure a bit.  It also actually shrinks the\ntotal stack frame, because the stack frame that avc_has_perm_flags()\nalways needed (for that \u0027avc\u0027 allocation) is now sufficient for the\ninlined functions too.\n\nInlining isn\u0027t bad - but mindless inlining of cold code (see the\nprevious commit) is.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a554bea89948dfb6d2f9c4c62ce2b12b2dac18ad",
      "tree": "f84e38fa7a54c1a678a14d7a65e583efac1cafa3",
      "parents": [
        "fa2a4519cb6ad94224eb56a1341fff570fd44ea1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 10:58:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 11:24:22 2012 -0700"
      },
      "message": "selinux: don\u0027t inline slow-path code into avc_has_perm_noaudit()\n\nThe selinux AVC paths remain some of the hottest (and deepest) codepaths\nat filename lookup time, and we make it worse by having the slow path\ncases take up I$ and stack space even when they don\u0027t trigger.  Gcc\ntends to always want to inline functions that are just called once -\nnever mind that this might make for slower and worse code in the caller.\n\nSo this tries to improve on it a bit by making the slow-path cases\nexplicitly separate functions that are marked noinline, causing gcc to\nat least no longer allocate stack space for them unless they are\nactually called.  It also seems to help register allocation a tiny bit,\nsince gcc now doesn\u0027t take the slow case code into account.\n\nUninlining the slow path may also allow us to inline the remaining hot\npath into the one caller that actually matters: avc_has_perm_flags().\nI\u0027ll have to look at that separately, but both avc_audit() and\navc_has_perm_noaudit() are now small and lean enough that inlining them\nmay make sense.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3831edd59edf57ca11fc289f08961b20baf5146",
      "tree": "70dfabd35517a97a1127df573d3770848f697e55",
      "parents": [
        "1f56ee7b68fecd45d25bdcf2eda7507797594424"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Mar 30 19:40:28 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 10:43:36 2012 +0200"
      },
      "message": "sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n\nThe function for_each_cpu_mask() expects a *pointer* to struct\ncpumask as its second argument, whereas select_fallback_rq()\npasses the value itself.\n\nAnd moreover, for_each_cpu_mask() has been marked as obselete\nin include/linux/cpumask.h. So move to the more appropriate\nfor_each_cpu() variant.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Liu Chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: vapier@gentoo.org\nCc: rusty@rustcorp.com.au\nLink: http://lkml.kernel.org/r/4F75BED4.9050005@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8ebfdf2babcda5a3b06cc67523bca1f9aed46009",
      "tree": "160fe42903b8fdd399347ae9e7a7d72c331570f8",
      "parents": [
        "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
        "65f3e56e0c81d1f581c4bdef7646ae5a8d51f494"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 09:27:41 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 09:27:41 2012 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent\n"
    },
    {
      "commit": "f878d0be229ab129bc4b224191f217106a4b0bc1",
      "tree": "8cf8de049cc777be1e55a2d868289b45a1e8b9cf",
      "parents": [
        "04c2322bee841121cfdd7f284e1d4274e9e60e33"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:58:05 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:51 2012 +0530"
      },
      "message": "virtio-pci: switch to PM ops macro to initialise PM functions\n\nUse the SET_SYSTEM_SLEEP_PM_OPS macro to initialise the suspend/resume\nfunctions in the new PM API.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "04c2322bee841121cfdd7f284e1d4274e9e60e33",
      "tree": "b1968224ab84bef66adba00d7480d4b449a0c946",
      "parents": [
        "0517fdd156c46c23501451158c6b0ff9fb7236d1"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:51:41 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:51 2012 +0530"
      },
      "message": "virtio-pci: S3 support\n\nThere\u0027s no difference in supporting S3 and S4 for virtio devices: the\nvqs have to be re-created as the device has to be assumed to be reset at\nrestore-time.  Since S4 already handles this situation, we can directly\nuse the same code and callbacks for S3 support.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "0517fdd156c46c23501451158c6b0ff9fb7236d1",
      "tree": "8699ac4ba7b4d6dbe01e187293db6c53d0eddb33",
      "parents": [
        "f38f8387cbdc4138a492ce9f2a5f04fd3cd3cf33"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:54:43 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:51 2012 +0530"
      },
      "message": "virtio-pci: drop restore_common()\n\nrestore_common() was shared between restore and thaw callbacks.  With\nthaw gone, we don\u0027t need restore_common() anymore.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "f38f8387cbdc4138a492ce9f2a5f04fd3cd3cf33",
      "tree": "037dfe639de15cbf6be59182872531a23cc20398",
      "parents": [
        "e47d854e57698d3be4579d2118f6057f9f12a17c"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:50:20 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:50 2012 +0530"
      },
      "message": "virtio: drop thaw PM operation\n\nThe thaw operation was used by the balloon driver, but after the last\ncommit there\u0027s no reason to have separate thaw and restore callbacks.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "e47d854e57698d3be4579d2118f6057f9f12a17c",
      "tree": "7f4eb44f957135d3237a9c3b092698bd81b8d8a8",
      "parents": [
        "fa2a4519cb6ad94224eb56a1341fff570fd44ea1"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:48:19 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:50 2012 +0530"
      },
      "message": "virtio: balloon: Allow stats update after restore from S4\n\nThere\u0027s no reason stats update after restore can\u0027t work.  If a host\nrequested for stats, and before servicing the request, the guest entered\nS4, upon restore, the stats request can still be processed and sent off\nto the host.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "fa2a4519cb6ad94224eb56a1341fff570fd44ea1",
      "tree": "02f7d676a805bd1961dfb3c86a7ea40965207365",
      "parents": [
        "923f79743c76583ed4684e2c80c8da51a7268af3",
        "bde4d8b205bc3ccdf7f5a841bfbfa9896b44b1ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:40:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:40:33 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull Sam Ravnborg\u0027s sparc32 build fixes from David Miller.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc32: fix fallout from system.h removal\n"
    },
    {
      "commit": "bde4d8b205bc3ccdf7f5a841bfbfa9896b44b1ce",
      "tree": "04f98c044d3a4c31cf2c102b616e60094d858889",
      "parents": [
        "623ff7739e7c00fa3d55dbfd42a492a68298fd7a"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Fri Mar 30 15:53:50 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 30 18:16:58 2012 -0700"
      },
      "message": "sparc32: fix fallout from system.h removal\n\nBuild failures for the typical configs I use\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "923f79743c76583ed4684e2c80c8da51a7268af3",
      "tree": "e523a04c6b4cdddf70cf4adec25fa4fbbdbc5f5a",
      "parents": [
        "a7697b945e6e5025f184d6762e7285f1c498411d",
        "7f3bd6c9cb8e9fa2b57bfa860cd3e734a28f48ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:15:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:15:43 2012 -0700"
      },
      "message": "Merge branch \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild\n\nPull kbuild changes from Michal Marek:\n - Unification of cmd_uimage among archs that use it\n - make headers_check tries harder before reporting a missing\n   \u003clinux/types.h\u003e include\n - kbuild portability fix for shells that do not support echo -e\n - make clean descends into samples/\n - setlocalversion grep fix\n - modpost typo fix\n - dtc warnings fix\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:\n  setlocalversion: Use \"grep -q\" instead of piping output to \"read dummy\"\n  modpost: fix ALL_INIT_DATA_SECTIONS\n  Kbuild: centralize MKIMAGE and cmd_uimage definitions\n  headers_check: recursively search for linux/types.h inclusion\n  scripts/Kbuild.include: Fix portability problem of \"echo -e\"\n  scripts: dtc: fix compile warnings\n  kbuild: clean up samples directory\n  kbuild: disable -Wmissing-field-initializers for W\u003d1\n"
    },
    {
      "commit": "a7697b945e6e5025f184d6762e7285f1c498411d",
      "tree": "3cf6ddd963c454cbadc581c8160e560894fdb2a1",
      "parents": [
        "2b17b4382c4bcb1952e9c6953284044970a274f3",
        "354fa22fce767ac137099c8009a411bd0499816c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:14:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:14:05 2012 -0700"
      },
      "message": "Merge branch \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild\n\nPull non-critical part of kbuild from Michal Marek:\n - New semantic patches, make coccicheck M\u003d fix\n - make gtags speedup\n - make tags/TAGS always removes struct forward declarations\n - make deb-pkg fixes (some patches are still pending, I know)\n - scripts/patch-kernel fix from the last user of this script ;)\n\n* \u0027misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:\n  scripts/patch-kernel: digest kernel.org hosted .xz patches\n  scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err\n  scripts: refactor remove structure forward declarations\n  kbuild: incremental tags update for GNU Global\n  coccinelle: semantic patch for bool issues\n  coccinelle: semantic patch to check for PTR_ERR after reassignment\n  coccinelle: semantic patch converting 0 test to null test\n  coccinelle: semantic patch for missing iounmap\n  coccinelle: semantic patch for missing clk_put\n  kbuild: Fix out-of-tree build for \u0027make deb-pkg\u0027\n  kbuild: Only build linux-image package for UML\n  kbuild: Fix link to headers in \u0027make deb-pkg\u0027\n  coccicheck: change handling of C\u003d{1,2} when M\u003d is set\n"
    },
    {
      "commit": "2b17b4382c4bcb1952e9c6953284044970a274f3",
      "tree": "76999d2060412419fb9997c4efb732a8a7cc89d5",
      "parents": [
        "f558c272386a0f7507cc8de7b6b5afc24d17fa9c",
        "9875c42d6979a7db0b8d217e2a88095b753f482c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:13:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:13:17 2012 -0700"
      },
      "message": "Merge branch \u0027kconfig\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild\n\nPull kconfig bits from Michal Marek:\n \"There is one fix for make oldconfig by Arnaud and updates to the\n  merge_config.sh tool.\"\n\n* \u0027kconfig\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:\n  merge_config.sh: Add option to display redundant configs\n  merge_config.sh: Set execute bit\n  merge_config.sh: Use the first file as the initial config\n  kconfig: fix new choices being skipped upon config update\n"
    },
    {
      "commit": "f558c272386a0f7507cc8de7b6b5afc24d17fa9c",
      "tree": "5929476273509cfb26817fc1e06392e56c872e5f",
      "parents": [
        "3a0d1849432461eec1321f8918c6c13497d390c9",
        "f5cb92ac82d06cb583c1f66666314c5c0a4d7913"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull genirq updates from Thomas Gleixner.\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n  genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n  genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n  genirq: Minor readablity improvement in irq_wake_thread()\n"
    },
    {
      "commit": "3a0d1849432461eec1321f8918c6c13497d390c9",
      "tree": "694bafcc856b38ba99eb2172c8c5b061cfa0d529",
      "parents": [
        "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
        "ec0c4274e33c0373e476b73e01995c53128f1257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking updates from Thomas Gleixner.\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  futex: Mark get_robust_list as deprecated\n  futex: Do not leak robust list to unprivileged process\n"
    },
    {
      "commit": "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
      "tree": "0b7461753a1b13b27ea2958a7d48c6efb47bba54",
      "parents": [
        "c39e8ede284f469971589f2e04af78216e1a771d",
        "7b0e67f604e1829e5292e1ad7743eb18dc42ea7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6\n\nPull MTD changes from David Woodhouse:\n - Artem\u0027s cleanup of the MTD API continues apace.\n - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst\n   others.\n - More work on DiskOnChip G3, new driver for DiskOnChip G4.\n - Clean up debug/warning printks in JFFS2 to use pr_\u003clevel\u003e.\n\nFix up various trivial conflicts, largely due to changes in calling\nconventions for things like dmaengine_prep_slave_sg() (new inline\nwrapper to hide new parameter, clashing with rewrite of previously last\nparameter that used to be an \u0027append\u0027 flag, and is now a bitmap of\n\u0027unsigned long flags\u0027).\n\n(Also some header file fallout - like so many merges this merge window -\nand silly conflicts with sparse fixes)\n\n* tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6: (120 commits)\n  mtd: docg3 add protection against concurrency\n  mtd: docg3 refactor cascade floors structure\n  mtd: docg3 increase write/erase timeout\n  mtd: docg3 fix inbound calculations\n  mtd: nand: gpmi: fix function annotations\n  mtd: phram: fix section mismatch for phram_setup\n  mtd: unify initialization of erase_info-\u003efail_addr\n  mtd: support ONFI multi lun NAND\n  mtd: sm_ftl: fix typo in major number.\n  mtd: add device-tree support to spear_smi\n  mtd: spear_smi: Remove default partition information from driver\n  mtd: Add device-tree support to fsmc_nand\n  mtd: fix section mismatch for doc_probe_device\n  mtd: nand/fsmc: Remove sparse warnings and errors\n  mtd: nand/fsmc: Add DMA support\n  mtd: nand/fsmc: Access the NAND device word by word whenever possible\n  mtd: nand/fsmc: Use dev_err to report error scenario\n  mtd: nand/fsmc: Use devm routines\n  mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform\n  mtd: fsmc_nand: add pm callbacks to support hibernation\n  ...\n"
    },
    {
      "commit": "c39e8ede284f469971589f2e04af78216e1a771d",
      "tree": "1134c135c1628eb468e106f5da1dc2850089cf27",
      "parents": [
        "a335750b9a039a9d4cd727cdccacfb90fd63c4e8",
        "d3c7de52096a201ac188adb95b8351b90cab11f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:00:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:00:34 2012 -0700"
      },
      "message": "Merge tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull a few more ARM platform fixes from Olof Johansson:\n \"Apologies for back-to-back fixes pull requests, but one of the patches\n  below are the kind we\u0027ll see posted over and over if we don\u0027t send it\n  in.  I hadn\u0027t done the full sanity-check of defconfig builds by the\n  time I sent up the other fixes yesterday or I would have included it\n  then.\n\n  Two patches, one dealing with the system.h fallout, the other is a\n  missing linux/bug.h in a place where ARRAY_SIZE() is used.\"\n\n* tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:\n  ARM: clps711x: fix missing include file\n  ARM: fix builds due to missing \u003casm/system_misc.h\u003e includes\n"
    },
    {
      "commit": "a335750b9a039a9d4cd727cdccacfb90fd63c4e8",
      "tree": "8f3198984fb75fe494e771d9431f6799228623c5",
      "parents": [
        "10f3cb41d48ab30f5c754b30eea557371892b4c2",
        "d326f44e5f2204c7a24db69bfc6dd3fe5f86182b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:39 2012 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux\n\nPull ACPI \u0026 Power Management changes from Len Brown:\n - ACPI 5.0 after-ripples, ACPICA/Linux divergence cleanup\n - cpuidle evolving, more ARM use\n - thermal sub-system evolving, ditto\n - assorted other PM bits\n\nFix up conflicts in various cpuidle implementations due to ARM cpuidle\ncleanups (ARM at91 self-refresh and cpu idle code rewritten into\n\"standby\" in asm conflicting with the consolidation of cpuidle time\nkeeping), trivial SH include file context conflict and RCU tracing fixes\nin generic code.\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (77 commits)\n  ACPI throttling: fix endian bug in acpi_read_throttling_status()\n  Disable MCP limit exceeded messages from Intel IPS driver\n  ACPI video: Don\u0027t start video device until its associated input device has been allocated\n  ACPI video: Harden video bus adding.\n  ACPI: Add support for exposing BGRT data\n  ACPI: export acpi_kobj\n  ACPI: Fix logic for removing mappings in \u0027acpi_unmap\u0027\n  CPER failed to handle generic error records with multiple sections\n  ACPI: Clean redundant codes in scan.c\n  ACPI: Fix unprotected smp_processor_id() in acpi_processor_cst_has_changed()\n  ACPI: consistently use should_use_kmap()\n  PNPACPI: Fix device ref leaking in acpi_pnp_match\n  ACPI: Fix use-after-free in acpi_map_lsapic\n  ACPI: processor_driver: add missing kfree\n  ACPI, APEI: Fix incorrect APEI register bit width check and usage\n  Update documentation for parameter *notrigger* in einj.txt\n  ACPI, APEI, EINJ, new parameter to control trigger action\n  ACPI, APEI, EINJ, limit the range of einj_param\n  ACPI, APEI, Fix ERST header length check\n  cpuidle: power_usage should be declared signed integer\n  ...\n"
    },
    {
      "commit": "10f3cb41d48ab30f5c754b30eea557371892b4c2",
      "tree": "55db8e4177da00b6184f5428b4529cd59978e885",
      "parents": [
        "919c840167ec93167e00ca817aa4627170419ebf",
        "867646f246de2dd5c91c480637a4901732ea3151"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:24:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:24:38 2012 -0700"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\nPull cifs fixes from Steve French.\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  [CIFS] Update CIFS version number to 1.77\n  CIFS: Add missed forcemand mount option\n  [CIFS] Fix trivial sparse warning with asyn i/o patch\n  cifs: handle \"sloppy\" option appropriately\n  cifs: use standard token parser for mount options\n  cifs: remove /proc/fs/cifs/OplockEnabled\n  cifs: convert cifs_iovec_write to use async writes\n  cifs: call cifs_update_eof with i_lock held\n  cifs: abstract out function to marshal up the iovec array for async writes\n  cifs: fix up get_numpages\n  cifs: make cifsFileInfo_get return the cifsFileInfo pointer\n  cifs: fix allocation in cifs_write_allocate_pages\n  cifs: allow caller to specify completion op when allocating writedata\n  cifs: add pid field to cifs_writedata\n  cifs: add new cifsiod_wq workqueue\n  CIFS: Change mid_q_entry structure fields\n  CIFS: Expand CurrentMid field\n  CIFS: Separate protocol-specific code from cifs_readv_receive code\n  CIFS: Separate protocol-specific code from demultiplex code\n  CIFS: Separate protocol-specific code from transport routines\n"
    },
    {
      "commit": "919c840167ec93167e00ca817aa4627170419ebf",
      "tree": "5162f6a39541f609a949c5d75c4fdaed523d20af",
      "parents": [
        "a9d38a4f2da6c49a257253a9fdef7a6bcb0e0e4f",
        "5cdd4d7fa5424f2018193a0c2af3bef9036c973e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:09:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:09:02 2012 -0700"
      },
      "message": "Merge tag \u0027for-v3.4-rc1\u0027 of git://git.infradead.org/battery-2.6\n\nPull battery updates from Anton Vorontsov:\n \"Various small bugfixes and enhancements, plus two new drivers:\n   - A quite complex ab8500 charger driver, submitted by Arun Murthy @\n     ST-Ericsson;\n   - Summit Microelectronics SMB347 Battery Charger, submitted by Bruce\n     E Robertson and Alan Cox @ Intel.\n\n  And that\u0027s all.\"\n\n* tag \u0027for-v3.4-rc1\u0027 of git://git.infradead.org/battery-2.6: (36 commits)\n  max17042_battery: Clean up interrupt handling\n  Revert \"max8998_charger: Include linux/module.h just once\"\n  ab8500_fg: Fix some build warnings on x86_64\n  max17042_battery: Fix CHARGE_FULL representation.\n  max8998_charger: Include linux/module.h just once\n  power_supply: Convert i2c drivers to module_i2c_driver\n  lp8727_charger: Add MODULE_DEVICE_TABLE\n  charger-manager: Simplify charger_get_property(), get rid of a warning\n  charger-manager: Clean up for better readability\n  da9052-battery: Convert to use module_platform_driver\n  da9052-battery: Fix a memory leak when unload the module\n  da9052-battery: Add missing platform_set_drvdata\n  ab8500: Turn unneeded global symbols into local ones\n  ab8500_fg: Fix copy-paste error\n  ab8500_fg: Get rid of \u0027struct battery_type\u0027\n  ab8500_fg: Get rid of \u0027struct v_to_cap\u0027\n  ab8500_btemp: Get rid of \u0027enum adc_therm\u0027\n  ab8500_charger: Convert to the new USB OTG calls\n  ab8500-btemp: AB8500 battery temperature driver\n  ab8500-fg: A8500 fuel gauge driver\n  ...\n"
    },
    {
      "commit": "a9d38a4f2da6c49a257253a9fdef7a6bcb0e0e4f",
      "tree": "d97875ecd47172c8739ec8f24ea159bbee8fb628",
      "parents": [
        "9613bebb223dea3179c265dc31e1bb41ae39f321",
        "c48013824b855c4498092aa6f2fa5345962c1f65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:55 2012 -0700"
      },
      "message": "Merge branch \u0027dunlap\u0027 (Randy\u0027s Documentation patches)\n\nMerge Documentation fixes from Randy Dunlap.\n\nFixed up several small annoyances (bad changelogs and corrupted utf8\nnames), I need to try to convince people to do things right.\n\n* emailed from Randy Dunlap \u003crdunlap@xenotime.net\u003e:\n  Documentation: fix typo in ABI/stable/sysfs-driver-usb-usbtmc\n  Documentation: replace install commands with softdeps\n  Documentation: remove references to /etc/modprobe.conf\n  Documentation: input.txt: clarify mousedev \u0027cat\u0027 command syntax\n  Documentation: CodingStyle: add inline assembly guidelines\n  Documentation: sysrq: Crutcher Dunnavant is unavailable\n  Documentation: mention scripts/diffconfig tool\n  Documentation: remove \u0027mach\u0027 from dontdiff file\n"
    },
    {
      "commit": "c48013824b855c4498092aa6f2fa5345962c1f65",
      "tree": "784a2d990dd9a0de7beb0a8ad7f5bc4acfdb5d80",
      "parents": [
        "78286cdf054212c6d2fe6524fbf673fb9ead1abe"
      ],
      "author": {
        "name": "Rafal Kapela",
        "email": "raf.kapela@gmail.com",
        "time": "Fri Mar 30 13:37:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: fix typo in ABI/stable/sysfs-driver-usb-usbtmc\n\nFix \"the the\" in ABI/stable/sysfs-driver-usb-usbtmc\n\nSigned-off-by: Rafal Kapela \u003craf.kapela@gmail.com\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Greg KH \u003cgregkh@linuxfoundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78286cdf054212c6d2fe6524fbf673fb9ead1abe",
      "tree": "6eee7972b83cfb77b9efab23f32fecbdb7695b6d",
      "parents": [
        "970e2486492aa1eb47a436a5a4c81e92558986a9"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Fri Mar 30 13:37:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: replace install commands with softdeps\n\nInstall commands should not be used to specify soft dependencies among\nmodules. When loading modules it\u0027s much better to have a softdep that\nmodprobe knows what\u0027s being done than having to fork/exec another\ninstance of modprobe to load the other module.\n\nBy using a softdep user has also an option to remove the dependencies\nwhen removing the module (and if its refcount dropped to 0)\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "970e2486492aa1eb47a436a5a4c81e92558986a9",
      "tree": "5c321b58b536695b513f21b9b8d5431f0db88ac5",
      "parents": [
        "096015236df46c64be8b86e41fd4e28522e5f7e5"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Fri Mar 30 13:37:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: remove references to /etc/modprobe.conf\n\nUsage of /etc/modprobe.conf file was deprecated by module-init-tools and\nis no longer parsed by new kmod tool. References to this file are\nreplaced in Documentation, comments and Kconfig according to the\ncontext.\n\nThere are also some references to the old /etc/modules.conf from 2.4\nkernels that are being removed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nAcked-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096015236df46c64be8b86e41fd4e28522e5f7e5",
      "tree": "58f19c125d4ae620ad4bacf3e0ac7e9bcfa19338",
      "parents": [
        "9a7c48b7c3d58835b3a91d86c55e0ae77d15ddd5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Mar 30 13:37:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: input.txt: clarify mousedev \u0027cat\u0027 command syntax\n\nClarify that the \u0027cat\u0027 command does not include the (c, 13, 32)\nafter it.\n\nReported-by: Dan Jidanni Jacobson \u003cjidanni@jidanni.org\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7c48b7c3d58835b3a91d86c55e0ae77d15ddd5",
      "tree": "9a7728d24c9721d7e9e5458b7f76d565265fa9ae",
      "parents": [
        "21106b0114f75cff199d6834f676877c3edae928"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Fri Mar 30 13:37:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: CodingStyle: add inline assembly guidelines\n\nSigned-off-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21106b0114f75cff199d6834f676877c3edae928",
      "tree": "e958f46768378a9d32a73023ebeac97775c5adba",
      "parents": [
        "673d29f9a00b0c63ad3f4e2136eb4e181281fbfd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Mar 30 13:37:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:03:15 2012 -0700"
      },
      "message": "Documentation: sysrq: Crutcher Dunnavant is unavailable\n\nReported-by: Křištof Želechovski \u003cgiecrilj@stegny.2a.pl\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "673d29f9a00b0c63ad3f4e2136eb4e181281fbfd"
}
