)]}'
{
  "log": [
    {
      "commit": "8598d064cbf22b2d84c7cd8a9fcb97138baffe3f",
      "tree": "4ac83c774867460958b74416144b44004bfd05c1",
      "parents": [
        "21dbd2ce35f6d2b4aa5363be6c839cdb50644e11"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:09 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Process A2MP Discover Request\n\nAdds helper functions to count HCI devs and process A2MP Discover\nRequest, code makes sure that first controller in the list is\nBREDR one. Trace is shown below:\n\n...\n\u003e ACL data: handle 11 flags 0x02 dlen 16\n    A2MP: Discover req: mtu/mps 670 mask: 0x0000\n\u003c ACL data: handle 11 flags 0x00 dlen 22\n    A2MP: Discover rsp: mtu/mps 670 mask: 0x0000\n      Controller list:\n        id 0 type 0 (BR-EDR) status 0x01 (Bluetooth only)\n        id 1 type 1 (802.11 AMP) status 0x01 (Bluetooth only)\n...\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e7af522e04bcf68caae6802722efc5c6e8fa63a7",
      "tree": "9d15ac69259156fd5a2c751c12b9be296c82eca6",
      "parents": [
        "b9058fb67c42851b4f852d90b11f43279586aae9"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Define A2MP status codes\n\nA2MP status codes copied from Bluez patch sent by Peter Krystad\n\u003cpkrystad@codeaurora.org\u003e.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "b9058fb67c42851b4f852d90b11f43279586aae9",
      "tree": "15f68f63524738a267f10692236f77dc760a34aa",
      "parents": [
        "46d5c9088fbcc8a570bc271f77940973d9cae074"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:05 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Definitions for A2MP commands\n\nDefine A2MP command IDs and packet structures.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f6d3c6e783b0e9f75b18232f8ff8cd5dbc3f7301",
      "tree": "868a752db0c703cdb9152ada0c2e3e6f276d7545",
      "parents": [
        "9740e49d17e55f3832661fd99a8e0a17e921a82e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:03 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:12 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Build and Send msg helpers\n\nHelper function to build and send A2MP messages.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "9740e49d17e55f3832661fd99a8e0a17e921a82e",
      "tree": "865915ab8d3c13d1ff74429c84b95a0acab37ee9",
      "parents": [
        "466f8004f364e9cb46d9124109972489eccfb404"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:02 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: AMP Manager basic functions\n\nDefine AMP Manager and some basic functions.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "466f8004f364e9cb46d9124109972489eccfb404",
      "tree": "100233272787a891de4022eca15ba5c414719b2c",
      "parents": [
        "0181a70f549bd1683d18a5a1d79ac25bcdb76570"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Tue May 29 13:59:01 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: A2MP: Create A2MP channel\n\nCreate and initialize fixed A2MP channel\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "54a59aa2b562872781d6a8fc89f300d360941691",
      "tree": "b2414b9803565ee9e252ccfefb54c98af762ab43",
      "parents": [
        "c0df7f6e06e1aeccee39c801af7f78cadeb9f345"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:53 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:11 2012 +0300"
      },
      "message": "Bluetooth: Add l2cap_chan-\u003eops-\u003eready()\n\nThis move socket specific code to l2cap_sock.c.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c0df7f6e06e1aeccee39c801af7f78cadeb9f345",
      "tree": "e5dbd0ee76df7d761c6315cc07ab5df4fa861cc4",
      "parents": [
        "80b980279508edd1a92d8d77ec99b0ddad00c5fe"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Sun May 27 22:27:52 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Move clean up code and set of SOCK_ZAPPED to l2cap_sock.c\n\nThis remove a bit more of socket code from l2cap core, this calls set the\nSOCK_ZAPPED and do some clean up depending on the socket state.\n\nReported-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "80b980279508edd1a92d8d77ec99b0ddad00c5fe",
      "tree": "28ef9be0b618f37c3fc2b08c1114748517c3fe4a",
      "parents": [
        "3df92b31b2b593c5a067634ef2c30e76b2b2548d"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Sun May 27 22:27:51 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:10 2012 +0300"
      },
      "message": "Bluetooth: Use chan as parameters for l2cap chan ops\n\nUse chan instead of void * makes more sense here.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "523e93cdb39086b25af2ed19d2a69248510727a2",
      "tree": "bbb4418df21d8893f7b71b7d9788342ddb8b62e2",
      "parents": [
        "82781e634f815e9a675ef643a5e11da0cf77ce0e"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Fri May 25 15:09:26 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define HCI AMP cmd struct\n\nAdd HCI commands to deal with Bluetooth AMP controllers.\nThose commands will be used by bluetooth and softamp code.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "2983fd682444180e45567ce8147a612b97ba69da",
      "tree": "57ebc25eb8b0cc854256b50476276b9cb4515ce6",
      "parents": [
        "6d3c730f03e0d1aed2125c1a64ad8857c63f5163"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Thu May 24 15:42:50 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:09 2012 +0300"
      },
      "message": "Bluetooth: Define and use PSM identifiers\n\nDefine assigned Protocol and Service Multiplexor (PSM) identifiers\nand use them instead of magic numbers.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "59e54bd15d63f102c71c3ce695bca5ed90926e46",
      "tree": "0a647bce50d563cc4a8fda6007eda7fd6b29e642",
      "parents": [
        "8449e381a8558fb1d911017ea26bae681fea4240"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 15:44:06 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Define L2CAP conf continuation flag\n\nDefine Continuation flag which the only flag used from Flags field\nin L2CAP Configuration Request and Response.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "8c520a59927a5600973782505dbb750d985057c4",
      "tree": "5ef3689e889285c5cf15a7b92ab8f0cf73ff7259",
      "parents": [
        "8fc9ced398824739d3c25c8aa7f6f34d8e7a49d9"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:22 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Remove unnecessary headers include\n\nMost of the include were unnecessary or already included by some other\nheader.\nReplace module.h by export.h where possible.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "c3c7ea65941a0b7a4f1b9655e7aaaab6ce1874d2",
      "tree": "09643091d66605256524b9c601cd08edf01a4a26",
      "parents": [
        "fc5fef615a963c8b13abf0bbc2a8e8d7c3fd1ffb"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Wed May 23 04:04:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:08 2012 +0300"
      },
      "message": "Bluetooth: Fix coding style in include/net/bluetooth\n\nFix all warning and errors reported by checkpatch but license trailing\nwhitespace and bdaddr_t definition.\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9b3b44604ac8e06d299718c5d0fa0b91b675ae0b",
      "tree": "b079fbe2b97d297f19c5d4c24560169157ac3db9",
      "parents": [
        "a6c511c636848f871f5b7aef38e25e5b894b3b48"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Wed May 23 11:31:20 2012 +0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Use defined link key size\n\nRemove magic number with defined link key size.\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a6c511c636848f871f5b7aef38e25e5b894b3b48",
      "tree": "847b421858d21575ff61c02c83e92497d97b92d5",
      "parents": [
        "38351c66e407e610283e5332b819822055db473c"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@tieto.com",
        "time": "Wed May 23 12:35:46 2012 +0200"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Rename HCI_QUIRK_NO_RESET to HCI_QUIRK_RESET_ON_CLOSE\n\nHCI_QUIRK_NO_RESET name is misleading - purpose of this quirk is to\nreset device on close instead of init, not to not reset at all.\nRename it to HCI_QUIRK_RESET_ON_CLOSE to avoid confusion.\n\nSigned-off-by: Szymon Janc \u003cszymon.janc@tieto.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "38351c66e407e610283e5332b819822055db473c",
      "tree": "292d546e7f179e6214297152239f61c5418c589f",
      "parents": [
        "d660366d53119fbd988e1b1d6ea2c00358a8e688"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Tue May 22 19:00:20 2012 -0300"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:06 2012 +0300"
      },
      "message": "Bluetooth: Fix trailing whitespaces in license text\n\nAs reported by checkpatch.pl\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "522cc2ee6e55ba49f4df338e0dfcfb989b46eb8c",
      "tree": "9268f0b5059002acb16a5e00889389d0603fb491",
      "parents": [
        "273759e2c3bd69efe74799c446df69d9ea5ca418"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:54 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:05 2012 +0300"
      },
      "message": "Bluetooth: Remove unused ERTM control field macros\n\nNow that l2cap_ctrl is used to set up control fields, these macros are\nnot needed.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "4239d16f360ce4c8a1798508dd171ebce93985ba",
      "tree": "0f9afa1c2a3c946a4c21d136fd157f5e7b94d53c",
      "parents": [
        "c9e3d5e00408c96f82b88a8de5d54f7a1343b110"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:49 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:04 2012 +0300"
      },
      "message": "Bluetooth: Check rules when setting retransmit or monitor timers\n\nThe ERTM specification requires the retransmit timer to be cancelled\nwhen the monitor timer is set.  The retransmit timer cannot be set\nagain while the monitor timer is pending.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f5dbb0772df3feb2bb5eda8a9f0e0acdeb25653f",
      "tree": "f533909d89af56e6abd9cf1a4ab95a8791162372",
      "parents": [
        "4b51dae96731c9d82f5634e75ac7ffd3b9c1b060"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 20:53:38 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:03 2012 +0300"
      },
      "message": "Bluetooth: Remove receive code that has been superceded\n\nThis deletes the receive code that had handlers for each frame type at\nthe top level, and then had logic to determine the receive state\nwithin each handler.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2827011f666e157f3307d55070a75e1d1110b194",
      "tree": "5f1fc5b4d102a641cd1c84183440a841540fb6eb",
      "parents": [
        "9dc9affcb776b75f6d3e5d69d6e2a679407854f1"
      ],
      "author": {
        "name": "Mat Martineau",
        "email": "mathewm@codeaurora.org",
        "time": "Thu May 17 21:14:09 2012 -0700"
      },
      "committer": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Tue Jun 05 06:34:02 2012 +0300"
      },
      "message": "Bluetooth: Fix early return from l2cap_chan_del\n\nThis fixes a regression from commit\n2ead70b8390d199ca04cd35311b51f5f3676079e that is present in all\nkernels starting at v3.0.\n\nWhen L2CAP information was moved to struct l2cap_chan, a check was\nadded to l2cap_chan_del to avoid certain cleanup operations when ERTM\nor streaming mode had not yet been initialized.  The logic in the\ncheck did not take in to account that chan-\u003econf_state is set to 0 in\nl2cap_chan_ready, so l2cap_chan_del failed to cancel timers and leaked\nmemory any time the ERTM queues or lists were not empty.\n\nThis change makes sure that l2cap_chan_del only returns early if\nERTM initialization was not performed.\n\nSigned-off-by: Mat Martineau \u003cmathewm@codeaurora.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4fc3acf2918fa158dc651a0c824a23944e956919",
      "tree": "3258f1037ee45c3799d12805d78679e41fdc98c9",
      "parents": [
        "63004afa718b1506fe9a286075b3b2d8c6ca2b9b",
        "9ca3cc6f3026946ba655e863ca2096339e667639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n\n 1) Make syn floods consume significantly less resources by\n\n    a) Not pre-COW\u0027ing routing metrics for SYN/ACKs\n    b) Mirroring the device queue mapping of the SYN for the SYN/ACK\n       reply.\n\n    Both from Eric Dumazet.\n\n 2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.\n\n 3) Validate the length requested when building a paged SKB for a\n    socket, so we don\u0027t overrun the page vector accidently.  From Jason\n    Wang.\n\n 4) When netlabel is disabled, we abort all IP option processing when we\n    see a CIPSO option.  This isn\u0027t the right thing to do, we should\n    simply skip over it and continue processing the remaining options\n    (if any).  Fix from Paul Moore.\n\n 5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel\n    Apfelbaum.\n\n 6) 8139cp enables the receiver before the ring address is properly\n    programmed, which potentially lets the device crap over random\n    memory.  Fix from Jason Wang.\n\n 7) e1000/e1000e fixes for i217 RST handling, and an improper buffer\n    address reference in jumbo RX frame processing from Bruce Allan and\n    Sebastian Andrzej Siewior, respectively.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  fec_mpc52xx: fix timestamp filtering\n  mcs7830: Implement link state detection\n  e1000e: fix Rapid Start Technology support for i217\n  e1000: look into the page instead of skb-\u003edata for e1000_tbi_adjust_stats()\n  r8169: call netif_napi_del at errpaths and at driver unload\n  tcp: reflect SYN queue_mapping into SYNACK packets\n  tcp: do not create inetpeer on SYNACK message\n  8139cp/8139too: terminate the eeprom access with the right opmode\n  8139cp: set ring address before enabling receiver\n  cipso: handle CIPSO options correctly when NetLabel is disabled\n  net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()\n  bql: Avoid possible inconsistent calculation.\n  bql: Avoid unneeded limit decrement.\n  bql: Fix POSDIFF() to integer overflow aware.\n  net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP\n  net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap\n  net/mlx4_core: Fixes for VF / Guest startup flow\n  net/mlx4_en: Fix improper use of \"port\" parameter in mlx4_en_event\n  net/mlx4_core: Fix number of EQs used in ICM initialisation\n  net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int\n"
    },
    {
      "commit": "f309532bf3e1cc1b787403d84e3039812a7dbe50",
      "tree": "6508ac81e94bfc137d1d9a55b973a2e0e0ac007b",
      "parents": [
        "233e562eac549f4f719176bbddeb50c3f17a9c8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "message": "tty: Revert the tty locking series, it needs more work\n\nThis reverts the tty layer change to use per-tty locking, because it\u0027s\nnot correct yet, and fixing it will require some more deep surgery.\n\nThe main revert is d29f3ef39be4 (\"tty_lock: Localise the lock\"), but\nthere are several smaller commits that built upon it, they also get\nreverted here. The list of reverted commits is:\n\n  fde86d310886 - tty: add lockdep annotations\n  8f6576ad476b - tty: fix ldisc lock inversion trace\n  d3ca8b64b97e - pty: Fix lock inversion\n  b1d679afd766 - tty: drop the pty lock during hangup\n  abcefe5fc357 - tty/amiserial: Add missing argument for tty_unlock()\n  fd11b42e3598 - cris: fix missing tty arg in wait_event_interruptible_tty call\n  d29f3ef39be4 - tty_lock: Localise the lock\n\nThe revert had a trivial conflict in the 68360serial.c staging driver\nthat got removed in the meantime.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "804ce9866d56130032c9c8afc90a1297b7deed56",
      "tree": "6dd70984f411d2a3624d3f8db7facc3d6396b9ad",
      "parents": [
        "f5e7e844a571124ffc117d4696787d6afc4fc5ae",
        "c895305e806b4346006d3cfba2b432d52268ecd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:57:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:57:51 2012 -0700"
      },
      "message": "Merge tag \u0027fbdev-updates-for-3.5\u0027 of git://github.com/schandinat/linux-2.6\n\nPull fbdev updates from Florian Tobias Schandinat:\n - driver for AUO-K1900 and AUO-K1901 epaper controller\n - large updates for OMAP (e.g. decouple HDMI audio and video)\n - some updates for Exynos and SH Mobile\n - various other small fixes and cleanups\n\n* tag \u0027fbdev-updates-for-3.5\u0027 of git://github.com/schandinat/linux-2.6: (130 commits)\n  video: bfin_adv7393fb: Fix cleanup code\n  video: exynos_dp: reduce delay time when configuring video setting\n  video: exynos_dp: move sw reset prioir to enabling sw defined function\n  video: exynos_dp: use devm_ functions\n  fb: handle NULL pointers in framebuffer release\n  OMAPDSS: HDMI: OMAP4: Update IRQ flags for the HPD IRQ request\n  OMAPDSS: Apply VENC timings even if panel is disabled\n  OMAPDSS: VENC/DISPC: Delay dividing Y resolution for managers connected to VENC\n  OMAPDSS: DISPC: Support rotation through TILER\n  OMAPDSS: VRFB: remove compiler warnings when CONFIG_BUG\u003dn\n  OMAPFB: remove compiler warnings when CONFIG_BUG\u003dn\n  OMAPDSS: remove compiler warnings when CONFIG_BUG\u003dn\n  OMAPDSS: DISPC: fix usage of dispc_ovl_set_accu_uv\n  OMAPDSS: use DSI_FIFO_BUG workaround only for manual update displays\n  OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods\n  OMAPDSS: DISPC: Update Accumulator configuration for chroma plane\n  drivers/video: fsl-diu-fb: don\u0027t initialize the THRESHOLDS registers\n  video: exynos mipi dsi: support reverse panel type\n  video: exynos mipi dsi: Properly interpret the interrupt source flags\n  video: exynos mipi dsi: Avoid races in probe()\n  ...\n"
    },
    {
      "commit": "f5e7e844a571124ffc117d4696787d6afc4fc5ae",
      "tree": "26bb17dc94e9536da540c187b00cedb0c1b24664",
      "parents": [
        "48445159e9ecb44a96a4de06c6ae7c54eb43ba5b",
        "4a43faf54e9173b6acce37cf7f053fc9515a2cdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:55:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 16:55:42 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.5-20120601\u0027 of git://git.infradead.org/linux-mtd\n\nPull mtd update from David Woodhouse:\n - More robust parsing especially of xattr data in JFFS2\n - Updates to mxc_nand and gpmi drivers to support new boards and device tree\n - Improve consistency of information about ECC strength in NAND devices\n - Clean up partition handling of plat_nand\n - Support NAND drivers without dedicated access to OOB area\n - BCH hardware ECC support for OMAP\n - Other fixes and cleanups, and a few new device IDs\n\nFixed trivial conflict in drivers/mtd/nand/gpmi-nand/gpmi-nand.c due to\nadded include files next to each other.\n\n* tag \u0027for-linus-3.5-20120601\u0027 of git://git.infradead.org/linux-mtd: (75 commits)\n  mtd: mxc_nand: move ecc strengh setup before nand_scan_tail\n  mtd: block2mtd: fix recursive call of mtd_writev\n  mtd: gpmi-nand: define ecc.strength\n  mtd: of_parts: fix breakage in Kconfig\n  mtd: nand: fix scan_read_raw_oob\n  mtd: docg3 fix in-middle of blocks reads\n  mtd: cfi_cmdset_0002: Slight cleanup of fixup messages\n  mtd: add fixup for S29NS512P NOR flash.\n  jffs2: allow to complete xattr integrity check on first GC scan\n  jffs2: allow to discriminate between recoverable and non-recoverable errors\n  mtd: nand: omap: add support for hardware BCH ecc\n  ARM: OMAP3: gpmc: add BCH ecc api and modes\n  mtd: nand: check the return code of \u0027read_oob/read_oob_raw\u0027\n  mtd: nand: remove \u0027sndcmd\u0027 parameter of \u0027read_oob/read_oob_raw\u0027\n  mtd: m25p80: Add support for Winbond W25Q80BW\n  jffs2: get rid of jffs2_sync_super\n  jffs2: remove unnecessary GC pass on sync\n  jffs2: remove unnecessary GC pass on umount\n  jffs2: remove lock_super\n  mtd: gpmi: add gpmi support for mx6q\n  ...\n"
    },
    {
      "commit": "86c47b70f62a7072d441ba212aab33c2f82627c2",
      "tree": "d03988bd2226966352bb7f3c2e82ff545353d2c4",
      "parents": [
        "1193755ac6328ad240ba987e6ec41d5e8baf0680",
        "44fbbb3dc687c9709a6f2236197316e5c79ab1eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull third pile of signal handling patches from Al Viro:\n \"This time it\u0027s mostly helpers and conversions to them; there\u0027s a lot\n  of stuff remaining in the tree, but that\u0027ll either go in -rc2\n  (isolated bug fixes, ideally via arch maintainers\u0027 trees) or will sit\n  there until the next cycle.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  x86: get rid of calling do_notify_resume() when returning to kernel mode\n  blackfin: check __get_user() return value\n  whack-a-mole with TIF_FREEZE\n  FRV: Optimise the system call exit path in entry.S [ver #2]\n  FRV: Shrink TIF_WORK_MASK [ver #2]\n  FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions\n  new helper: signal_delivered()\n  powerpc: get rid of restore_sigmask()\n  most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n  set_restore_sigmask() is never called without SIGPENDING (and never should be)\n  TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set\n  don\u0027t call try_to_freeze() from do_signal()\n  pull clearing RESTORE_SIGMASK into block_sigmask()\n  sh64: failure to build sigframe !\u003d signal without handler\n  openrisc: tracehook_signal_handler() is supposed to be called on success\n  new helper: sigmask_to_save()\n  new helper: restore_saved_sigmask()\n  new helpers: {clear,test,test_and_clear}_restore_sigmask()\n  HAVE_RESTORE_SIGMASK is defined on all architectures now\n"
    },
    {
      "commit": "20e2a86485967c385d7c7befc1646e4d1d39362e",
      "tree": "e08d5d8dd133a8548e9f5dd0f85e69241ec1e176",
      "parents": [
        "cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "pmoore@redhat.com",
        "time": "Fri Jun 01 05:54:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 01 14:18:29 2012 -0400"
      },
      "message": "cipso: handle CIPSO options correctly when NetLabel is disabled\n\nWhen NetLabel is not enabled, e.g. CONFIG_NETLABEL\u003dn, and the system\nreceives a CIPSO tagged packet it is dropped (cipso_v4_validate()\nreturns non-zero).  In most cases this is the correct and desired\nbehavior, however, in the case where we are simply forwarding the\ntraffic, e.g. acting as a network bridge, this becomes a problem.\n\nThis patch fixes the forwarding problem by providing the basic CIPSO\nvalidation code directly in ip_options_compile() without the need for\nthe NetLabel or CIPSO code.  The new validation code can not perform\nany of the CIPSO option label/value verification that\ncipso_v4_validate() does, but it can verify the basic CIPSO option\nformat.\n\nThe behavior when NetLabel is enabled is unchanged.\n\nSigned-off-by: Paul Moore \u003cpmoore@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "4edebed86690eb8db9af3ab85baf4a34e73266cc",
      "tree": "8ab144b08f490f239fa62be52470860c9311664d",
      "parents": [
        "51eab603f5c86dd1eae4c525df3e7f7eeab401d6",
        "5e44f8c374dc4f8eadf61cd18b2c0d46bc87c1b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:12:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:12:15 2012 -0700"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull Ext4 updates from Theodore Ts\u0027o:\n \"The major new feature added in this update is Darrick J Wong\u0027s\n  metadata checksum feature, which adds crc32 checksums to ext4\u0027s\n  metadata fields.\n\n  There is also the usual set of cleanups and bug fixes.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)\n  ext4: hole-punch use truncate_pagecache_range\n  jbd2: use kmem_cache_zalloc wrapper instead of flag\n  ext4: remove mb_groups before tearing down the buddy_cache\n  ext4: add ext4_mb_unload_buddy in the error path\n  ext4: don\u0027t trash state flags in EXT4_IOC_SETFLAGS\n  ext4: let getattr report the right blocks in delalloc+bigalloc\n  ext4: add missing save_error_info() to ext4_error()\n  ext4: add debugging trigger for ext4_error()\n  ext4: protect group inode free counting with group lock\n  ext4: use consistent ssize_t type in ext4_file_write()\n  ext4: fix format flag in ext4_ext_binsearch_idx()\n  ext4: cleanup in ext4_discard_allocated_blocks()\n  ext4: return ENOMEM when mounts fail due to lack of memory\n  ext4: remove redundundant \"(char *) bh-\u003eb_data\" casts\n  ext4: disallow hard-linked directory in ext4_lookup\n  ext4: fix potential integer overflow in alloc_flex_gd()\n  ext4: remove needs_recovery in ext4_mb_init()\n  ext4: force ro mount if ext4_setup_super() fails\n  ext4: fix potential NULL dereference in ext4_free_inodes_counts()\n  ext4/jbd2: add metadata checksumming to the list of supported features\n  ...\n"
    },
    {
      "commit": "efee984c27b67e3ebef40410f35671997441b57c",
      "tree": "53457dba2338f853d34e1754e7f7f960e4a29482",
      "parents": [
        "17440f171e28e86cc21a4c8fd1fa3c561503f80e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 28 02:04:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:52 2012 -0400"
      },
      "message": "new helper: signal_delivered()\n\nDoes block_sigmask() + tracehook_signal_handler();  called when\nsigframe has been successfully built.  All architectures converted\nto it; block_sigmask() itself is gone now (merged into this one).\n\nI\u0027m still not too happy with the signature, but that\u0027s a separate\nstory (IMO we need a structure that would contain signal number +\nsiginfo + k_sigaction, so that get_signal_to_deliver() would fill one,\nsignal_delivered(), handle_signal() and probably setup...frame() -\ntake one).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "77097ae503b170120ab66dd1d547f8577193f91f",
      "tree": "bee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5",
      "parents": [
        "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:58:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:51 2012 -0400"
      },
      "message": "most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n\nOnly 3 out of 63 do not.  Renamed the current variant to __set_current_blocked(),\nadded set_current_blocked() that will exclude unblockable signals, switched\nopen-coded instances to it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5",
      "tree": "a36c599628574280999af2d1e7bfe2a4a6969164",
      "parents": [
        "6fd84c0831ec78d98736b76dc5e9b849f1dbfc9e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:42:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:50 2012 -0400"
      },
      "message": "set_restore_sigmask() is never called without SIGPENDING (and never should be)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b7f9a11a6cf1ea9ee6be3eb2b90d91327a09ad14",
      "tree": "7d5a5f469aea8ac2b3e1ab41e05a6abafcb2b694",
      "parents": [
        "51a7b448d4134e3e8eec633435e3e8faee14a828"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 02 09:59:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:48 2012 -0400"
      },
      "message": "new helper: sigmask_to_save()\n\nreplace boilerplate \"should we use -\u003esaved_sigmask or -\u003eblocked?\"\nwith calls of obvious inlined helper...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51a7b448d4134e3e8eec633435e3e8faee14a828",
      "tree": "8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3",
      "parents": [
        "4ebefe3ec729003443daf153ed6fad1739271283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:33:55 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helper: restore_saved_sigmask()\n\nfirst fruits of ..._restore_sigmask() helpers: now we can take\nboilerplate \"signal didn\u0027t have a handler, clear RESTORE_SIGMASK\nand restore the blocked mask from -\u003esaved_mask\" into a common\nhelper.  Open-coded instances switched...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ebefe3ec729003443daf153ed6fad1739271283",
      "tree": "cea05e7086314d200886fd3b76867e8fb5e6574b",
      "parents": [
        "754421c8cab1a568be844a7069fe04c1cf6391b8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 22:29:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helpers: {clear,test,test_and_clear}_restore_sigmask()\n\nhelpers parallel to set_restore_sigmask(), used in the next commits\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "754421c8cab1a568be844a7069fe04c1cf6391b8",
      "tree": "71fa1f54e664ff45289fccfa946747a18e20727f",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 18:31:00 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:46 2012 -0400"
      },
      "message": "HAVE_RESTORE_SIGMASK is defined on all architectures now\n\nEveryone either defines it in arch thread_info.h or has TIF_RESTORE_SIGMASK\nand picks default set_restore_sigmask() in linux/thread_info.h.  Kill the\nifdefs, slap #error in linux/thread_info.h to catch breakage when new ones\nget merged.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "16b1c1cd71176ab0a76b26818fbf12db9183ed57",
      "tree": "da4ab8077cc3d9dce5b6ec2d003074cba3841446",
      "parents": [
        "50ee93afcaa970620d1fb5a9894109a2ab152868"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 21 17:30:19 2012 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:12:01 2012 -0400"
      },
      "message": "vfs: retry last component if opening stale dentry\n\nNFS optimizes away d_revalidates for last component of open.  This means that\nopen itself can find the dentry stale.\n\nThis patch allows the filesystem to return EOPENSTALE and the VFS will retry the\nlookup on just the last component if possible.\n\nIf the lookup was done using RCU mode, including the last component, then this\nis not possible since the parent dentry is lost.  In this case fall back to\nnon-RCU lookup.  Currently this is not used since NFS will always leave RCU\nmode.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c3b2da314834499f34cba94f7053e55f6d6f92d8",
      "tree": "7012b569ee9e0781761a8eb388190979441583c7",
      "parents": [
        "033369d1af1264abc23bea2e174aa47cdd212f6f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Mar 26 09:59:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:07:25 2012 -0400"
      },
      "message": "fs: introduce inode operation -\u003eupdate_time\n\nBtrfs has to make sure we have space to allocate new blocks in order to modify\nthe inode, so updating time can fail.  We\u0027ve gotten around this by having our\nown file_update_time but this is kind of a pain, and Christoph has indicated he\nwould like to make xfs do something different with atime updates.  So introduce\n-\u003eupdate_time, where we will deal with i_version an a/m/c time updates and\nindicate which changes need to be made.  The normal version just does what it\nhas always done, updates the time and marks the inode dirty, and then\nfilesystems can choose to do something different.\n\nI\u0027ve gone through all of the users of file_update_time and made them check for\nerrors with the exception of the fault code since it\u0027s complicated and I wasn\u0027t\nquite sure what to do there, also Jan is going to be pushing the file time\nupdates into page_mkwrite for those who have it so that should satisfy btrfs and\nmake it not a big deal to check the file_update_time() return code in the\ngeneric fault path. Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "419f4319495043a9507ac3e616be9ca60af09744",
      "tree": "0f747d80d11a6d4cd726ad6556839d5cd40b23ac",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c",
        "6eccece90b6addf80ef9e6db79b0bc873301034b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull the rest of the nfsd commits from Bruce Fields:\n \"... and then I cherry-picked the remainder of the patches from the\n  head of my previous branch\"\n\nThis is the rest of the original nfsd branch, rebased without the\ndelegation stuff that I thought really needed to be redone.\n\nI don\u0027t like rebasing things like this in general, but in this situation\nthis was the lesser of two evils.\n\n* \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux: (50 commits)\n  nfsd4: fix, consolidate client_has_state\n  nfsd4: don\u0027t remove rebooted client record until confirmation\n  nfsd4: remove some dprintk\u0027s and a comment\n  nfsd4: return \"real\" sequence id in confirmed case\n  nfsd4: fix exchange_id to return confirm flag\n  nfsd4: clarify that renewing expired client is a bug\n  nfsd4: simpler ordering of setclientid_confirm checks\n  nfsd4: setclientid: remove pointless assignment\n  nfsd4: fix error return in non-matching-creds case\n  nfsd4: fix setclientid_confirm same_cred check\n  nfsd4: merge 3 setclientid cases to 2\n  nfsd4: pull out common code from setclientid cases\n  nfsd4: merge last two setclientid cases\n  nfsd4: setclientid/confirm comment cleanup\n  nfsd4: setclientid remove unnecessary terms from a logical expression\n  nfsd4: move rq_flavor into svc_cred\n  nfsd4: stricter cred comparison for setclientid/exchange_id\n  nfsd4: move principal name into svc_cred\n  nfsd4: allow removing clients not holding state\n  nfsd4: rearrange exchange_id logic to simplify\n  ...\n"
    },
    {
      "commit": "e3fc629d7bb70848fbf479688a66d4e76dff46ac",
      "tree": "96b6d5ffdb1c643fb28807a635e6ca4e24964034",
      "parents": [
        "98de59bfe4b2ff6344d9ad8e5296f80de5dcc5b6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 20:08:42 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 10:37:17 2012 -0400"
      },
      "message": "switch aio and shm to do_mmap_pgoff(), make do_mmap() static\n\nafter all, 0 bytes and 0 pages is the same thing...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8b3ec6814c83d76b85bd13badc48552836c24839",
      "tree": "2430a4511c7ea41f67b0d841f4c42eac43828db3",
      "parents": [
        "e5467859f7f79b69fc49004403009dfdba3bec53"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 17:11:23 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 10:37:01 2012 -0400"
      },
      "message": "take security_mmap_file() outside of -\u003emmap_sem\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb21affa49204acd409328415b49bfe90136653c",
      "tree": "3535dbe0c0aad049a38cadfcffe78409397a1b32",
      "parents": [
        "a00b6151a2ae4c52576c35d3998e144a993d50b8",
        "f23ca335462e3c84f13270b9e65f83936068ec2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull second pile of signal handling patches from Al Viro:\n \"This one is just task_work_add() series + remaining prereqs for it.\n\n  There probably will be another pull request from that tree this\n  cycle - at least for helpers, to get them out of the way for per-arch\n  fixes remaining in the tree.\"\n\nFix trivial conflict in kernel/irq/manage.c: the merge of Andrew\u0027s pile\nhad brought in commit 97fd75b7b8e0 (\"kernel/irq/manage.c: use the\npr_foo() infrastructure to prefix printks\") which changed one of the\npr_err() calls that this merge moves around.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  keys: kill task_struct-\u003ereplacement_session_keyring\n  keys: kill the dummy key_replace_session_keyring()\n  keys: change keyctl_session_to_parent() to use task_work_add()\n  genirq: reimplement exit_irq_thread() hook via task_work_add()\n  task_work_add: generic process-context callbacks\n  avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers\n  parisc: need to check NOTIFY_RESUME when exiting from syscall\n  move key_repace_session_keyring() into tracehook_notify_resume()\n  TIF_NOTIFY_RESUME is defined on all targets now\n"
    },
    {
      "commit": "a00b6151a2ae4c52576c35d3998e144a993d50b8",
      "tree": "fc312be05c4deb4dead7a6afa09e88017d3a0146",
      "parents": [
        "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
        "b108fe6b08f3f61c2c465649b20b7d4b4c185728"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields.\n\n* \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux: (23 commits)\n  nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek\n  SUNRPC: split upcall function to extract reusable parts\n  nfsd: allocate id-to-name and name-to-id caches in per-net operations.\n  nfsd: make name-to-id cache allocated per network namespace context\n  nfsd: make id-to-name cache allocated per network namespace context\n  nfsd: pass network context to idmap init/exit functions\n  nfsd: allocate export and expkey caches in per-net operations.\n  nfsd: make expkey cache allocated per network namespace context\n  nfsd: make export cache allocated per network namespace context\n  nfsd: pass pointer to export cache down to stack wherever possible.\n  nfsd: pass network context to export caches init/shutdown routines\n  Lockd: pass network namespace to creation and destruction routines\n  NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches\n  nfsd: pass pointer to expkey cache down to stack wherever possible.\n  nfsd: use hash table from cache detail in nfsd export seq ops\n  nfsd: pass svc_export_cache pointer as private data to \"exports\" seq file ops\n  nfsd: use exp_put() for svc_export_cache put\n  nfsd: use cache detail pointer from svc_export structure on cache put\n  nfsd: add link to owner cache detail to svc_export structure\n  nfsd: use passed cache_detail pointer expkey_parse()\n  ...\n"
    },
    {
      "commit": "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
      "tree": "18906149d313d25914160aca21cedf54b3a7e818",
      "parents": [
        "9fdadb2cbaf4b482dfd6086e8bd3d2db071a1702",
        "0a4dd35c67b144d8ef9432120105f1aab9293ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc patches from Andrew Morton:\n\n - the \"misc\" tree - stuff from all over the map\n\n - checkpatch updates\n\n - fatfs\n\n - kmod changes\n\n - procfs\n\n - cpumask\n\n - UML\n\n - kexec\n\n - mqueue\n\n - rapidio\n\n - pidns\n\n - some checkpoint-restore feature work.  Reluctantly.  Most of it\n   delayed a release.  I\u0027m still rather worried that we don\u0027t have a\n   clear roadmap to completion for this work.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (78 patches)\n  kconfig: update compression algorithm info\n  c/r: prctl: add ability to set new mm_struct::exe_file\n  c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n  c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat\n  syscalls, x86: add __NR_kcmp syscall\n  fs, proc: introduce /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry\n  sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE\n  aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n  eventfd: change int to __u64 in eventfd_signal()\n  fs/nls: add Apple NLS\n  pidns: make killed children autoreap\n  pidns: use task_active_pid_ns in do_notify_parent\n  rapidio/tsi721: add DMA engine support\n  rapidio: add DMA engine support for RIO data transfers\n  ipc/mqueue: add rbtree node caching support\n  tools/selftests: add mq_perf_tests\n  ipc/mqueue: strengthen checks on mqueue creation\n  ipc/mqueue: correct mq_attr_ok test\n  ipc/mqueue: improve performance of send/recv\n  selftests: add mq_open_tests\n  ...\n"
    },
    {
      "commit": "b32dfe377102ce668775f8b6b1461f7ad428f8b6",
      "tree": "f89be6bd34eb757c471f3ca506e0ce92224f9bc5",
      "parents": [
        "fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "c/r: prctl: add ability to set new mm_struct::exe_file\n\nWhen we do restore we would like to have a way to setup a former\nmm_struct::exe_file so that /proc/pid/exe would point to the original\nexecutable file a process had at checkpoint time.\n\nFor this the PR_SET_MM_EXE_FILE code is introduced.  This option takes a\nfile descriptor which will be set as a source for new /proc/$pid/exe\nsymlink.\n\nNote it allows to change /proc/$pid/exe if there are no VM_EXECUTABLE\nvmas present for current process, simply because this feature is a special\nto C/R and mm::num_exe_file_vmas become meaningless after that.\n\nTo minimize the amount of transition the /proc/pid/exe symlink might have,\nthis feature is implemented in one-shot manner.  Thus once changed the\nsymlink can\u0027t be changed again.  This should help sysadmins to monitor the\nsymlinks over all process running in a system.\n\nIn particular one could make a snapshot of processes and ring alarm if\nthere unexpected changes of /proc/pid/exe\u0027s in a system.\n\nNote -- this feature is available iif CONFIG_CHECKPOINT_RESTORE is set and\nthe caller must have CAP_SYS_RESOURCE capability granted, otherwise the\nrequest to change symlink will be rejected.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7",
      "tree": "3ddb0013465d7cd09ef6bc2fab18cb59055a309b",
      "parents": [
        "5b172087f99189416d5f47fd7ab5e6fb762a9ba3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n\nDuring checkpoint we dump whole process memory to a file and the dump\nincludes process stack memory.  But among stack data itself, the stack\ncarries additional parameters such as command line arguments, environment\ndata and auxiliary vector.\n\nSo when we do restore procedure and once we\u0027ve restored stack data itself\nwe need to setup mm_struct::arg_start/end, env_start/end, so restored\nprocess would be able to find command line arguments and environment data\nit had at checkpoint time.  The same applies to auxiliary vector.\n\nFor this reason additional PR_SET_MM_(ARG_START | ARG_END | ENV_START |\nENV_END | AUXV) codes are introduced.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d97b46a64674a267bc41c9e16132ee2a98c3347d",
      "tree": "316f77d212c84aef226684eb05d5d33f40743ac9",
      "parents": [
        "818411616baf46ceba0cff6f05af3a9b294734f7"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "syscalls, x86: add __NR_kcmp syscall\n\nWhile doing the checkpoint-restore in the user space one need to determine\nwhether various kernel objects (like mm_struct-s of file_struct-s) are\nshared between tasks and restore this state.\n\nThe 2nd step can be solved by using appropriate CLONE_ flags and the\nunshare syscall, while there\u0027s currently no ways for solving the 1st one.\n\nOne of the ways for checking whether two tasks share e.g.  mm_struct is to\nprovide some mm_struct ID of a task to its proc file, but showing such\ninfo considered to be not that good for security reasons.\n\nThus after some debates we end up in conclusion that using that named\n\u0027comparison\u0027 syscall might be the best candidate.  So here is it --\n__NR_kcmp.\n\nIt takes up to 5 arguments - the pids of the two tasks (which\ncharacteristics should be compared), the comparison type and (in case of\ncomparison of files) two file descriptors.\n\nLookups for pids are done in the caller\u0027s PID namespace only.\n\nAt moment only x86 is supported and tested.\n\n[akpm@linux-foundation.org: fix up selftests, warnings]\n[akpm@linux-foundation.org: include errno.h]\n[akpm@linux-foundation.org: tweak comment text]\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac34ebb3a67e699edcb5ac72f19d31679369dfaa",
      "tree": "21785208005952128545c0d7804c2dddf177766f",
      "parents": [
        "ee62c6b2dc93c09585b51fad18449dc5edb9977f"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Thu May 31 16:26:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n\nA cleanup of rw_copy_check_uvector and compat_rw_copy_check_uvector after\nchanges made to support CMA in an earlier patch.\n\nRather than having an additional check_access parameter to these\nfunctions, the first paramater type is overloaded to allow the caller to\nspecify CHECK_IOVEC_ONLY which means check that the contents of the iovec\nare valid, but do not check the memory that they point to.  This is used\nby process_vm_readv/writev where we need to validate that a iovec passed\nto the syscall is valid but do not want to check the memory that it points\nto at this point because it refers to an address space in another process.\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee62c6b2dc93c09585b51fad18449dc5edb9977f",
      "tree": "538f5338f6a00d1a4cee9e69ba74082747a452aa",
      "parents": [
        "71ca97da9d027009d318d319cbacf54a72f666c1"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Thu May 31 16:26:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "eventfd: change int to __u64 in eventfd_signal()\n\neventfd_ctx-\u003ecount is an __u64 counter which is allowed to reach\nULLONG_MAX.  eventfd_write() adds a __u64 value to \"count\", but the kernel\nside eventfd_signal() only adds an int value to it.  Make them consistent.\n\n[akpm@linux-foundation.org: update interface documentation]\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e42d98ebe7d754a2c9fbccd6186721d3ca8679f6",
      "tree": "eed734672410f2eb8fab07fbd14f88bfaf8a882f",
      "parents": [
        "ce2d52cc1364a22fc1a161781e60ee3cbb499a6d"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu May 31 16:26:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "rapidio: add DMA engine support for RIO data transfers\n\nAdds DMA Engine framework support into RapidIO subsystem.\n\nUses DMA Engine DMA_SLAVE interface to generate data transfers to/from\nremote RapidIO target devices.\n\nIntroduces RapidIO-specific wrapper for prep_slave_sg() interface with an\nextra parameter to pass target specific information.\n\nUses scatterlist to describe local data buffer.  Address flat data buffer\non a remote side.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cef0184c115e5e4e10498f6548d9526465e72478",
      "tree": "752c4116e0f93328239db9ff2c2ed730fef3ce0e",
      "parents": [
        "fd1f87d24d492fda464bedf10a5dd5174ff9b065"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: separate mqueue default value from maximum value\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nmqueue default value when attr parameter is specified NULL from hard\ncoded value to fs.mqueue.{msg,msgsize}_max sysctl value.\n\nThis made large side effect.  When user need to use two mqueue\napplications 1) using !NULL attr parameter and it require big message\nsize and 2) using NULL attr parameter and only need small size message,\napp (1) require to raise fs.mqueue.msgsize_max and app (2) consume large\nmemory size even though it doesn\u0027t need.\n\nDoug Ledford propsed to switch back it to static hard coded value.\nHowever it also has a compatibility problem.  Some applications might\nstarted depend on the default value is tunable.\n\nThe solution is to separate default value from maximum value.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6315bb154e778391ce64b194756bd3d108dadf6",
      "tree": "6b0df724ed5e52058f61261d93f807ea0ee77d11",
      "parents": [
        "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: revert bump up DFLT_*MAX\n\nMqueue limitation is slightly naieve parameter likes other ipcs because\nunprivileged user can consume kernel memory by using ipcs.\n\nThus, too aggressive raise bring us security issue.  Example, current\nsetting allow evil unprivileged user use 256GB (\u003d 256 * 1024 * 1024*1024)\nand it\u0027s enough large to system will belome unresponsive.  Don\u0027t do that.\n\nInstead, every admin should adjust the knobs for their own systems.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a",
      "tree": "fe00ef0f888fbfc40b7542fd8a66cf3368d3d2c7",
      "parents": [
        "02967ea08ede0f8cc7e0526aedffdae65a099b07"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: update maximums for the mqueue subsystem\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed the\nmaximum size of a message in a message queue from INT_MAX to 8192*128.\nUnfortunately, we had customers that relied on a size much larger than\n8192*128 on their production systems.  After reviewing POSIX, we found\nthat it is silent on the maximum message size.  We did find a couple other\nareas in which it was not silent.  Fix up the mqueue maximums so that the\ncustomer\u0027s system can continue to work, and document both the POSIX and\nreal world requirements in ipc_namespace.h so that we don\u0027t have this\nissue crop back up.\n\nAlso, commit 9cf18e1dd74cd0 (\"ipc: HARD_MSGMAX should be higher not lower\non 64bit\") fiddled with HARD_MSGMAX without realizing that the number was\nintentionally in place to limit the msg queue depth to one that was small\nenough to kmalloc an array of pointers (hence why we divided 128k by\nsizeof(long)).  If we wish to meet POSIX requirements, we have no choice\nbut to change our allocation to a vmalloc instead (at least for the large\nqueue size case).  With that, it\u0027s possible to increase our allowed\nmaximum to the POSIX requirements (or more if we choose).\n\n[sfr@canb.auug.org.au: using vmalloc requires including vmalloc.h]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858ee3784e8105467f1f3017f4ece51cb51d4830",
      "tree": "c95f55ff8bd29be3a8648acc21118a47b07d117b",
      "parents": [
        "93e6f119c0ce8a1bba6e81dc8dd97d67be360844"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: switch back to using non-max values on create\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nhow we create a queue that does not include an attr struct passed to\nopen so that it creates the queue with whatever the maximum values are.\nHowever, if the admin has set the maximums to allow flexibility in\ncreating a queue (aka, both a large size and large queue are allowed,\nbut combined they create a queue too large for the RLIMIT_MSGQUEUE of\nthe user), then attempts to create a queue without an attr struct will\nfail.  Switch back to using acceptable defaults regardless of what the\nmaximums are.\n\nNote: so far, we only know of a few applications that rely on this\nbehavior (specifically, set the maximums in /proc, then run the\napplication which calls mq_open() without passing in an attr struct, and\nthe application expects the newly created message queue to have the\nmaximum sizes that were set in /proc used on the mq_open() call, and all\nof those applications that we know of are actually part of regression\ntest suites that were coded to do something like this:\n\nfor size in 4096 65536 $((1024 * 1024)) $((16 * 1024 * 1024)); do\n\techo $size \u003e /proc/sys/fs/mqueue/msgsize_max\n\tmq_open || echo \"Error opening mq with size $size\"\ndone\n\nThese test suites that depend on any behavior like this are broken.  The\nconcept that programs should rely upon the system wide maximum in order\nto get their desired results instead of simply using a attr struct to\nspecify what they want is fundamentally unfriendly programming practice\nfor any multi-tasking OS.\n\nFixing this will break those few apps that we know of (and those app\nauthors recognize the brokenness of their code and the need to fix it).\nHowever, the following patch \"mqueue: separate mqueue default value\"\nallows a workaround in the form of new knobs for the default msg queue\ncreation parameters for any software out there that we don\u0027t already\nknow about that might rely on this behavior at the moment.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93e6f119c0ce8a1bba6e81dc8dd97d67be360844",
      "tree": "6d5131b4134d7aa6ba680a6a55f016bd6e03f319",
      "parents": [
        "29a5c67e7a78815fda0567a867adce467f6e6e5a"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: cleanup definition names and locations\n\nSince commit b231cca4381e (\"message queues: increase range limits\") on\nOct 18, 2008, calls to mq_open() that did not pass in an attribute\nstruct and expected to get default values for the size of the queue and\nthe max message size now get the system wide maximums instead of\nhardwired defaults like they used to get.\n\nThis was uncovered when one of the earlier patches in this patch set\nincreased the default system wide maximums at the same time it increased\nthe hard ceiling on the system wide maximums (a customer specifically\nneeded the hard ceiling brought back up, the new ceiling that commit\nb231cca4381e introduced was too low for their production systems).  By\nincreasing the default maximums and not realising they were tied to any\nattempt to create a message queue without an attribute struct, I had\ninadvertently made it such that all message queue creation attempts\nwithout an attribute struct were failing because the new default\nmaximums would create a queue that exceeded the default rlimit for\nmessage queue bytes.\n\nAs a result, the system wide defaults were brought back down to their\nprevious levels, and the system wide ceilings on the maximums were\nraised to meet the customer\u0027s needs.  However, the fact that the no\nattribute struct behavior of mq_open() could be broken by changing the\nsystem wide maximums for message queues was seen as fundamentally broken\nitself.  So we hardwired the no attribute case back like it used to be.\nBut, then we realized that on the very off chance that some piece of\nsoftware in the wild depended on that behavior, we could work around\nthat issue by adding two new knobs to /proc that allowed setting the\ndefaults for message queues created without an attr struct separately\nfrom the system wide maximums.\n\nWhat is not an option IMO is to leave the current behavior in place.  No\npiece of software should ever rely on setting the system wide maximums\nin order to get a desired message queue.  Such a reliance would be so\nfundamentally multitasking OS unfriendly as to not really be tolerable.\nFortunately, we don\u0027t know of any software in the wild that uses this\nexcept for a regression test program that caught the issue in the first\nplace.  If there is though, we have made accommodations with the two new\n/proc knobs (and that\u0027s all the accommodations such fundamentally broken\nsoftware can be allowed)..\n\nThis patch:\n\nThe various defines for minimums and maximums of the sysctl controllable\nmqueue values are scattered amongst different files and named\ninconsistently.  Move them all into ipc_namespace.h and make them have\nconsistent names.  Additionally, make the number of queues per namespace\nalso have a minimum and maximum and use the same sysctl function as the\nother two settable variables.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29a5c67e7a78815fda0567a867adce467f6e6e5a",
      "tree": "79033c85c4d2a4875e4b17e292f015495b97457b",
      "parents": [
        "e4cc2f873ad0833aa5c4aca56bebe15b9603a1e7"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Thu May 31 16:26:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "kexec: export kexec.h to user space\n\nAdd userspace definitions, guard all relevant kernel structures.  While at\nit document stuff and remove now useless userspace hint.\n\nIt is easy to add the relevant system call to respective libc\u0027s, but it\nseems pointless to have to duplicate the data structures.\n\nThis is based on the kexec-tools headers, with the exception of just using\nint on return (succes or failure) and using size_t instead of \u0027unsigned\nlong int\u0027 for the number of segments argument of kexec_load().\n\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Haren Myneni \u003chbabu@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb79295e20a8088a2fd6a9b3cb5f2d889ec36b4d",
      "tree": "e749be4ebd059d9dd1ff109c1cecb7b63109d2e0",
      "parents": [
        "f7505d64f2db5da2d7d94873ddf2cd2524847061"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "cpu: introduce clear_tasks_mm_cpumask() helper\n\nMany architectures clear tasks\u0027 mm_cpumask like this:\n\n\tread_lock(\u0026tasklist_lock);\n\tfor_each_process(p) {\n\t\tif (p-\u003emm)\n\t\t\tcpumask_clear_cpu(cpu, mm_cpumask(p-\u003emm));\n\t}\n\tread_unlock(\u0026tasklist_lock);\n\nDepending on the context, the code above may have several problems,\nsuch as:\n\n1. Working with task-\u003emm w/o getting mm or grabing the task lock is\n   dangerous as -\u003emm might disappear (exit_mm() assigns NULL under\n   task_lock(), so tasklist lock is not enough).\n\n2. Checking for process-\u003emm is not enough because process\u0027 main\n   thread may exit or detach its mm via use_mm(), but other threads\n   may still have a valid mm.\n\nThis patch implements a small helper function that does things\ncorrectly, i.e.:\n\n1. We take the task\u0027s lock while whe handle its mm (we can\u0027t use\n   get_task_mm()/mmput() pair as mmput() might sleep);\n\n2. To catch exited main thread case, we use find_lock_task_mm(),\n   which walks up all threads and returns an appropriate task\n   (with task lock held).\n\nAlso, Per Peter Zijlstra\u0027s idea, now we don\u0027t grab tasklist_lock in\nthe new helper, instead we take the rcu read lock. We can do this\nbecause the function is called after the cpu is taken down and marked\noffline, so no new tasks will get this cpu set in their mm mask.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43e13cc107cf6cd3c15fbe1cef849435c2223d50",
      "tree": "9a1b3aa79ec2e8374944c23cf57a73790a3fc6ce",
      "parents": [
        "9b3c98cd663750c33434572ff76ba306505eba5a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu May 31 16:26:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "cred: remove task_is_dead() from __task_cred() validation\n\nCommit 8f92054e7ca1 (\"CRED: Fix __task_cred()\u0027s lockdep check and banner\ncomment\"):\n\n    add the following validation condition:\n\n        task-\u003eexit_state \u003e\u003d 0\n\n    to permit the access if the target task is dead and therefore\n    unable to change its own credentials.\n\nOK, but afaics currently this can only help wait_task_zombie() which calls\n__task_cred() without rcu lock.\n\nRemove this validation and change wait_task_zombie() to use task_uid()\ninstead.  This means we do rcu_read_lock() only to shut up the lockdep,\nbut we already do the same in, say, wait_task_stopped().\n\ntask_is_dead() should die, task-\u003eexit_state !\u003d 0 means that this task has\npassed exit_notify(), only do_wait-like code paths should use this.\n\nUnfortunately, we can\u0027t kill task_is_dead() right now, it has already\nacquired buggy users in drivers/staging.  The fix already exists.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "785042f2e275089e22c36b462f6495ce8d91732d",
      "tree": "4e847408b4e675c7c616d357ae9b330f7104fbc0",
      "parents": [
        "81ab6e7b26b453a795d46f2616ed0e31d97f05b9"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: move call_usermodehelper_fns() to .c file and unexport all it\u0027s helpers\n\nIf we move call_usermodehelper_fns() to kmod.c file and EXPORT_SYMBOL it\nwe can avoid exporting all it\u0027s helper functions:\n\tcall_usermodehelper_setup\n\tcall_usermodehelper_setfns\n\tcall_usermodehelper_exec\nAnd make all of them static to kmod.c\n\nSince the optimizer will see all these as a single call site it will\ninline them inside call_usermodehelper_fns().  So we loose the call to\n_fns but gain 3 calls to the helpers.  (Not that it matters)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae3cef7300e9fddc35ad251dd5f27c5b88c8594a",
      "tree": "d1f057eaeac5234e9056b3e9fa186c1bd7873bc5",
      "parents": [
        "f0aac6162e945590057dcfb841bdce8fd18ed4f6"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: unexport call_usermodehelper_freeinfo()\n\ncall_usermodehelper_freeinfo() is not used outside of kmod.c.  So unexport\nit, and make it static to kmod.c\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "020ac5b6bef15785f9dde9de89d2734ff97da733",
      "tree": "18724448be398af715d45dea42966bf276d2febb",
      "parents": [
        "7bc1bac77a69011550ce0613f4a23712a002d7ad"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce special inode for managing the FSINFO block\n\nThis is patchset makes fatfs stop using the VFS \u0027-\u003ewrite_super()\u0027 method\nfor writing out the FSINFO block.\n\nThe final goal is to get rid of the \u0027sync_supers()\u0027 kernel thread.  This\nkernel thread wakes up every 5 seconds (by default) and calls\n\u0027-\u003ewrite_super()\u0027 for all mounted file-systems.  And the bad thing is that\nthis is done even if all the superblocks are clean.  Moreover, some\nfile-systems do not even need this end they do not register the\n\u0027-\u003ewrite_super()\u0027 method at all (e.g., btrfs).\n\nSo \u0027sync_supers()\u0027 most often just generates useless wake-ups and wastes\npower.  I am trying to make all file-systems independent of\n\u0027-\u003ewrite_super()\u0027 and plan to remove \u0027sync_supers()\u0027 and \u0027-\u003ewrite_super\u0027\ncompletely once there are no more users.\n\nThe \u0027-\u003ewrite_supers()\u0027 method is mostly used by baroque file-systems like\nhfs, udf, etc.  Modern file-systems like btrfs and xfs do not use it.\nThis justifies removing this stuff from VFS completely and make every FS\nself-manage own superblock.\n\nTested with xfstests.\n\nThis patch:\n\nPreparation for further changes.  It introduces a special inode\n(\u0027fsinfo_inode\u0027) in FAT file-system which we\u0027ll later use for managing the\nFSINFO block.  Note, this there is already one special inode (\u0027fat_inode\u0027)\nwhich is used for managing the FAT tables.\n\nIntroduce new \u0027MSDOS_FSINFO_INO\u0027 constant for this special inode.  It is\nsafe to do because FAT file-system does not store inode numbers on the\nmedia but generates them run-time.\n\nI\u0027ve also cleaned up the comment to existing \u0027MSDOS_ROOT_INO\u0027 constant,\nwhile on it.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "133fd9f5cda2d86904126f4b9fa4e8f4330c9569",
      "tree": "0e60bfcec85f123243cf1ffe735264527efd6d0e",
      "parents": [
        "725fe002d315c2501c110b7245d3eb4f4535f4d6"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: further optimize decimal conversion\n\nPrevious code was using optimizations which were developed to work well\neven on narrow-word CPUs (by today\u0027s standards).  But Linux runs only on\n32-bit and wider CPUs.  We can use that.\n\nFirst: using 32x32-\u003e64 multiply and trivial 32-bit shift, we can correctly\ndivide by 10 much larger numbers, and thus we can print groups of 9 digits\ninstead of groups of 5 digits.\n\nNext: there are two algorithms to print larger numbers.  One is generic:\ndivide by 1000000000 and repeatedly print groups of (up to) 9 digits.\nIt\u0027s conceptually simple, but requires an (unsigned long long) /\n1000000000 division.\n\nSecond algorithm splits 64-bit unsigned long long into 16-bit chunks,\nmanipulates them cleverly and generates groups of 4 decimal digits.  It so\nhappens that it does NOT require long long division.\n\nIf long is \u003e 32 bits, division of 64-bit values is relatively easy, and we\nwill use the first algorithm.  If long long is \u003e 64 bits (strange\narchitecture with VERY large long long), second algorithm can\u0027t be used,\nand we again use the first one.\n\nElse (if long is 32 bits and long long is 64 bits) we use second one.\n\nAnd third: there is a simple optimization which takes fast path not only\nfor zero as was done before, but for all one-digit numbers.\n\nIn all tested cases new code is faster than old one, in many cases by 30%,\nin few cases by more than 50% (for example, on x86-32, conversion of\n12345678).  Code growth is ~0 in 32-bit case and ~130 bytes in 64-bit\ncase.\n\nThis patch is based upon an original from Michal Nazarewicz.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3860c1c5dd1137db23d7786d284939c5761d517",
      "tree": "48d688c6c391ef45f79bdd60815450ca06c5cc1a",
      "parents": [
        "15837294d4ce717f69942f7366e99d4d1d3d9923"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "introduce SIZE_MAX\n\nULONG_MAX is often used to check for integer overflow when calculating\nallocation size.  While ULONG_MAX happens to work on most systems, there\nis no guarantee that `size_t\u0027 must be the same size as `long\u0027.\n\nThis patch introduces SIZE_MAX, the maximum value of `size_t\u0027, to improve\nportability and readability for allocation size validation.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Alex Elder \u003celder@dreamhost.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5497fc693a446ce9100fcf4117c3f795ddfd0d2",
      "tree": "7254a8eb06629de6c9ac4b8dbe8e38c79c979af3",
      "parents": [
        "8fbba96e5b327665265ad02b7f331b68536828bf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 22:06:49 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:58 2012 -0400"
      },
      "message": "nfsd4: move rq_flavor into svc_cred\n\nMove the rq_flavor into struct svc_cred, and use it in setclientid and\nexchange_id comparisons as well.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "03a4e1f6ddf25f48848e1bddcffc0ad489648331",
      "tree": "f140e3deb767d092eca997037ebb7b098d8afce9",
      "parents": [
        "631fc9ea05c97e5d1d14ea58a7347be4857d09da"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 19:55:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:55 2012 -0400"
      },
      "message": "nfsd4: move principal name into svc_cred\n\nInstead of keeping the principal name associated with a request in a\nstructure that\u0027s private to auth_gss and using an accessor function,\nmove it to svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3fc929e2d693185aac2686e5e64e24eae10642a4",
      "tree": "c13786131ec3695af7caf97d55b92197cc6fdd6a",
      "parents": [
        "30f7c73bed749814f4985b1ce4566fe64b9c25f0"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Wed May 30 09:14:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:18:16 2012 -0400"
      },
      "message": "net/mlx4_core: Fix number of EQs used in ICM initialisation\n\nIn SRIOV mode, the number of EQs used when computing the total ICM size\nwas incorrect.\n\nTo fix this, we do the following:\n1. We add a new structure to mlx4_dev, mlx4_phys_caps, to contain physical HCA\n   capabilities.  The PPF uses the phys capabilities when it computes things\n   like ICM size.\n\n   The dev_caps structure will then contain the paravirtualized values, making\n   bookkeeping much easier in SRIOV mode. We add a structure rather than a\n   single parameter because there will be other fields in the phys_caps.\n\n   The first field we add to the mlx4_phys_caps structure is num_phys_eqs.\n\n2. In INIT_HCA, when running in SRIOV mode, the \"log_num_eqs\" parameter\n   passed to the FW is the number of EQs per VF/PF; each function (PF or VF)\n   has this number of EQs available.\n\n   However, the total number of EQs which must be allowed for in the ICM is\n   (1 \u003c\u003c log_num_eqs) * (#VFs + #PFs).  Rather than compute this quantity,\n   we allocate ICM space for 1024 EQs (which is the device maximum\n   number of EQs, and which is the value we place in the mlx4_phys_caps structure).\n\n   For INIT_HCA, however, we use the per-function number of EQs as described\n   above.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nReviewed-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76f901eb4659779ecacd0e4eba49f55442daef53",
      "tree": "0761f03211ffdfc06216eabeb61b02ef6d598d3c",
      "parents": [
        "bd0e162d0312aa95e8b85ba883efddebf27be121",
        "96facd23e45e6d5020be135c8ab392ba9e044fa4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:10:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:10:15 2012 -0700"
      },
      "message": "Merge tag \u0027for-v3.5\u0027 of git://git.infradead.org/battery-2.6\n\nPull battery updates from Anton Vorontsov:\n \"A bunch of fixes for v3.5, nothing extraordinary.\"\n\n* tag \u0027for-v3.5\u0027 of git://git.infradead.org/battery-2.6: (27 commits)\n  smb347-charger: Include missing \u003clinux/err.h\u003e\n  smb347-charger: Clean up battery attributes\n  max17042_battery: Add support for max17047/50 chip\n  sbs-battery.c: Capacity attr \u003d remaining relative capacity\n  isp1704_charger: Use after free on probe error\n  ds2781_battery: Use DS2781_PARAM_EEPROM_SIZE and DS2781_USER_EEPROM_SIZE\n  power_supply: Fix a typo in BATTERY_DS2781 Kconfig entry\n  charger-manager: Provide cm_notify_event function for in-kernel use\n  charger-manager: Poll battery health in normal state\n  smb347-charger: Convert to regmap API\n  smb347-charger: Move IRQ enabling to the end of probe\n  smb347-charger: Rename few functions to match better what they are doing\n  smb347-charger: Convert to use module_i2c_driver()\n  smb347_charger: Cleanup power supply registration code in probe\n  ab8500: Clean up probe routines\n  ab8500_fg: Harden platform data check\n  ab8500_btemp: Harden platform data check\n  ab8500_charger: Harden platform data check\n  MAINTAINERS: Fix \u0027F\u0027 entry for the power supply class\n  max17042_battery: Handle irq request failure case\n  ...\n"
    },
    {
      "commit": "bd0e162d0312aa95e8b85ba883efddebf27be121",
      "tree": "5401fd64650a2c5965e43dccaa636bc814072043",
      "parents": [
        "054552272e6e152ff40f8b7f164dd390a5a62097",
        "56457f38f212344fb38b250cfa7e7311c065022f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull two small kvm fixes from Avi Kivity:\n \"A build fix for non-kvm archs and a transparent hugepage refcount\n  bugfix on hosts with 4M pages.\"\n\n* git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Export asm-generic/kvm_para.h\n  KVM: MMU: fix huge page adapted on non-PAE host\n"
    },
    {
      "commit": "054552272e6e152ff40f8b7f164dd390a5a62097",
      "tree": "9be4ee91a0ea090672f6ea1be2f6e6eef027d810",
      "parents": [
        "5b461209d07ab9a9284760f6ffe696de558031a3",
        "1ff2f40305772b159a91c19590ee159d3a504afc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:02:41 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull final round of SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (bnx2fc, qla2xxx,\n  qla4xxx) including the target mode driver for qla2xxx.  We\u0027ve also got\n  a couple of regression fixes (async scanning, broken this merge window\n  and a fix to a long standing break in the scsi_wait_scan module).\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (45 commits)\n  [SCSI] fix scsi_wait_scan\n  [SCSI] fix async probe regression\n  [SCSI] be2iscsi: fix dma free size mismatch regression\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k17\n  [SCSI] qla4xxx: Capture minidump for ISP82XX on firmware failure\n  [SCSI] qla4xxx: Add change_queue_depth API support\n  [SCSI] qla4xxx: Fix clear ddb mbx command failure issue.\n  [SCSI] qla4xxx: Fix kernel panic during discovery logout.\n  [SCSI] qla4xxx: Correct early completion of pending mbox.\n  [SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs\n  [SCSI] libfcoe: Add fcoe_sysfs\n  [SCSI] bnx2fc: Allocate fcoe_ctlr with bnx2fc_interface, not as a member\n  [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member\n  [SCSI] Fix dm-multipath starvation when scsi host is busy\n  [SCSI] ufs: fix potential NULL pointer dereferencing error in ufshcd_prove.\n  [SCSI] qla2xxx: don\u0027t free pool that wasn\u0027t allocated\n  [SCSI] mptfusion: unlock on error in mpt_config()\n  [SCSI] tcm_qla2xxx: Add \u003e\u003d 24xx series fabric module for target-core\n  [SCSI] qla2xxx: Add LLD target-mode infrastructure for \u003e\u003d 24xx series\n  [SCSI] Revert \"qla2xxx: During loopdown perform Diagnostic loopback.\"\n  ...\n"
    },
    {
      "commit": "1d59d61f606547f0712aa6971f91f71154071c99",
      "tree": "cb2fd4b9ce3e3ee9440d566d43ea350221edfc8e",
      "parents": [
        "2d117403b30cd7301af60d7d54b279a9f566d10d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 31 12:22:33 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 11:41:36 2012 -0700"
      },
      "message": "NFS: Ensure that setattr and getattr wait for O_DIRECT write completion\n\nUse the same mechanism as the block devices are using, but move the\nhelper functions from fs/direct-io.c into fs/inode.c to remove the\ndependency on CONFIG_BLOCK.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13199a0845729492fc51d1ba87938cdfe341b141",
      "tree": "544267bc4076fff6b2eaae119372b13f23aa8932",
      "parents": [
        "af56e0aa35f3ae2a4c1a6d1000702df1dd78cb76",
        "2e1d4a065a77d076a679df22a4eddbc7e33cad98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:32:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:32:36 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking changes from David S. Miller:\n\n 1) Fix IPSEC header length calculation for transport mode in ESP.  The\n    issue is whether to do the calculation before or after alignment.\n    Fix from Benjamin Poirier.\n\n 2) Fix regression in IPV6 IPSEC fragment length calculations, from Gao\n    Feng.  This is another transport vs tunnel mode issue.\n\n 3) Handle AF_UNSPEC connect()s properly in L2TP to avoid OOPSes.  Fix\n    from James Chapman.\n\n 4) Fix USB ASIX driver\u0027s reception of full sized VLAN packets, from\n    Eric Dumazet.\n\n 5) Allow drop monitor (and, more generically, all generic netlink\n    protocols) to be automatically loaded as a module.  From Neil\n    Horman.\n\nFix up trivial conflict in Documentation/feature-removal-schedule.txt\ndue to new entries added next to each other at the end. As usual.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)\n  net/smsc911x: Repair broken failure paths\n  virtio-net: remove useless disable on freeze\n  netdevice: Update netif_dbg for CONFIG_DYNAMIC_DEBUG\n  drop_monitor: Add module alias to enable automatic module loading\n  genetlink: Build a generic netlink family module alias\n  net: add MODULE_ALIAS_NET_PF_PROTO_NAME\n  r6040: Do a Proper deinit at errorpath and also when driver unloads (calling r6040_remove_one)\n  r6040: disable pci device if the subsequent calls (after pci_enable_device) fails\n  skb: avoid unnecessary reallocations in __skb_cow\n  net: sh_eth: fix the rxdesc pointer when rx descriptor empty happens\n  asix: allow full size 8021Q frames to be received\n  rds_rdma: don\u0027t assume infiniband device is PCI\n  l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case\n  mac80211: fix ADDBA declined after suspend with wowlan\n  wlcore: fix undefined symbols when CONFIG_PM is not defined\n  mac80211: fix flag check for QoS NOACK frames\n  ath9k_hw: apply internal regulator settings on AR933x\n  ath9k_hw: update AR933x initvals to fix issues with high power devices\n  ath9k: fix a use-after-free-bug when ath_tx_setup_buffer() fails\n  ath9k: stop rx dma before stopping tx\n  ...\n"
    },
    {
      "commit": "e5467859f7f79b69fc49004403009dfdba3bec53",
      "tree": "73b011daf79eeddd61bbcaf65cd197b5e5f6f149",
      "parents": [
        "d007794a182bc072a7b7479909dbd0d67ba341be"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 13:30:51 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 31 13:11:54 2012 -0400"
      },
      "message": "split -\u003efile_mmap() into -\u003emmap_addr()/-\u003emmap_file()\n\n... i.e. file-dependent and address-dependent checks.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d007794a182bc072a7b7479909dbd0d67ba341be",
      "tree": "75aa7ccd563a0fe8b60391824c92f64098674dda",
      "parents": [
        "cf74d14c4fbce9bcc9eb62f52d721d3399a2b87f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 13:11:37 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 31 13:10:54 2012 -0400"
      },
      "message": "split cap_mmap_addr() out of cap_file_mmap()\n\n... switch callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a4f9a9a635e4d54ac93df4b861ed8792e17bd4a2",
      "tree": "40a7145d4d24db3dd26848a8905f710306cbfaa1",
      "parents": [
        "799243a389bde0de10fa21ca1ca453d2fe538b85"
      ],
      "author": {
        "name": "Naohiro Aota",
        "email": "naota@elisp.net",
        "time": "Tue May 29 11:02:24 2012 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:53 2012 -0400"
      },
      "message": "fsnotify: handle subfiles\u0027 perm events\n\nRecently I\u0027m working on fanotify and found the following strange\nbehaviors.\n\nI wrote a program to set fanotify_mark on \"/tmp/block\" and FAN_DENY\nall events notified.\n\nfanotify_mask \u003d FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_EVENT_ON_CHILD:\n$ cd /tmp/block; cat foo\ncat: foo: Operation not permitted\n\nOperation on the file is blocked as expected.\n\nBut,\n\nfanotify_mask \u003d FAN_ALL_PERM_EVENTS | FAN_EVENT_ON_CHILD:\n$ cd /tmp/block; cat foo\naaa\n\nIt\u0027s not blocked anymore.  This is confusing behavior.  Also reading\ncommit \"fsnotify: call fsnotify_parent in perm events\", it seems like\nfsnotify should handle subfiles\u0027 perm events as well as the other notify\nevents.\n\nWith this patch, regardless of FAN_ALL_EVENTS set or not:\n$ cd /tmp/block; cat foo\ncat: foo: Operation not permitted\n\nOperation on the file is now blocked properly.\n\nFS_OPEN_PERM and FS_ACCESS_PERM are not listed on FS_EVENTS_POSS_ON_CHILD.\n Due to fsnotify_inode_watches_children() check, if you only specify only\nthese events as fsnotify_mask, you don\u0027t get subfiles\u0027 perm events\nnotified.\n\nThis patch add the events to FS_EVENTS_POSS_ON_CHILD to get them notified\neven if only these events are specified to fsnotify_mask.\n\nSigned-off-by: Naohiro Aota \u003cnaota@elisp.net\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bb8ac181a5cf50458a0d83b4460790badc9fdc16",
      "tree": "d55493f9ca94516a0aa83dd8ee1d87c2a88d637b",
      "parents": [
        "1dfb5751a4de7c6a57a5602e8e2b87267cfc8c81"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 19 10:25:23 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:50 2012 -0400"
      },
      "message": "bury __kernel_nlink_t, make internal nlink_t consistent\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0053ea9c34a41865ec89ffbf3d3033f9a503bccc",
      "tree": "61782bc13e30d1e78d401f4d7ccd6ce1d02261cd",
      "parents": [
        "a0f68763e1c7dd57fa2dae3c07bc50651e2eac29"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 30 07:43:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 30 16:34:27 2012 -0400"
      },
      "message": "netdevice: Update netif_dbg for CONFIG_DYNAMIC_DEBUG\n\nMake netif_dbg use dynamic debugging whenever\nCONFIG_DYNAMIC_DEBUG is enabled.\n\ncommit b558c96ffa53\n(\"dynamic_debug: make dynamic-debug supersede DEBUG ccflag\")\nmissed updating the netif_dbg variant.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af56e0aa35f3ae2a4c1a6d1000702df1dd78cb76",
      "tree": "304bd85e5db2d07efa2913aa7c6313b918cfbfdb",
      "parents": [
        "65a50c951a38e9827dd9655b6e686bde912e799b",
        "6bd9adbdf9ca6a052b0b7455ac67b925eb38cfad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:17:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:17:19 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull ceph updates from Sage Weil:\n \"There are some updates and cleanups to the CRUSH placement code, a bug\n  fix with incremental maps, several cleanups and fixes from Josh Durgin\n  in the RBD block device code, a series of cleanups and bug fixes from\n  Alex Elder in the messenger code, and some miscellaneous bounds\n  checking and gfp cleanups/fixes.\"\n\nFix up trivial conflicts in net/ceph/{messenger.c,osdmap.c} due to the\nnetworking people preferring \"unsigned int\" over just \"unsigned\".\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (45 commits)\n  libceph: fix pg_temp updates\n  libceph: avoid unregistering osd request when not registered\n  ceph: add auth buf in prepare_write_connect()\n  ceph: rename prepare_connect_authorizer()\n  ceph: return pointer from prepare_connect_authorizer()\n  ceph: use info returned by get_authorizer\n  ceph: have get_authorizer methods return pointers\n  ceph: ensure auth ops are defined before use\n  ceph: messenger: reduce args to create_authorizer\n  ceph: define ceph_auth_handshake type\n  ceph: messenger: check return from get_authorizer\n  ceph: messenger: rework prepare_connect_authorizer()\n  ceph: messenger: check prepare_write_connect() result\n  ceph: don\u0027t set WRITE_PENDING too early\n  ceph: drop msgr argument from prepare_write_connect()\n  ceph: messenger: send banner in process_connect()\n  ceph: messenger: reset connection kvec caller\n  libceph: don\u0027t reset kvec in prepare_write_banner()\n  ceph: ignore preferred_osd field\n  ceph: fully initialize new layout\n  ...\n"
    },
    {
      "commit": "42fe55ce905212542426fa6407a76534a5fb696a",
      "tree": "874c5984e4222ea253b78c5be4755b3d31da54e2",
      "parents": [
        "19ce0a995ff230b364c7329fd488c70e91c171d9",
        "14674e70119ea01549ce593d8901a797f8a90f74"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 10:03:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 10:03:46 2012 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\nPull i2c updates from Jean Delvare.\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING\n  i2c-dev: Add support for I2C_M_RECV_LEN\n"
    },
    {
      "commit": "19ce0a995ff230b364c7329fd488c70e91c171d9",
      "tree": "e24fe57a87d16a54cbffd087fb6af2083f7f2ad0",
      "parents": [
        "6bb340c7868fbfd7bd0e8a0e23397a2bcb528429",
        "4b98b32aefb2c143a40cdaa254eb905f1bb06b5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 09:59:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 09:59:13 2012 -0700"
      },
      "message": "Merge git://www.linux-watchdog.org/linux-watchdog\n\nPull second set of watchdog updates from Wim Van Sebroeck:\n \"This changeset contains following changes:\n   * Add support for multiple watchdog devices.  We use dynamically\n     allocated device id\u0027s for this.\n   * Add locking into the generic watchdog infrastructure.\n   * Add support for dynamically allocated watchdog_device structs so\n     that we can deal with devices that get unbound.\n   * convert following drivers to the generic watchdog framework:\n     sch5627, sch5636 and sp805_wdt.\n   * Add DA9052/53 PMIC watchdog support\n   * Fix printk format warnings for iTCO_wdt.c\"\n\n* git://www.linux-watchdog.org/linux-watchdog:\n  watchdog: iTCO_wdt.c: fix printk format warnings\n  watchdog: sp805_wdt: Add clk_{un}prepare support\n  watchdog: sp805_wdt: convert to watchdog core\n  hwmon/sch56xx: Depend on watchdog for watchdog core functions\n  watchdog: sch56xx-common: set correct bits in register()\n  Watchdog: DA9052/53 PMIC watchdog support\n  watchdog: sch56xx-common: Add proper ref-counting of watchdog data\n  watchdog: sch56xx: Remove unnecessary checks for register changes\n  watchdog: sch56xx: Use watchdog core\n  watchdog: Add support for dynamically allocated watchdog_device structs\n  watchdog: Add Locking support\n  watchdog: watchdog_dev: Rewrite wrapper code\n  watchdog: use dev_ functions\n  watchdog: create all the proper device files\n  watchdog: Add a flag to indicate the watchdog doesn\u0027t reboot things\n  watchdog: Add multiple device support\n  watchdog: watchdog_core.h: make functions extern\n  watchdog: correct the name of the watchdog_core inlude file\n  watchdog: Add watchdog_active() routine\n  watchdog: watchdog_dev: include private header to pickup global symbol prototypes\n"
    },
    {
      "commit": "a70f35af4e49f87ba4b6c4b30220fbb66cd74af6",
      "tree": "f81d1c68d332f7ed32048085fa2972c057f62419",
      "parents": [
        "0d167518e045cc8bb63f0a8a0a85ad4fa4e0044f",
        "4fd1ffaa122cf66bfb710ced43679413df4f3605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 09:05:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 09:05:47 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5/drivers\u0027 of git://git.kernel.dk/linux-block\n\nPull block driver updates from Jens Axboe:\n \"Here are the driver related changes for 3.5.  It contains:\n\n   - The floppy changes from Jiri.  Jiri is now also marked as the\n     maintainer of floppy.c, I shall be publically branding his forehead\n     with red hot iron at the next opportune moment.\n\n   - A batch of drbd updates and fixes from the linbit crew, as well as\n     fixes from others.\n\n   - Two small fixes for xen-blkfront courtesy of Jan.\"\n\n* \u0027for-3.5/drivers\u0027 of git://git.kernel.dk/linux-block: (70 commits)\n  floppy: take over maintainership\n  floppy: remove floppy-specific O_EXCL handling\n  floppy: convert to delayed work and single-thread wq\n  xen-blkfront: module exit handling adjustments\n  xen-blkfront: properly name all devices\n  drbd: grammar fix in log message\n  drbd: check MODULE for THIS_MODULE\n  drbd: Restore the request restart logic\n  drbd: introduce a bio_set to allocate housekeeping bios from\n  drbd: remove unused define\n  drbd: bm_page_async_io: properly initialize page-\u003eprivate\n  drbd: use the newly introduced page pool for bitmap IO\n  drbd: add page pool to be used for meta data IO\n  drbd: allow bitmap to change during writeout from resync_finished\n  drbd: fix race between drbdadm invalidate/verify and finishing resync\n  drbd: fix resend/resubmit of frozen IO\n  drbd: Ensure that data_size is not 0 before using data_size-1 as index\n  drbd: Delay/reject other state changes while establishing a connection\n  drbd: move put_ldev from __req_mod() to the endio callback\n  drbd: fix WRITE_ACKED_BY_PEER_AND_SIS to not set RQ_NET_DONE\n  ...\n"
    },
    {
      "commit": "0d167518e045cc8bb63f0a8a0a85ad4fa4e0044f",
      "tree": "101a9b5d425d79f663e4f25f1e90b7a8cc6604f1",
      "parents": [
        "2f83766d4b18774c856329a8fca4c9338dfeda39",
        "ff26eaadf4d914e397872b99885d45756104e9ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:52:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:52:42 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5/core\u0027 of git://git.kernel.dk/linux-block\n\nMerge block/IO core bits from Jens Axboe:\n \"This is a bit bigger on the core side than usual, but that is purely\n  because we decided to hold off on parts of Tejun\u0027s submission on 3.4\n  to give it a bit more time to simmer.  As a consequence, it\u0027s seen a\n  long cycle in for-next.\n\n  It contains:\n\n   - Bug fix from Dan, wrong locking type.\n   - Relax splice gifting restriction from Eric.\n   - A ton of updates from Tejun, primarily for blkcg.  This improves\n     the code a lot, making the API nicer and cleaner, and also includes\n     fixes for how we handle and tie policies and re-activate on\n     switches.  The changes also include generic bug fixes.\n   - A simple fix from Vivek, along with a fix for doing proper delayed\n     allocation of the blkcg stats.\"\n\nFix up annoying conflict just due to different merge resolution in\nDocumentation/feature-removal-schedule.txt\n\n* \u0027for-3.5/core\u0027 of git://git.kernel.dk/linux-block: (92 commits)\n  blkcg: tg_stats_alloc_lock is an irq lock\n  vmsplice: relax alignement requirements for SPLICE_F_GIFT\n  blkcg: use radix tree to index blkgs from blkcg\n  blkcg: fix blkcg-\u003ecss ref leak in __blkg_lookup_create()\n  block: fix elvpriv allocation failure handling\n  block: collapse blk_alloc_request() into get_request()\n  blkcg: collapse blkcg_policy_ops into blkcg_policy\n  blkcg: embed struct blkg_policy_data in policy specific data\n  blkcg: mass rename of blkcg API\n  blkcg: style cleanups for blk-cgroup.h\n  blkcg: remove blkio_group-\u003epath[]\n  blkcg: blkg_rwstat_read() was missing inline\n  blkcg: shoot down blkgs if all policies are deactivated\n  blkcg: drop stuff unused after per-queue policy activation update\n  blkcg: implement per-queue policy activation\n  blkcg: add request_queue-\u003eroot_blkg\n  blkcg: make request_queue bypassing on allocation\n  blkcg: make sure blkg_lookup() returns %NULL if @q is bypassing\n  blkcg: make blkg_conf_prep() take @pol and return with queue lock held\n  blkcg: remove static policy ID enums\n  ...\n"
    },
    {
      "commit": "2f83766d4b18774c856329a8fca4c9338dfeda39",
      "tree": "a19ea2165755f5700d7f37a61ece7edce231744f",
      "parents": [
        "4523e1458566a0e8ecfaff90f380dd23acc44d27",
        "28f8571e1e84782244cc7bf1b129baf6cdc0832e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:49:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:49:28 2012 -0700"
      },
      "message": "Merge tag \u0027iommu-updates-v3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\nPull IOMMU updates from Joerg Roedel:\n \"Not much stuff this time.  The only change to the IOMMU core code is\n  the addition of a handle to the fault handling code.  A few updates to\n  the AMD IOMMU driver to work around new errata.  The other patches are\n  mostly fixes and enhancements to the existing ARM IOMMU drivers and\n  documentation updates.\n\n  A new IOMMU driver for the Exynos platform was also underway but got\n  merged via the Samsung tree and is not part of this tree.\"\n\n* tag \u0027iommu-updates-v3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:\n  Documentation: kernel-parameters.txt Add amd_iommu_dump\n  iommu/core: pass a user-provided token to fault handlers\n  iommu/tegra: gart: Fix register offset correctly\n  iommu: OMAP: device detach on domain destroy\n  iommu: tegra/gart: Add device tree support\n  iommu: tegra/gart: use correct gart_device\n  iommu/tegra: smmu: Print device name correctly\n  iommu/amd: Add workaround for event log erratum\n  iommu/amd: Check for the right TLP prefix bit\n  dma-debug: release free_entries_lock before saving stack trace\n"
    },
    {
      "commit": "14674e70119ea01549ce593d8901a797f8a90f74",
      "tree": "15474236bfa505aa396bf2892cbbee65e842b94b",
      "parents": [
        "838bfa6049fb84dc66c9c9bbeb3a968ec987fd3d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 30 10:55:34 2012 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Wed May 30 10:55:34 2012 +0200"
      },
      "message": "i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING\n\nSince there are uses for I2C_M_NOSTART which are much more sensible and\nstandard than most of the protocol mangling functionality (the main one\nbeing gather writes to devices where something like a register address\nneeds to be inserted before a block of data) create a new I2C_FUNC_NOSTART\nfor this feature and update all the users to use it.\n\nAlso strengthen the disrecommendation of the protocol mangling while we\u0027re\nat it.\n\nIn the case of regmap-i2c we remove the requirement for mangling as\nI2C_M_NOSTART is the only mangling feature which is being used.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "e907df32725204d6d2cb79b872529911c8eadcdf",
      "tree": "3e90c58ea0ee9c2d77c1c4b0854dc046f6efb6a0",
      "parents": [
        "f4e9c82f64b524314a390b13d3ba7d483f09258f"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Tue May 22 11:40:26 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:55:31 2012 +0200"
      },
      "message": "watchdog: Add support for dynamically allocated watchdog_device structs\n\nIf a driver\u0027s watchdog_device struct is part of a dynamically allocated\nstruct (which it often will be), merely locking the module is not enough,\neven with a drivers module locked, the driver can be unbound from the device,\nexamples:\n1) The root user can unbind it through sysfd\n2) The i2c bus master driver being unloaded for an i2c watchdog\n\nI will gladly admit that these are corner cases, but we still need to handle\nthem correctly.\n\nThe fix for this consists of 2 parts:\n1) Add ref / unref operations, so that the driver can refcount the struct\n   holding the watchdog_device struct and delay freeing it until any\n   open filehandles referring to it are closed\n2) Most driver operations will do IO on the device and the driver should not\n   do any IO on the device after it has been unbound. Rather then letting each\n   driver deal with this internally, it is better to ensure at the watchdog\n   core level that no operations (other then unref) will get called after\n   the driver has called watchdog_unregister_device(). This actually is the\n   bulk of this patch.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "f4e9c82f64b524314a390b13d3ba7d483f09258f",
      "tree": "82d688ae7782234dc01c6a340596bac21531aae4",
      "parents": [
        "7a87982420e5e126bfefeb42232d1fd92052794e"
      ],
      "author": {
        "name": "Hans de Goede",
        "email": "hdegoede@redhat.com",
        "time": "Tue May 22 11:40:26 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:55:23 2012 +0200"
      },
      "message": "watchdog: Add Locking support\n\nThis patch fixes some potential multithreading issues, despite only\nallowing one process to open the /dev/watchdog device, we can still get\ncalled multiple times at the same time, since a program could be using thread,\nor could share the fd after a fork.\n\nThis causes 2 potential problems:\n1) watchdog_start / open do an unlocked test_n_set / test_n_clear,\n   if these 2 race, the watchdog could be stopped while the active\n   bit indicates it is running or visa versa.\n\n2) Most watchdog_dev drivers probably assume that only one\n   watchdog-op will get called at a time, this is not necessary\n   true atm.\n\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "d6b469d915ae348b3bb8b25034063d6870ff4a00",
      "tree": "7bc00fa1870ba2fb1a7943c1a1d9e524752cb299",
      "parents": [
        "2bbeed016dd96045ec82c3a309afddcc3a0db1d2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri May 11 12:00:20 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:54:46 2012 +0200"
      },
      "message": "watchdog: create all the proper device files\n\nCreate the watchdog class and it\u0027s associated devices.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "2bbeed016dd96045ec82c3a309afddcc3a0db1d2",
      "tree": "291e73618f5b088702308210a1fc6134a21dba4f",
      "parents": [
        "45f5fed30a6460ec58f159ff297a2974153a97de"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri May 11 12:00:19 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:54:40 2012 +0200"
      },
      "message": "watchdog: Add a flag to indicate the watchdog doesn\u0027t reboot things\n\nSome watchdogs merely trigger external alarms and controls. In a managed\nenvironment this is very useful but we want drivers to be able to figure\nout which is which now multiple dogs can be loaded. Thus add an ALARMONLY\nfeature flag.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "45f5fed30a6460ec58f159ff297a2974153a97de",
      "tree": "d173b2d22ed1187fb7ed2cb85015ddf5c545da05",
      "parents": [
        "fb5f6658163412dce22724e906e324ab7fd62c18"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu May 10 21:48:59 2012 +0200"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:54:25 2012 +0200"
      },
      "message": "watchdog: Add multiple device support\n\nWe keep the old /dev/watchdog interface file for the first watchdog via\nmiscdev. This is basically a cut and paste of the relevant interface code\nfrom the rtc driver layer tweaked for watchdog.\n\nRevised to fix problems noted by Hans de Goede\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Tomas Winkler \u003ctomas.winkler@intel.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "257f8c4aae392654d4ab846030b9f4518f16ed32",
      "tree": "54b97861301fa1097126f9d6d42633e835adff72",
      "parents": [
        "09a46e739780aab2eadf47afdefa70c9cd69d83d"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Mon Mar 12 09:51:56 2012 +0530"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Wed May 30 07:53:46 2012 +0200"
      },
      "message": "watchdog: Add watchdog_active() routine\n\nSome watchdog may need to check if watchdog is ACTIVE or not, for example in\ntheir suspend/resume hooks.\n\nThis patch adds this routine and changes the core drivers to use it.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "eea62f831b8030b0eeea8314eed73b6132d1de26",
      "tree": "7fd58cf63e62484b8d3a0c8c5d2e9193b85945a4",
      "parents": [
        "9dd6fa03ab31bb57cee4623a689d058d222fbe68"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue May 08 13:32:24 2012 +0930"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:41 2012 -0400"
      },
      "message": "brlocks/lglocks: turn into functions\n\nlglocks and brlocks are currently generated with some complicated macros\nin lglock.h.  But there\u0027s no reason to not just use common utility\nfunctions and put all the data into a common data structure.\n\nSince there are at least two users it makes sense to share this code in a\nlibrary.  This is also easier maintainable than a macro forest.\n\nThis will also make it later possible to dynamically allocate lglocks and\nalso use them in modules (this would both still need some additional, but\nnow straightforward, code)\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9dd6fa03ab31bb57cee4623a689d058d222fbe68",
      "tree": "3f55c3527ecae7a053b0305d0a8f45e8328a416c",
      "parents": [
        "ea022dfb3c2a4680483b00eb2fecc9fc4f6091d1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 08 13:29:45 2012 +0930"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:41 2012 -0400"
      },
      "message": "lglock: remove online variants of lock\n\nOptimizing the slow paths adds a lot of complexity.  If you need to\ngrab every lock often, you have other problems.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b0b0382bb4904965a9e9fca77ad87514dfda0d1c",
      "tree": "dc46873fa74e0d194e4a2571b16f0767e1919ae8",
      "parents": [
        "6d42e7e9f6d86ed4dfacde75a6cf515068f9749c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 02 14:34:06 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:33 2012 -0400"
      },
      "message": "-\u003eencode_fh() API change\n\npass inode + parent\u0027s inode or NULL instead of dentry + bool saying\nwhether we want the parent or not.\n\nNOTE: that needs ceph fix folded in.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e9412c37082b5c932e83364aaed0c38c2ce33acb",
      "tree": "479e716c478173830e378f432d3d0b24c6979541",
      "parents": [
        "2033e9bf06f07e049bbc77e9452856df846714cc"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:56 2012 -0400"
      },
      "message": "genetlink: Build a generic netlink family module alias\n\nGeneric netlink searches for -type- formatted aliases when requesting a module to\nfulfill a protocol request (i.e. net-pf-16-proto-16-type-\u003cx\u003e, where x is a type\nvalue).  However generic netlink protocols have no well defined type numbers,\nthey have string names.  Modify genl_ctrl_getfamily to request an alias in the\nformat net-pf-16-proto-16-family-\u003cx\u003e instead, where x is a generic string, and\nadd a macro that builds on the previously added MODULE_ALIAS_NET_PF_PROTO_NAME\nmacro to allow modules to specifify those generic strings.\n\nNote, l2tp previously hacked together an net-pf-16-proto-16-type-l2tp alias\nusing the MODULE_ALIAS macro, with these updates we can convert that to use the\nPROTO_NAME macro.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2033e9bf06f07e049bbc77e9452856df846714cc",
      "tree": "6efbc29328e50f7d5df626ba8c3c75f1565f73bb",
      "parents": [
        "20571d8894d1ee5a181e34e8d07ed8472acd30c4"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:55 2012 -0400"
      },
      "message": "net: add MODULE_ALIAS_NET_PF_PROTO_NAME\n\nThe MODULE_ALAIS_NET_PF macro set is missing a variant that allows for the\nappending of an arbitrary string to the net-pf-\u003cx\u003e-proto-\u003cy\u003e base.  while\nMODULE_ALIAS_NET_PF_PROTO_NAME_TYPE allows an appending of a numerical type, we\nneed to be able to append a generic string to support generic netlink families\nthat have neither a fix numberical protocol nor type number\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87a5af24e54857e7b15c1f1b0468512ee65c94e3",
      "tree": "ee346852a0fc27f172a5eb57b6e3c7bf111f2fad",
      "parents": [
        "7e5b2db77b05746613516599c916a8cc2e321077",
        "0bf09e829dd4b07227ed5a8bc4ac85752a044458"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 18:32:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 18:32:37 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac\n\nPull EDAC internal API changes from Mauro Carvalho Chehab:\n \"This changeset is the first part of a series of patches that fixes the\n  EDAC sybsystem.  On this set, it changes the Kernel EDAC API in order\n  to properly represent the Intel i3/i5/i7, Xeon 3xxx/5xxx/7xxx, and\n  Intel E5-xxxx memory controllers.\n\n  The EDAC core used to assume that:\n\n       - the DRAM chip select pin is directly accessed by the memory\n         controller\n\n       - when multiple channels are used, they\u0027re all filled with the\n         same type of memory.\n\n  None of the above premises is true on Intel memory controllers since\n  2002, when RAMBUS and FB-DIMMs were introduced, and Advanced Memory\n  Buffer or by some similar technologies hides the direct access to the\n  DRAM pins.\n\n  So, the existing drivers for those chipsets had to lie to the EDAC\n  core, in general telling that just one channel is filled.  That\n  produces some hard to understand error messages like:\n\n       EDAC MC0: CE row 3, channel 0, label \"DIMM1\": 1 Unknown error(s): memory read error on FATAL area : cpu\u003d0 Err\u003d0008:00c2 (ch\u003d2), addr \u003d 0xad1f73480 \u003d\u003e socket\u003d0, Channel\u003d0(mask\u003d2), rank\u003d1\n\n  The location information there (row3 channel 0) is completely bogus:\n  it has no physical meaning, and are just some random values that the\n  driver uses to talk with the EDAC core.  The error actually happened\n  at CPU socket 0, channel 0, slot 1, but this is not reported anywhere,\n  as the EDAC core doesn\u0027t know anything about the memory layout.  So,\n  only advanced users that know how the EDAC driver works and that tests\n  their systems to see how DIMMs are mapped can actually benefit for\n  such error logs.\n\n  This patch series fixes the error report logic, in order to allow the\n  EDAC to expose the memory architecture used by them to the EDAC core.\n  So, as the EDAC core now understands how the memory is organized, it\n  can provide an useful report:\n\n       EDAC MC0: CE memory read error on DIMM1 (channel:0 slot:1 page:0x364b1b offset:0x600 grain:32 syndrome:0x0 - count:1 area:DRAM err_code:0001:0090 socket:0 channel_mask:1 rank:4)\n\n  The location of the DIMM where the error happened is reported by \"MC0\"\n  (cpu socket #0), at \"channel:0 slot:1\" location, and matches the\n  physical location of the DIMM.\n\n  There are two remaining issues not covered by this patch series:\n\n       - The EDAC sysfs API will still report bogus values.  So,\n         userspace tools like edac-utils will still use the bogus data;\n\n       - Add a new tracepoint-based way to get the binary information\n         about the errors.\n\n  Those are on a second series of patches (also at -next), but will\n  probably miss the train for 3.5, due to the slow review process.\"\n\nFix up trivial conflict (due to spelling correction of removed code) in\ndrivers/edac/edac_device.c\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: (42 commits)\n  i7core: fix ranks information at the per-channel struct\n  i5000: Fix the fatal error handling\n  i5100_edac: Fix a warning when compiled with 32 bits\n  i82975x_edac: Test nr_pages earlier to save a few CPU cycles\n  e752x_edac: provide more info about how DIMMS/ranks are mapped\n  i5000_edac: Fix the logic that retrieves memory information\n  i5400_edac: improve debug messages to better represent the filled memory\n  edac: Cleanup the logs for i7core and sb edac drivers\n  edac: Initialize the dimm label with the known information\n  edac: Remove the legacy EDAC ABI\n  x38_edac: convert driver to use the new edac ABI\n  tile_edac: convert driver to use the new edac ABI\n  sb_edac: convert driver to use the new edac ABI\n  r82600_edac: convert driver to use the new edac ABI\n  ppc4xx_edac: convert driver to use the new edac ABI\n  pasemi_edac: convert driver to use the new edac ABI\n  mv64x60_edac: convert driver to use the new edac ABI\n  mpc85xx_edac: convert driver to use the new edac ABI\n  i82975x_edac: convert driver to use the new edac ABI\n  i82875p_edac: convert driver to use the new edac ABI\n  ...\n"
    },
    {
      "commit": "7e5b2db77b05746613516599c916a8cc2e321077",
      "tree": "c3ec333ff7b77bcc8e456a3a3d19bf20f5c651b8",
      "parents": [
        "227d1e4319ffd8729781941d92f4ae4d85beecd9",
        "c819baf31f5f91fbb06b2c93de2d5b8c8d096f3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 18:27:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 18:27:19 2012 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus\n\nPull MIPS updates from Ralf Baechle:\n \"The whole series has been sitting in -next for quite a while with no\n  complaints.  The last change to the series was before the weekend the\n  removal of an SPI patch which Grant - even though previously acked by\n  himself - appeared to raise objections.  So I removed it until the\n  situation is clarified.  Other than that all the patches have the acks\n  from their respective maintainers, all MIPS and x86 defconfigs are\n  building fine and I\u0027m not aware of any problems introduced by this\n  series.\n\n  Among the key features for this patch series is a sizable patchset for\n  Lantiq which among other things introduces support for Lantiq\u0027s\n  flagship product, the FALCON SOC.  It also means that the opensource\n  developers behind this patchset have overtaken Lantiq\u0027s competing\n  inhouse development team that was working behind closed doors.\n\n  Less noteworthy the ath79 patchset which adds support for a few more\n  chip variants, cleanups and fixes.  Finally the usual dose of tweaking\n  of generic code.\"\n\nFix up trivial conflicts in arch/mips/lantiq/xway/gpio_{ebu,stp}.c where\nprintk spelling fixes clashed with file move and eventual removal of the\nprintk.\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (81 commits)\n  MIPS: lantiq: remove orphaned code\n  MIPS: Remove all -Wall and almost all -Werror usage from arch/mips.\n  MIPS: lantiq: implement support for FALCON soc\n  MTD: MIPS: lantiq: verify that the NOR interface is available on falcon soc\n  MTD: MIPS: lantiq: implement OF support\n  watchdog: MIPS: lantiq: implement OF support and minor fixes\n  SERIAL: MIPS: lantiq: implement OF support\n  GPIO: MIPS: lantiq: convert gpio-stp-xway to OF\n  GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio\n  GPIO: MIPS: lantiq: move gpio-stp and gpio-ebu to the subsystem folder\n  MIPS: pci: convert lantiq driver to OF\n  MIPS: lantiq: convert dma to platform driver\n  MIPS: lantiq: implement support for clkdev api\n  MIPS: lantiq: drop ltq_gpio_request() and gpio_to_irq()\n  OF: MIPS: lantiq: implement irq_domain support\n  OF: MIPS: lantiq: implement OF support\n  MIPS: lantiq: drop mips_machine support\n  OF: PCI: const usage needed by MIPS\n  MIPS: Cavium: Remove smp_reserve_lock.\n  MIPS: Move cache setup to setup_arch().\n  ...\n"
    },
    {
      "commit": "eb86c3064b3c53837fdfea17df1483d825919894",
      "tree": "0d408fe43f43248477bb521fdd5b6856878199b0",
      "parents": [
        "f8ae97019ff79559416dc2ae9c14af92c2054cba"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Tue May 29 15:07:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: ds1307: add trickle charger support\n\nSome DS13XX devices have \"trickle chargers\".  Its configuration register\nis at different locations, the setup is the same, though.  Since the\nconfiguration is board specific, introduce a platform_data to this driver.\nTested with a DS1339 on a custom board.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Alessandro Zummo \u003calessandro.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e311c9295912209dcf8e54de5401f8518112b7f8",
      "tree": "e1016bbb7d43aa6086ea0ee5d1935b309d43d81c",
      "parents": [
        "84d56b38b9abd36565f74cbf68501cee6206761e"
      ],
      "author": {
        "name": "Alexander Stein",
        "email": "alexander.stein@systec-electronic.com",
        "time": "Tue May 29 15:07:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:33 2012 -0700"
      },
      "message": "rtc: add ioctl to get/clear battery low voltage status\n\nCurrently there is no generic way to get the RTC battery status within an\napplication.  So add an ioctl to read the status bit.  The idea is that\nthe bit is set once a low voltage is detected.  It stays there until it is\nreset using the RTC_VL_CLR ioctl.\n\nSigned-off-by: Alexander Stein \u003calexander.stein@systec-electronic.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796dd200db943e36f876e7029552212e5bbdf33",
      "tree": "a594c2b1ce1f4dbc96b25a516e49655917a9fa30",
      "parents": [
        "05a6c8a9226599f921bd0b6e439dbc04df96a6fc"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "vsprintf: fix %ps on non symbols when using kallsyms\n\nUsing %ps in a printk format will sometimes fail silently and print the\nempty string if the address passed in does not match a symbol that\nkallsyms knows about.  But using %pS will fall back to printing the full\naddress if kallsyms can\u0027t find the symbol.  Make %ps act the same as %pS\nby falling back to printing the address.\n\nWhile we\u0027re here also make %ps print the module that a symbol comes from\nso that it matches what %pS already does.  Take this simple function for\nexample (in a module):\n\n\tstatic void test_printk(void)\n\t{\n\t\tint test;\n\t\tpr_info(\"with pS: %pS\\n\", \u0026test);\n\t\tpr_info(\"with ps: %ps\\n\", \u0026test);\n\t}\n\nBefore this patch:\n\n with pS: 0xdff7df44\n with ps:\n\nAfter this patch:\n\n with pS: 0xdff7df44\n with ps: 0xdff7df44\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8035a50224302f9eb129d210daf263405d5a91fd"
}
