)]}'
{
  "log": [
    {
      "commit": "897672e9ff884e2d3bb6cca9d29417e042a0fb17",
      "tree": "efb78144e682ff6d8a5bbe1d99e39e739673a296",
      "parents": [
        "ff3ab81c21478c6aa1ad1c1c05c188051b57ed64"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu May 06 15:37:55 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:50 2012 -0700"
      },
      "message": "sched: Add a generic notifier when a task struct is about to be freed\n\nThis patch adds a notifier which can be used by subsystems that may\nbe interested in when a task has completely died and is about to\nhave it\u0027s last resource freed.\n\n  The Android lowmemory killer uses this to determine when a task\nit has killed has finally given up its goods.\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "ff3ab81c21478c6aa1ad1c1c05c188051b57ed64",
      "tree": "f7850b95f374a011dd71bb5aea10c54ff7e03e5e",
      "parents": [
        "38c6302d9f919410ea05a5820c05a7807573917e"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Mar 18 16:04:18 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:50 2012 -0700"
      },
      "message": "wlan: Extract generic wlan platform data from tiwlan specific header\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "5188eeeaa673e45a22e9433bb596fef1a16e56d6",
      "tree": "7b00f178bea2327ccf7c41284179a32f295a2e14",
      "parents": [
        "e7ba60ce77d7375805a7ff61010f8f83b169eec7"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Jul 29 20:21:28 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:48 2012 -0700"
      },
      "message": "serial_core: Add wake_peer uart operation\n\nAdd wake_peer which is called before starting UART TX. The idea here\nis to provide a mechanism where we can wakeup our peer before sending\ndata.\n\nChange-Id: I42e0779b635f64ca99184b45d5b028de80197491\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "5dfd8cd6b1626948625f0e2ba25255fa665704ca",
      "tree": "9c6b057c139ca8ede3f2138bea04815292c7724f",
      "parents": [
        "609a71dba026f4fa2899951378abd07d3342e06e"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Jun 11 10:49:48 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:48 2012 -0700"
      },
      "message": "wl127x-rfkill: Add power control driver for TI WL127X Bluetooth chips\n\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "0432013eb1fbddf51f43d3dfb7553db011c81707",
      "tree": "b6600e6562949114ccb4ca32f5fec339738a9340",
      "parents": [
        "c54f674c656d66a27f555bdc85e122808f65d119"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jun 19 07:15:05 2009 +0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:47 2012 -0700"
      },
      "message": "security: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable().\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n"
    },
    {
      "commit": "c54f674c656d66a27f555bdc85e122808f65d119",
      "tree": "2a102b3cc2e7dbaa77ef68fd538059abcd1c7350",
      "parents": [
        "803341c2bb02460da149a6a72edc4eea1b663f9c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sat Jun 13 02:29:04 2009 +0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:47 2012 -0700"
      },
      "message": "net: PPPoPNS and PPPoLAC fixes.\n\nnet: Fix a bitmask in PPPoPNS and rename constants in PPPoPNS and PPPoLAC.\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nnet: Fix a potential deadlock while releasing PPPoLAC/PPPoPNS socket.\n\nPPP driver guarantees that no thread will be executing start_xmit() after\nreturning from ppp_unregister_channel(). To achieve this, a spinlock (downl)\nis used. In pppolac_release(), ppp_unregister_channel() is called after sk_udp\nis locked. At the same time, another thread might be running in pppolac_xmit()\nwith downl. Thus a deadlock will occur if the thread tries to lock sk_udp.\nThe same situation might happen on sk_raw in pppopns_release().\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nnet: Force PPPoLAC and PPPoPNS to bind an interface before creating PPP channel.\n\nIt is common to manipulate the routing table after configuring PPP device.\nSince both PPPoLAC and PPPoPNS run over IP, care must be taken to make sure\nthat there is no loop in the routing table.\nAlthough this can be done by adding a host route, it might still cause\nproblems when the interface is down for some reason.\n\nTo solve this, this patch forces both drivers to bind an interface before\ncreating PPP channel, so the system will not re-route the tunneling sockets\nto another interface when the original one is down. Another benefit is that\nnow the host route is no longer required, so there is no need to remove it\nwhen PPP channel is closed.\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nnet: Avoid sleep-inside-spinlock in PPPoLAC and PPPoPNS.\n\nSince recv() and xmit() are called with a spinlock held, routines which might\nsleep cannot be used. This issue is solved by following changes:\n\nIncoming packets are now processed in backlog handler, recv_core(), instead of\nrecv(). Since backlog handler is always executed with socket spinlock held, the\nrequirement of ppp_input() is still satisfied.\n\nOutgoing packets are now processed in workqueue handler, xmit_core(), instead of\nxmit(). Note that kernel_sendmsg() is no longer used to prevent touching dead\nsockets.\n\nIn release(), lock_sock() and pppox_unbind_sock() ensure that no thread is in\nrecv_core() or xmit(). Then socket handlers are restored before release_sock(),\nso no packets will leak in backlog queue.\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nnet: Fix msg_iovlen in PPPoLAC and PPPoPNS.\n\nAlthough any positive value should work (which is always true in both drivers),\nthe correct value should be 1.\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n"
    },
    {
      "commit": "803341c2bb02460da149a6a72edc4eea1b663f9c",
      "tree": "8220b8ac25d9467bcbd0dd367252c029571031e3",
      "parents": [
        "49c48cb5388cb3b7aee62e1ea75381a033dd55dc"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jun 12 01:09:30 2009 +0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:46 2012 -0700"
      },
      "message": "net: add PPP on PPTP Network Server (PPPoPNS) driver.\n\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nppopns: dont include px_proto define in if_pppopns.h\n\nChange-Id: I27e687667db5b45182562f4a517a2e6cec6b1350\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "49c48cb5388cb3b7aee62e1ea75381a033dd55dc",
      "tree": "cbf3a799e527c92444d2ea0e8ecadb366327344b",
      "parents": [
        "c00b45630b656ea814ec5528fadb3d8c36ccb1dd"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri May 08 04:02:40 2009 +0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:46 2012 -0700"
      },
      "message": "net: add PPP on L2TP Access Concentrator (PPPoLAC) driver.\n\nChange-Id: I3ae3ee7520951ae24269db0ef2898c6455cf6bcc\nSigned-off-by: Chia-chi Yeh \u003cchiachi@android.com\u003e\n\nppolac: dont include px_proto define in if_pppolac.h\n\nChange-Id: I55bc9cf91ea0e9e8f7bf5d6e241d188e1269343a\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "1412013d8711beaf732de5db405628a30d74cd49",
      "tree": "34a86cfa7998e0205ccfc3bfc672557f288303ec",
      "parents": [
        "2f4735e514e3e3ed9e55a8cd3c2c90690ee44b90"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Dec 18 09:55:20 2008 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:45 2012 -0700"
      },
      "message": "tiwlan: Add abstract wifi control functions support\n"
    },
    {
      "commit": "26d2321b3fdcca2c1b7b062ad4a726ca961416d5",
      "tree": "ec1709b1e261c8f3242a7b1278a129e5c64309ee",
      "parents": [
        "aa3b5f775c46006334bbef15e9fafdec51938ced"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 07 17:28:58 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:45 2012 -0700"
      },
      "message": "mmc: core: host: only use wakelock for detect work\n\nThere is no need to take a wakelock for delayed lazy disable\nwork, it will be cancelled in the suspend handler and force\ndisabled.  Only take the wakelock when the detect work is\nqueued, and make sure to drop the wakelock if the work is\ncancelled.\n\nChange-Id: I1e507a5f98848954ea21d45e23b6192c3132a349\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "0eb9a8f9d0c6ac5b4c29ba9f1c198b44c8ebb4c1",
      "tree": "d55b8533e803d91f41b9bdcb72e7cc43abc1f16c",
      "parents": [
        "73ae60c90edb8973080b4ca5d82cc9a1ad1e17d4"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Oct 14 15:20:21 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:44 2012 -0700"
      },
      "message": "mmc: Fix pm_notifier obeying deferred resume\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "73ae60c90edb8973080b4ca5d82cc9a1ad1e17d4",
      "tree": "8f600933fd3a8f31066f2f9ae470ca5c56289415",
      "parents": [
        "fe6271ebd85b3e4deb44b109bce9c2a3438ddea4"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Oct 07 14:39:16 2010 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:57:44 2012 -0700"
      },
      "message": "mmc: Add \"ignore mmc pm notify\" functionality\n\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "41d9d91eeb7288e34a7631b4446b0f642055daa7",
      "tree": "e7727847f8bdb38f500ee40f87c5418c355c6ca6",
      "parents": [
        "28c97583c32bb755bea693a0c822a5c900f1d8ea"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Jul 30 07:55:28 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:18 2012 -0700"
      },
      "message": "mmc: core: Add deferred bus resume policy.\n\nA card driver can now specify that the underlying bus should *not*\nauto-resume with the rest of the system. This is useful for reducing resume\nlatency as well as saving power when the card driver is not using the\nbus. In the future, we\u0027ll add support for manual suspend\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "4748cba95de98658184c25da60474c84d785647f",
      "tree": "da67c20d69cb6136af3ec4d058056b13ff77676e",
      "parents": [
        "e01587a794fa2ee14d3559a7d919af7e386a03e4"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Nov 11 11:22:38 2008 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:17 2012 -0700"
      },
      "message": "trout: Add functions for WiFi\n"
    },
    {
      "commit": "e01587a794fa2ee14d3559a7d919af7e386a03e4",
      "tree": "1899dadbd1c1e121969364b78a99a39ddadd887c",
      "parents": [
        "c80f54655ee1c5ff3e2d7d5e81fca89d5f8b845f"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Mon Apr 14 15:22:49 2008 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:17 2012 -0700"
      },
      "message": "mmc: Add concept of an \u0027embedded\u0027 SDIO device.\n\nThis is required to support chips which use SDIO for signaling/\ncommunication but do not implement the various card enumeration registers\nas required for full SD / SDIO cards.\n\nmmc: sdio: Fix bug where we\u0027re freeing the CIS tables we never allocated when using EMBEDDED_SDIO\nmmc: Add max_blksize to embedded SDIO data\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "4714774f512a66623179b63945b17607db246201",
      "tree": "cb0380852ce90c52110a2e64e0282323c4670bfb",
      "parents": [
        "46b612beaa176bb35c1007864c5f56895a5d7336"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Nov 10 16:29:50 2008 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:16 2012 -0700"
      },
      "message": "mmc: Add status IRQ and status callback function to mmc platform data\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "46b612beaa176bb35c1007864c5f56895a5d7336",
      "tree": "dec5426670f19e7e1e20b58dacd5ec6aa60af61a",
      "parents": [
        "9cc8899de3cf51d04bca3bd324400a561a335dd6"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue Aug 21 21:56:46 2007 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:16 2012 -0700"
      },
      "message": "Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\nInput: synaptics_i2c_rmi: disable_irq -\u003e disable_irq_nosync\n\nAlso remove duplicate swap macro\n\nChange-Id: I77266431ba5c267a5d92c4bdc2f127a5297065a8\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "9cc8899de3cf51d04bca3bd324400a561a335dd6",
      "tree": "b02003476f87b6af6306c210aa1ed42d9ac00c19",
      "parents": [
        "42e58cb24415069bd742573b2772636be57ec330"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 15 14:51:56 2008 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:16 2012 -0700"
      },
      "message": "input: keychord: Add keychord driver\n\nThis driver allows userspace to receive notification when client\nspecified key combinations are pressed.\nThe client opens /dev/keychord and writes a list of keychords\nfor the driver to monitor.\nThe client then reads or polls /dev/keychord for notifications.\nA client specified ID for the keychord is returned from read()\nwhen a keychord press is detected.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nkeychord: fix to build without CONFIG_PREEMPT\n\nChange-Id: I911f13aeda4224b6fa57863bc7e8972fec8837fb\n"
    },
    {
      "commit": "42e58cb24415069bd742573b2772636be57ec330",
      "tree": "ae2a1556ca74408a34ee09aed1a63f4e9cfd2b6a",
      "parents": [
        "f654100bb91b7a4ea9f2a8c19cc0a50d8c6d9ba0"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Fri Nov 21 21:47:23 2008 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:16 2012 -0700"
      },
      "message": "input: Add keyreset driver.\n\nAdd a platform device in the board file to specify a reset key-combo.\nThe first time the key-combo is detected a work function that syncs\nthe filesystems is scheduled. If all the keys are released and then\npressed again, it calls panic. Reboot on panic should be set for\nthis to work.\n\nChange-Id: I9d54283ca1fba45e4b1ae1a407524cdda8171143\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "c3fffcb1895a47ea29892243af23b67a3c989174",
      "tree": "35e4ef0071dae0c3a12cf4b0864589eb5234c3c2",
      "parents": [
        "f371eddcad165d21445bfa00051dc3a691956ae3"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Wed Oct 15 18:23:47 2008 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:16 2012 -0700"
      },
      "message": "Input: Generic GPIO Input device.\n\nSupports keyboard matrixces, direct inputs, direct outputs and axes connected to gpios.\n\nChange-Id: I5e921e6e3a1cc169316ee3b665f4cc21b5735114\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "b1042b959541c43c8a70cc5c64137a2a5b329ec0",
      "tree": "9e393c1cca4c3bd3dbea8ab585cf873a65f885e2",
      "parents": [
        "5a0b3548945769cf631a21e769f14a9ba8ae1c99"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 15 13:29:36 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "FAT: Add new ioctl VFAT_IOCTL_GET_VOLUME_ID for reading the volume ID.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\n"
    },
    {
      "commit": "5a0b3548945769cf631a21e769f14a9ba8ae1c99",
      "tree": "5fd686e471913689408a3c843e68f3f539320142",
      "parents": [
        "4364dda78fc5a61c05b4469f69090446f5cbeac8"
      ],
      "author": {
        "name": "Mike Chan",
        "email": "mike@android.com",
        "time": "Wed Jan 07 11:40:42 2009 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "misc: uidstat: Adding uid stat driver to collect network statistics.\n\nSigned-off-by: Mike Chan \u003cmike@android.com\u003e\n"
    },
    {
      "commit": "2365d054980471b7fcb6d862169ddcec1eb52f4d",
      "tree": "532fd00c912501470daba9a90ab5d0248843929c",
      "parents": [
        "2038692b9acf7ae3054a35e879039ff062316bf0"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Mon May 12 17:08:29 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:15 2012 -0700"
      },
      "message": "net: socket ioctl to reset connections matching local address\n\nIntroduce a new socket ioctl, SIOCKILLADDR, that nukes all sockets\nbound to the same local address. This is useful in situations with\ndynamic IPs, to kill stuck connections.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\n\nnet: fix tcp_v4_nuke_addr\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix a spinlock recursion bug in tcp_v4_nuke.\n\nWe can\u0027t hold the lock while calling to tcp_done(), so we drop\nit before calling. We then have to start at the top of the chain again.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n\nnet: ipv4: Fix race in tcp_v4_nuke_addr().\n\nTo fix a recursive deadlock in 2.6.29, we stopped holding the hash table lock\nacross tcp_done() calls. This fixed the deadlock, but introduced a race where\nthe socket could die or change state.\n\nFix: Before unlocking the hash table, we grab a reference to the socket. We\ncan then unlock the hash table without risk of the socket going away. We then\nlock the socket, which is safe because it is pinned. We can then call\ntcp_done() without recursive deadlock and without race. Upon return, we unlock\nthe socket and then unpin it, killing it.\n\nChange-Id: Idcdae072b48238b01bdbc8823b60310f1976e045\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nAcked-by: Dima Zavin \u003cdima@android.com\u003e\n\nipv4: disable bottom halves around call to tcp_done().\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n\nipv4: Move sk_error_report inside bh_lock_sock in tcp_v4_nuke_addr\n\nWhen sk_error_report is called, it wakes up the user-space thread, which then\ncalls tcp_close.  When the tcp_close is interrupted by the tcp_v4_nuke_addr\nioctl thread running tcp_done, it leaks 392 bytes and triggers a WARN_ON.\n\nThis patch moves the call to sk_error_report inside the bh_lock_sock, which\nmatches the locking used in tcp_v4_err.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "d92aa582e4cf5c378defc14b892ae056c9db65b6",
      "tree": "d3cd1ff19186370eb2f8757a11ecd005621c4b01",
      "parents": [
        "8d9e6aca1f6042e53123be3eda327a955a509a35"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 15 18:51:04 2011 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "ashmem: Add shmem_set_file to mm/shmem.c\n\nNOT FOR STAGING\nThis patch re-adds the original shmem_set_file to mm/shmem.c\nand converts ashmem.c back to using it.\n\nCC: Brian Swetland \u003cswetland@google.com\u003e\nCC: Colin Cross \u003cccross@android.com\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Dima Zavin \u003cdima@android.com\u003e\nCC: Robert Love \u003crlove@google.com\u003e\nCC: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8d9e6aca1f6042e53123be3eda327a955a509a35",
      "tree": "bc9f8ef65a63452c62c740adc368f1ee4eb92acc",
      "parents": [
        "80d38eaf3d88a59b25b38479bac012e4cb104b8e"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rlove@google.com",
        "time": "Wed Oct 15 15:34:49 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "Add android_aid.h\n\nAdd \u003clinux/android_aid.h\u003e, our mapping of AID defines to gid numbers.\n\nSigned-off-by: Robert Love \u003crlove@google.com\u003e\n"
    },
    {
      "commit": "80d38eaf3d88a59b25b38479bac012e4cb104b8e",
      "tree": "50a7bbd49331fac284ec509e101f0a3a770c066e",
      "parents": [
        "836ad4845a8a93a83cef6e73230abc0a76740416"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Oct 14 12:50:16 2008 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "switch: switch class and GPIO drivers.\n\nswitch: Export symbol switch_set_state.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nswitch: gpio: Don\u0027t call request_irq with interrupts disabled\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\nswitch: Use device_create instead of device_create_drvdata.\n\ndevice_create_drvdata is obsolete.\n\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n\nswitch_gpio: Add missing #include \u003clinux/interrupt.h\u003e\n\nChange-Id: I6c397e41bbe1457162cc69e31a29db5d9f76fccb\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "836ad4845a8a93a83cef6e73230abc0a76740416",
      "tree": "ea11bc9081ffb5a25581b8c009a636fc01fbdb6a",
      "parents": [
        "783820ba98710e0529c4a358a73ec1999dc4e7fd"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Sep 21 17:26:47 2009 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:14 2012 -0700"
      },
      "message": "power_supply: Hold a wake_lock while power supply change notifications are pending\n\nWhen connecting usb or the charger the device would often go back to sleep\nbefore the charge led and screen turned on.\n\nChange-Id: I01def6d86ddece0d4e31d2a91d176ed0975b6b9d\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "783820ba98710e0529c4a358a73ec1999dc4e7fd",
      "tree": "ffbacfcc5f76dcae3dd018ed5ffd295cc19abdad",
      "parents": [
        "d3bf8aef81537ca5d92c1c97c9f6482bf252a687"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Fri Oct 17 15:20:55 2008 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:13 2012 -0700"
      },
      "message": "Input: evdev - Add ioctl to block suspend while event queue is not empty.\n\nAdd an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block\nsuspend while the event queue is not empty. This allows userspace code to\nprocess input events while the device appears to be asleep.\n\nThe current code holds the wakelock for up 5 seconds for every input\ndevice and client. This can prevent suspend if sensor with a high data\nrate is active, even when that sensor is not capable of waking the\ndevice once it is suspended.\n\nChange-Id: I624d66ef30a0b3abb543685c343382b8419b42b9\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "e9911f4efdc55af703b8b3bb8c839e6f5dd173bb",
      "tree": "eb9da39fd831ca18842f7265b961064676402679",
      "parents": [
        "6bb1a6fef7f8048380ff51493b56b43688cd15ec"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Fri Mar 16 17:44:42 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:13 2012 -0700"
      },
      "message": "PM / Sleep: Add wake lock api wrapper on top of wakeup sources\n\nChange-Id: Icaad02fe1e8856fdc2e4215f380594a5dde8e002\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\n"
    },
    {
      "commit": "befae2f2c9137d6af5c8b38670f00441019032bb",
      "tree": "5ce3739615c8c9798671af88aa9d3124e720a7d0",
      "parents": [
        "4a12178d3dd5b06a215076c60dc7cb124d711373"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 23 21:37:04 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:12 2012 -0700"
      },
      "message": "cgroup: Remove call to synchronize_rcu in cgroup_attach_task\n\nsynchronize_rcu can be very expensive, averaging 100 ms in\nsome cases.  In cgroup_attach_task, it is used to prevent\na task-\u003ecgroups pointer dereferenced in an RCU read side\ncritical section from being invalidated, by delaying the\ncall to put_css_set until after an RCU grace period.\n\nTo avoid the call to synchronize_rcu, make the put_css_set\ncall rcu-safe by moving the deletion of the css_set links\ninto free_css_set_work, scheduled by the rcu callback\nfree_css_set_rcu.\n\nThe decrement of the cgroup refcount is no longer\nsynchronous with the call to put_css_set, which can result\nin the cgroup refcount staying positive after the last call\nto cgroup_attach_task returns.  To allow the cgroup to be\ndeleted with cgroup_rmdir synchronously after\ncgroup_attach_task, have rmdir check the refcount of all\nassociated css_sets.  If cgroup_rmdir is called on a cgroup\nfor which the css_sets all have refcount zero but the\ncgroup refcount is nonzero, reuse the rmdir waitqueue to\nblock the rmdir until free_css_set_work is called.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n\nConflicts:\n\n\tkernel/cgroup.c\n\nChange-Id: I3b3f245c8f5e2e5d33f1e54178b2bb6ef10a0817\n"
    },
    {
      "commit": "4a12178d3dd5b06a215076c60dc7cb124d711373",
      "tree": "1dc08159c9da00136cfb3dc6d18a1d8c138eef1b",
      "parents": [
        "c0f6fa8c409fc7fe63bfd0a57efad29dec262bcb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 12 19:53:24 2011 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:11 2012 -0700"
      },
      "message": "cgroup: Add generic cgroup subsystem permission checks\n\nRather than using explicit euid \u003d\u003d 0 checks when trying to move\ntasks into a cgroup via CFS, move permission checks into each\nspecific cgroup subsystem. If a subsystem does not specify a\n\u0027allow_attach\u0027 handler, then we fall back to doing our checks\nthe old way.\n\nUse the \u0027allow_attach\u0027 handler for the \u0027cpu\u0027 cgroup to allow\nnon-root processes to add arbitrary processes to a \u0027cpu\u0027 cgroup\nif it has the CAP_SYS_NICE capability set.\n\nThis version of the patch adds a \u0027allow_attach\u0027 handler instead\nof reusing the \u0027can_attach\u0027 handler.  If the \u0027can_attach\u0027 handler\nis reused, a new cgroup that implements \u0027can_attach\u0027 but not\nthe permission checks could end up with no permission checks\nat all.\n\nChange-Id: Icfa950aa9321d1ceba362061d32dc7dfa2c64f0c\nOriginal-Author: San Mehat \u003csan@google.com\u003e\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "c0f6fa8c409fc7fe63bfd0a57efad29dec262bcb",
      "tree": "55038e534a392da0691a5d88102cdb3110215696",
      "parents": [
        "e5e483d13369ab62d95f1738edce3cd64c7ca2ff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 23 21:37:03 2010 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:11 2012 -0700"
      },
      "message": "cgroup: Set CGRP_RELEASABLE when adding to a cgroup\n\nChanges the meaning of CGRP_RELEASABLE to be set on any cgroup\nthat has ever had a task or cgroup in it, or had css_get called\non it.  The bit is set in cgroup_attach_task, cgroup_create,\nand __css_get.  It is not necessary to set the bit in\ncgroup_fork, as the task is either in the root cgroup, in\nwhich can never be released, or the task it was forked from\nalready set the bit in croup_attach_task.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\n"
    },
    {
      "commit": "b7d739c58e38e3430b216c789e2a61effc5d10e9",
      "tree": "4e0b3e581ccb90cfa1311e879167c02cf31e0f56",
      "parents": [
        "c8ffd5b3852c164f41b89a40b3f3ffd65299b93a"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Wed Aug 17 18:31:58 2011 -0500"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Apr 09 13:53:09 2012 -0700"
      },
      "message": "panic: Add board ID to panic output\n\nAt times, it is necessary for boards to provide some additional information\nas part of panic logs. Provide information on the board hardware as part\nof panic logs.\n\nIt is safer to print this information at the very end in case something\nbad happens as part of the information retrieval itself.\n\nTo use this, set global mach_panic_string to an appropriate string in the\nboard file.\n\nChange-Id: Id12cdda87b0cd2940dd01d52db97e6162f671b4d\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\n"
    },
    {
      "commit": "23f347ef63aa36b5a001b6791f657cd0e2a04de3",
      "tree": "ce06ebdccd16b99265b3e74f8e9b7bd1e29cf465",
      "parents": [
        "314489bd4c7780fde6a069783d5128f6cef52919",
        "110c43304db6f06490961529536c362d9ac5732f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 10:37:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 10:37:38 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) Fix inaccuracies in network driver interface documentation, from Ben\n    Hutchings.\n\n 2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.\n\n 3) Compile warning, locking, and refcounting fixes in netfilter\u0027s\n    xt_CT, from Pablo Neira Ayuso.\n\n 4) phonet sendmsg needs to validate user length just like any other\n    datagram protocol, fix from Sasha Levin.\n\n 5) Ipv6 multicast code uses wrong loop index, from RongQing Li.\n\n 6) Link handling and firmware fixes in bnx2x driver from Yaniv Rosner\n    and Yuval Mintz.\n\n 7) mlx4 erroneously allocates 4 pages at a time, regardless of page\n    size, fix from Thadeu Lima de Souza Cascardo.\n\n 8) SCTP socket option wasn\u0027t extended in a backwards compatible way,\n    fix from Thomas Graf.\n\n 9) Add missing address change event emissions to bonding, from Shlomo\n    Pongratz.\n\n10) /proc/net/dev regressed because it uses a private offset to track\n    where we are in the hash table, but this doesn\u0027t track the offset\n    pullback that the seq_file code does resulting in some entries being\n    missed in large dumps.\n\n    Fix from Eric Dumazet.\n\n11) do_tcp_sendpage() unloads the send queue way too fast, because it\n    invokes tcp_push() when it shouldn\u0027t.  Let the natural sequence\n    generated by the splice paths, and the assosciated MSG_MORE\n    settings, guide the tcp_push() calls.\n\n    Otherwise what goes out of TCP is spaghetti and doesn\u0027t batch\n    effectively into GSO/TSO clusters.\n\n    From Eric Dumazet.\n\n12) Once we put a SKB into either the netlink receiver\u0027s queue or a\n    socket error queue, it can be consumed and freed up, therefore we\n    cannot touch it after queueing it like that.\n\n    Fixes from Eric Dumazet.\n\n13) PPP has this annoying behavior in that for every transmit call it\n    immediately stops the TX queue, then calls down into the next layer\n    to transmit the PPP frame.\n\n    But if that next layer can take it immediately, it just un-stops the\n    TX queue right before returning from the transmit method.\n\n    Besides being useless work, it makes several facilities unusable, in\n    particular things like the equalizers.  Well behaved devices should\n    only stop the TX queue when they really are full, and in PPP\u0027s case\n    when it gets backlogged to the downstream device.\n\n    David Woodhouse therefore fixed PPP to not stop the TX queue until\n    it\u0027s downstream can\u0027t take data any more.\n\n14) IFF_UNICAST_FLT got accidently lost in some recent stmmac driver\n    changes, re-add.  From Marc Kleine-Budde.\n\n15) Fix link flaps in ixgbe, from Eric W. Multanen.\n\n16) Descriptor writeback fixes in e1000e from Matthew Vick.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)\n  net: fix a race in sock_queue_err_skb()\n  netlink: fix races after skb queueing\n  doc, net: Update ndo_start_xmit return type and values\n  doc, net: Remove instruction to set net_device::trans_start\n  doc, net: Update netdev operation names\n  doc, net: Update documentation of synchronisation for TX multiqueue\n  doc, net: Remove obsolete reference to dev-\u003epoll\n  ethtool: Remove exception to the requirement of holding RTNL lock\n  MAINTAINERS: update for Marvell Ethernet drivers\n  bonding: properly unset current_arp_slave on slave link up\n  phonet: Check input from user before allocating\n  tcp: tcp_sendpages() should call tcp_push() once\n  ipv6: fix array index in ip6_mc_add_src()\n  mlx4: allocate just enough pages instead of always 4 pages\n  stmmac: re-add IFF_UNICAST_FLT for dwmac1000\n  bnx2x: Clear MDC/MDIO warning message\n  bnx2x: Fix BCM57711+BCM84823 link issue\n  bnx2x: Clear BCM84833 LED after fan failure\n  bnx2x: Fix BCM84833 PHY FW version presentation\n  bnx2x: Fix link issue for BCM8727 boards.\n  ...\n"
    },
    {
      "commit": "b4f79e5cb2182f27d151da6e223186f287a615d6",
      "tree": "bde77a721bae8c2fad81d261af0952fa9b0ce8f6",
      "parents": [
        "44c14c1d4cf9b6ef4993c4a69f479d1f13cb8b21"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Apr 05 14:38:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 06 02:43:12 2012 -0400"
      },
      "message": "ethtool: Remove exception to the requirement of holding RTNL lock\n\nCommit e52ac3398c3d772d372b9b62ab408fd5eec96840 (\u0027net: Use device\nmodel to get driver name in skb_gso_segment()\u0027) removed the only\nin-tree caller of ethtool ops that doesn\u0027t hold the RTNL lock.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35f9c09fe9c72eb8ca2b8e89a593e1c151f28fc2",
      "tree": "6e57508d6633c47b8846cfdbaefc33e6e0128a47",
      "parents": [
        "78d50217baf36093ab320f95bae0d6452daec85c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 05 03:05:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 19:04:27 2012 -0400"
      },
      "message": "tcp: tcp_sendpages() should call tcp_push() once\n\ncommit 2f533844242 (tcp: allow splice() to build full TSO packets) added\na regression for splice() calls using SPLICE_F_MORE.\n\nWe need to call tcp_flush() at the end of the last page processed in\ntcp_sendpages(), or else transmits can be deferred and future sends\nstall.\n\nAdd a new internal flag, MSG_SENDPAGE_NOTLAST, acting like MSG_MORE, but\nwith different semantic.\n\nFor all sendpage() providers, its a transparent change. Only\nsock_sendpage() and tcp_sendpages() can differentiate the two different\nflags provided by pipe_to_sendpage()\n\nReported-by: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Nandita Dukkipati \u003cnanditad@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Mahesh Bandewar \u003cmaheshb@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail\u003ecom\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "dac23b0d0513916498d40412818bd2c581b365f7",
      "tree": "e758624d444ab8d93f5f38cbcc34de5a8b77248d",
      "parents": [
        "6ede3d832aaa038e7465e677569f7acc96b4dcdf"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Apr 05 14:25:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:51 2012 -0700"
      },
      "message": "memcg swap: use mem_cgroup_uncharge_swap fix\n\nAlthough mem_cgroup_uncharge_swap has an empty placeholder for\n!CONFIG_CGROUP_MEM_RES_CTLR_SWAP the definition is placed in the\nCONFIG_SWAP ifdef block so we are missing the same definition for\n!CONFIG_SWAP which implies !CONFIG_CGROUP_MEM_RES_CTLR_SWAP.\n\nThis has not been an issue before, because mem_cgroup_uncharge_swap was\nnot called from !CONFIG_SWAP context.  But Hugh Dickins has a cleanup\npatch to call __mem_cgroup_commit_charge_swapin which is defined also\nfor !CONFIG_SWAP.\n\nLet\u0027s move both the empty definition and declaration outside of the\nCONFIG_SWAP block to avoid the following compilation error:\n\n  mm/memcontrol.c: In function \u0027__mem_cgroup_commit_charge_swapin\u0027:\n  mm/memcontrol.c:2837: error: implicit declaration of function \u0027mem_cgroup_uncharge_swap\u0027\n\nif CONFIG_SWAP is disabled.\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20955e891d828b2027281fe3295dae6af8e0423b",
      "tree": "551b8b4a3515f3b99e357e8cef5bc2e5d5051d50",
      "parents": [
        "7563ec4c211ba59c2331dc6b94a068250345c387"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "libfs: add simple_open()\n\ndebugfs and a few other drivers use an open-coded version of\nsimple_open() to pass a pointer from the file to the read/write file\nops.  Add support for this simple case to libfs so that we can remove\nthe many duplicate copies of this simple function.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
      "tree": "b279ac78cc010464a8c757f352303511a87b855d",
      "parents": [
        "6c216ec636f75d834461be15f83ec41a6759bd2b",
        "e4b41fb9dafb9af4fecb602bf73d858ab651eeed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 18:37:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 18:37:09 2012 -0700"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\nPull CIFS fixes from Steve French.\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  Fix UNC parsing on mount\n  Remove unnecessary check for NULL in password parser\n  CIFS: Fix VFS lock usage for oplocked files\n  Revert \"CIFS: Fix VFS lock usage for oplocked files\"\n  cifs: writing past end of struct in cifs_convert_address()\n  cifs: silence compiler warnings showing up with gcc-4.7.0\n  CIFS: Fix VFS lock usage for oplocked files\n"
    },
    {
      "commit": "6c216ec636f75d834461be15f83ec41a6759bd2b",
      "tree": "505ab410c3208e586fd7db0bb97364d8dac490a1",
      "parents": [
        "58bca4a8fa90fcf9069379653b396b2cec642f7f",
        "3751d3e85cf693e10e2c47c03c8caa65e171099b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:26:08 2012 -0700"
      },
      "message": "Merge tag \u0027for_linus-3.4-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb\n\nPull KGDB/KDB regression fixes from Jason Wessel:\n - Fix a Smatch warning that appeared in the 3.4 merge window\n - Fix kgdb test suite with SMP for all archs without HW single stepping\n - Fix kgdb sw breakpoints with CONFIG_DEBUG_RODATA\u003dy limitations on x86\n - Fix oops on kgdb test suite with CONFIG_DEBUG_RODATA\n - Fix kgdb test suite with SMP for all archs with HW single stepping\n\n* tag \u0027for_linus-3.4-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:\n  x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()\n  kgdb,debug_core: pass the breakpoint struct instead of address and memory\n  kgdbts: (2 of 2) fix single step awareness to work correctly with SMP\n  kgdbts: (1 of 2) fix single step awareness to work correctly with SMP\n  kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA\n  kdb: Fix smatch warning on dbg_io_ops-\u003eis_console\n"
    },
    {
      "commit": "58bca4a8fa90fcf9069379653b396b2cec642f7f",
      "tree": "483c535136b5b168f36326956453e80ce5aa6543",
      "parents": [
        "64ebe987311853ea857a244439de5b947a4b1b07",
        "64d70fe5d3640e1a89790ed21120921278f8cb86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:13:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:13:43 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/mszyprowski/linux-dma-mapping\n\nPull DMA mapping branch from Marek Szyprowski:\n \"Short summary for the whole series:\n\n  A few limitations have been identified in the current dma-mapping\n  design and its implementations for various architectures.  There exist\n  more than one function for allocating and freeing the buffers:\n  currently these 3 are used dma_{alloc, free}_coherent,\n  dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.\n\n  For most of the systems these calls are almost equivalent and can be\n  interchanged.  For others, especially the truly non-coherent ones\n  (like ARM), the difference can be easily noticed in overall driver\n  performance.  Sadly not all architectures provide implementations for\n  all of them, so the drivers might need to be adapted and cannot be\n  easily shared between different architectures.  The provided patches\n  unify all these functions and hide the differences under the already\n  existing dma attributes concept.  The thread with more references is\n  available here:\n\n    http://www.spinics.net/lists/linux-sh/msg09777.html\n\n  These patches are also a prerequisite for unifying DMA-mapping\n  implementation on ARM architecture with the common one provided by\n  dma_map_ops structure and extending it with IOMMU support.  More\n  information is available in the following thread:\n\n    http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819\n\n  More works on dma-mapping framework are planned, especially in the\n  area of buffer sharing and managing the shared mappings (together with\n  the recently introduced dma_buf interface: commit d15bd7ee445d\n  \"dma-buf: Introduce dma buffer sharing mechanism\").\n\n  The patches in the current set introduce a new alloc/free methods\n  (with support for memory attributes) in dma_map_ops structure, which\n  will later replace dma_alloc_coherent and dma_alloc_writecombine\n  functions.\"\n\nPeople finally started piping up with support for merging this, so I\u0027m\nmerging it as the last of the pending stuff from the merge window.\nLooks like pohmelfs is going to wait for 3.5 and more external support\nfor merging.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:\n  common: DMA-mapping: add NON-CONSISTENT attribute\n  common: DMA-mapping: add WRITE_COMBINE attribute\n  common: dma-mapping: introduce mmap method\n  common: dma-mapping: remove old alloc_coherent and free_coherent methods\n  Hexagon: adapt for dma_map_ops changes\n  Unicore32: adapt for dma_map_ops changes\n  Microblaze: adapt for dma_map_ops changes\n  SH: adapt for dma_map_ops changes\n  Alpha: adapt for dma_map_ops changes\n  SPARC: adapt for dma_map_ops changes\n  PowerPC: adapt for dma_map_ops changes\n  MIPS: adapt for dma_map_ops changes\n  X86 \u0026 IA64: adapt for dma_map_ops changes\n  common: dma-mapping: introduce generic alloc() and free() methods\n"
    },
    {
      "commit": "64ebe987311853ea857a244439de5b947a4b1b07",
      "tree": "b33ab6efd7f118e0f6ab5a6bcbd59ba31a313da5",
      "parents": [
        "a5149bf3fed59b94207809704b5d06fec337a771",
        "c4772d192c70b61d52262b0db76f7abd8aeb51c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull more power management updates from Rafael Wysocki:\n - Patch series that hopefully fixes races between the freezer and\n   request_firmware() and request_firmware_nowait() for good, with two\n   cleanups from Stephen Boyd on top.\n - Runtime PM fix from Alan Stern preventing tasks from getting stuck\n   indefinitely in the runtime PM wait queue.\n - Device PM QoS update from MyungJoo Ham introducing a new variant of\n   pm_qos_update_request() allowing the callers to specify a timeout.\n\n* tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / QoS: add pm_qos_update_request_timeout() API\n  firmware_class: Move request_firmware_nowait() to workqueues\n  firmware_class: Reorganize fw_create_instance()\n  PM / Sleep: Mitigate race between the freezer and request_firmware()\n  PM / Sleep: Move disabling of usermode helpers to the freezer\n  PM / Hibernate: Disable usermode helpers right before freezing tasks\n  firmware_class: Do not warn that system is not ready from async loads\n  firmware_class: Split _request_firmware() into three functions, v2\n  firmware_class: Rework usermodehelper check\n  PM / Runtime: don\u0027t forget to wake up waitqueue on failure\n"
    },
    {
      "commit": "a5149bf3fed59b94207809704b5d06fec337a771",
      "tree": "7a2f0297d35c962040bdd90981376c4b41c40c0f",
      "parents": [
        "3ff8f932bce11fc89e435acb30263a06cb8bd084",
        "b61c37f57988567c84359645f8202a7c84bc798a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:11:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:11:24 2012 -0700"
      },
      "message": "Merge branch \u0027selinux\u0027 (\"struct common_audit_data\" sanitizer)\n\nMerge common_audit_data cleanup patches from Eric Paris.\n\nThis is really too late, but it\u0027s a long-overdue cleanup of the costly\nwrapper functions for the security layer.\n\nThe \"struct common_audit_data\" is used all over in critical paths,\nallocated and initialized on the stack.  And used to be much too large,\ncausing not only unnecessarily big stack frames but the clearing of the\n(mostly useless) data was also very visible in profiles.\n\nAs a particular example, in one microbenchmark for just doing \"stat()\"\nover files a lot, selinux_inode_permission() used 7% of the CPU time.\nThat\u0027s despite the fact that it doesn\u0027t actually *do* anything: it is\njust a helper wrapper function in the selinux security layer.\n\nThis patch-series shrinks \"struct common_audit_data\" sufficiently that\ncode generation for these kinds of wrapper functions is improved\nnoticeably, and we spend much less time just initializing data that we\nwill never use.\n\nThe functions still get called all the time, and it still shows up at\n3.5+% in my microbenchmark, but it\u0027s quite a bit lower down the list,\nand much less noticeable.\n\n* Emailed patches from Eric Paris \u003ceparis@redhat.com\u003e:\n  lsm_audit: don\u0027t specify the audit pre/post callbacks in \u0027struct common_audit_data\u0027\n  SELinux: do not allocate stack space for AVC data unless needed\n  SELinux: remove avd from slow_avc_audit()\n  SELinux: remove avd from selinux_audit_data\n  LSM: shrink the common_audit_data data union\n  LSM: shrink sizeof LSM specific portion of common_audit_data\n"
    },
    {
      "commit": "4a1e8ebc5e5918079109cc1cd1c44c2f0fd0e11b",
      "tree": "3fcdeb8579c47735d82f44306282d7af2140a102",
      "parents": [
        "66cfb32772495068fbb5627b2dc88649ad66c3e5",
        "d49fe3c4cd22965de7422dd81d46110fc3d4deef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:09:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 10:09:30 2012 -0700"
      },
      "message": "Merge tag \u0027regulator-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nPull regulator fixes from Mark Brown:\n \"A bunch of smallish fixes that came up during the merge window as\n  things got more testing - even more fixes from Axel, a fix for error\n  handling in more complex systems using -EPROBE_DEFER and a couple of\n  small fixes for the new dummy regulators.\"\n\n* tag \u0027regulator-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:\n  regulator: Remove non-existent parameter from fixed-helper.c kernel doc\n  regulator: Fix setting new voltage in s5m8767_set_voltage\n  regulator: fix sysfs name collision between dummy and fixed dummy regulator\n  regulator: Fix deadlock on removal of regulators with supplies\n  regulator: Fix comments in include/linux/regulator/machine.h\n  regulator: Only update [LDOx|DCx]_HIB_MODE bits in wm8350_[ldo|dcdc]_set_suspend_disable\n  regulator: Fix setting low power mode for wm831x aldo\n  regulator: Return microamps in wm8350_isink_get_current\n  regulator: wm8350: Fix the logic to choose best current limit setting\n  regulator: wm831x-isink: Fix the logic to choose best current limit setting\n  regulator: wm831x-dcdc: Fix the logic to choose best current limit setting\n  regulator: anatop: patching to device-tree property \"reg\".\n  regulator: Do proper shift to set correct bit for DC[2|5]_HIB_MODE setting\n  regulator: Fix restoring pmic.dcdcx_hib_mode settings in wm8350_dcdc_set_suspend_enable\n  regulator: Fix unbalanced lock/unlock in mc13892_regulator_probe error path\n  regulator: Fix set and get current limit for wm831x_buckv\n  regulator: tps6586x: Fix list minimal voltage setting for LDO0\n"
    },
    {
      "commit": "9b461783d3d49c74665b55b8ae1b7a1c038177a9",
      "tree": "e4f27485a0669871a6e331b6daf64157bec4447a",
      "parents": [
        "cff4c16296754888b6fd8c886bc860a888e20257",
        "44b52bccf855b0706de624c29fc3d82ca954bb4e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net\n"
    },
    {
      "commit": "2def16ae6b0c77571200f18ba4be049b03d75579",
      "tree": "8b5bf927cba74c94e2a155b64052df07621917b8",
      "parents": [
        "01627d968c8b5e2810fe8c417b406b968297c236"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Apr 02 22:33:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 17:23:23 2012 -0400"
      },
      "message": "net: fix /proc/net/dev regression\n\nCommit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second\nregression, as some devices are missing from /proc/net/dev if many\ndevices are defined.\n\nWhen seq_file buffer is filled, the last -\u003enext/show() method is\ncanceled (pos value is reverted to value prior -\u003enext() call)\n\nProblem is after above commit, we dont restart the lookup at right\nposition in -\u003estart() method.\n\nFix this by removing the internal \u0027pos\u0027 pointer added in commit, since\nwe need to use the \u0027loff_t *pos\u0027 provided by seq_file layer.\n\nThis also reverts commit 5cac98dd0 (net: Fix corruption\nin /proc/*/net/dev_mcast), since its not needed anymore.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Mihai Maruseac \u003cmmaruseac@ixiacom.com\u003e\nTested-by:  Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b61c37f57988567c84359645f8202a7c84bc798a",
      "tree": "a808c891711d060060a751f4119198dc06e2c847",
      "parents": [
        "3f0882c48286e7bdb0bbdec9c4bfa934e0db8e09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 15:48:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 03 09:49:59 2012 -0700"
      },
      "message": "lsm_audit: don\u0027t specify the audit pre/post callbacks in \u0027struct common_audit_data\u0027\n\nIt just bloats the audit data structure for no good reason, since the\nonly time those fields are filled are just before calling the\ncommon_lsm_audit() function, which is also the only user of those\nfields.\n\nSo just make them be the arguments to common_lsm_audit(), rather than\nbloating that structure that is passed around everywhere, and is\ninitialized in hot paths.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48c62af68a403ef1655546bd3e021070c8508573",
      "tree": "ba938e4fb45d5bdaad2dad44071d0625f8e36945",
      "parents": [
        "3b3b0e4fc15efa507b902d90cea39e496a523c3b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Apr 02 13:15:44 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 03 09:49:10 2012 -0700"
      },
      "message": "LSM: shrink the common_audit_data data union\n\nAfter shrinking the common_audit_data stack usage for private LSM data I\u0027m\nnot going to shrink the data union.  To do this I\u0027m going to move anything\nlarger than 2 void * ptrs to it\u0027s own structure and require it to be declared\nseparately on the calling stack.  Thus hot paths which don\u0027t need more than\na couple pointer don\u0027t have to declare space to hold large unneeded\nstructures.  I could get this down to one void * by dealing with the key\nstruct and the struct path.  We\u0027ll see if that is helpful after taking care of\nnetworking.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b3b0e4fc15efa507b902d90cea39e496a523c3b",
      "tree": "d7b91c21ad6c6f4ac21dd51297b74eec47c61684",
      "parents": [
        "95694129b43165911dc4e8a972f0d39ad98d86be"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 03 09:37:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 03 09:48:40 2012 -0700"
      },
      "message": "LSM: shrink sizeof LSM specific portion of common_audit_data\n\nLinus found that the gigantic size of the common audit data caused a big\nperf hit on something as simple as running stat() in a loop.  This patch\nrequires LSMs to declare the LSM specific portion separately rather than\ndoing it in a union.  Thus each LSM can be responsible for shrinking their\nportion and don\u0027t have to pay a penalty just because other LSMs have a\nbigger space requirement.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed359a3b7b6ade0071f378c0cf4392d252f7d334",
      "tree": "8f81e03fcb44a7d36f53bc5a53d8eced7154bee2",
      "parents": [
        "95694129b43165911dc4e8a972f0d39ad98d86be",
        "2240eb4ae3dc4acff20d1a8947c441c451513e37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 17:53:39 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Provide device string properly for USB i2400m wimax devices, also\n    don\u0027t OOPS when providing firmware string.  From Phil Sutter.\n\n 2) Add support for sh_eth SH7734 chips, from Nobuhiro Iwamatsu.\n\n 3) Add another device ID to USB zaurus driver, from Guan Xin.\n\n 4) Loop index start in pool vector iterator is wrong causing MAC to not\n    get configured in bnx2x driver, fix from Dmitry Kravkov.\n\n 5) EQL driver assumes HZ\u003d100, fix from Eric Dumazet.\n\n 6) Now that skb_add_rx_frag() can specify the truesize increment\n    separately, do so in f_phonet and cdc_phonet, also from Eric\n    Dumazet.\n\n 7) virtio_net accidently uses net_ratelimit() not only on the kernel\n    warning but also the statistic bump, fix from Rick Jones.\n\n 8) ip_route_input_mc() uses fixed init_net namespace, oops, use\n    dev_net(dev) instead.  Fix from Benjamin LaHaise.\n\n 9) dev_forward_skb() needs to clear the incoming interface index of the\n    SKB so that it looks like a new incoming packet, also from Benjamin\n    LaHaise.\n\n10) iwlwifi mistakenly initializes a channel entry as 2GHZ instead of\n    5GHZ, fix from Stanislav Yakovlev.\n\n11) Missing kmalloc() return value checks in orinoco, from Santosh\n    Nayak.\n\n12) ath9k doesn\u0027t check for HT capabilities in the right way, it is\n    checking ht_supported instead of the ATH9K_HW_CAP_HT flag.  Fix from\n    Sujith Manoharan.\n\n13) Fix x86 BPF JIT emission of 16-bit immediate field of AND\n    instructions, from Feiran Zhuang.\n\n14) Avoid infinite loop in GARP code when registering sysfs entries.\n    From David Ward.\n\n15) rose protocol uses memcpy instead of memcmp in a device address\n    comparison, oops.  Fix from Daniel Borkmann.\n\n16) Fix build of lpc_eth due to dev_hw_addr_rancom() interface being\n    renamed to eth_hw_addr_random().  From Roland Stigge.\n\n17) Make ipv6 RTM_GETROUTE interpret RTA_IIF attribute the same way\n    that ipv4 does.  Fix from Shmulik Ladkani.\n\n18) via-rhine has an inverted bit test, causing suspend/resume\n    regressions.  Fix from Andreas Mohr.\n\n19) RIONET assumes 4K page size, fix from Akinobu Mita.\n\n20) Initialization of imask register in sky2 is buggy, because bits are\n    \"or\u0027d\" into an uninitialized local variable.  Fix from Lino\n    Sanfilippo.\n\n21) Fix FCOE checksum offload handling, from Yi Zou.\n\n22) Fix VLAN processing regression in e1000, from Jiri Pirko.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)\n  sky2: dont overwrite settings for PHY Quick link\n  tg3: Fix 5717 serdes powerdown problem\n  net: usb: cdc_eem: fix mtu\n  net: sh_eth: fix endian check for architecture independent\n  usb/rtl8150 : Remove duplicated definitions\n  rionet: fix page allocation order of rionet_active\n  via-rhine: fix wait-bit inversion.\n  ipv6: Fix RTM_GETROUTE\u0027s interpretation of RTA_IIF to be consistent with ipv4\n  net: lpc_eth: Fix rename of dev_hw_addr_random\n  net/netfilter/nfnetlink_acct.c: use linux/atomic.h\n  rose_dev: fix memcpy-bug in rose_set_mac_address\n  Fix non TBI PHY access; a bad merge undid bug fix in a previous commit.\n  net/garp: avoid infinite loop if attribute already exists\n  x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND\n  bonding: emit event when bonding changes MAC\n  mac80211: fix oper channel timestamp updation\n  ath9k: Use HW HT capabilites properly\n  MAINTAINERS: adding maintainer for ipw2x00\n  net: orinoco: add error handling for failed kmalloc().\n  net/wireless: ipw2x00: fix a typo in wiphy struct initilization\n  ...\n"
    },
    {
      "commit": "95694129b43165911dc4e8a972f0d39ad98d86be",
      "tree": "a7faf4b70c85b457f684cbc1033ac5b79457c2e9",
      "parents": [
        "b1a808ff436343956a6ae63178ea1810c5e5a3a1",
        "80da6a4feeb9e4d6554f771f14f5b994e6c6c7e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "message": "Merge branch \u0027paul\u0027 (Fixups from Paul Gortmaker)\n\nThis merges some of the fixes from Paul Gortmaker for the header file\ncleanup fallout.\n\nSome of the patches are going through arch maintainer trees, and David\nHowells suggested another be done differently, but this at least fixes a\nfew cases.\n\n* emailed from Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e:\n  asm-generic: add linux/types.h to cmpxchg.h\n  firewire: restore the device.h include in linux/firewire.h\n  frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL\n  parisc: fix missing cmpxchg file error from system.h split\n  blackfin: fix cmpxchg build fails from system.h fallout\n  avr32: fix build failures from mis-naming of atmel_nand.h\n  ARM: mach-msm: fix compile fail from system.h fallout\n  irq_work: fix compile failure on MIPS from system.h split\n"
    },
    {
      "commit": "f68c56b7d2351036d1ec58c7a0ac4f258cbc1fa2",
      "tree": "d8f241632882ee7de71bc1aed211ac9f220d9352",
      "parents": [
        "9a78da114c18c130769c1ba25cabbc34da7ad70c"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Apr 01 16:38:45 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:27 2012 -0700"
      },
      "message": "firewire: restore the device.h include in linux/firewire.h\n\nCommit 313162d0b838 (\"device.h: audit and cleanup users in main include\ndir\") exchanged an include \u003clinux/device.h\u003e for a struct *device but in\nactuality I misread this file when creating 313162d and it should have\nremained an include.\n\nThere were no build regressions since all consumers were already getting\ndevice.h anyway, but make it right regardless.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d92e05118262379f76a220772b666dfddb77a9d",
      "tree": "a63a1e55edd9bfa3e9ff9e1f8e2d09fe12b11615",
      "parents": [
        "b443caf12f9ee14e9843e53d4d929319e637275a"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Apr 01 16:38:40 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:25 2012 -0700"
      },
      "message": "avr32: fix build failures from mis-naming of atmel_nand.h\n\nCommit bf4289cba02b (\"ATMEL: fix nand ecc support\") indicated that it\nwanted to \"Move platform data to a common header\ninclude/linux/platform_data/atmel_nand.h\" and the new header even had\nre-include protectors with:\n\n    #ifndef __ATMEL_NAND_H__\n\nHowever, the file that was added was simply called atmel.h\nand this caused avr32 defconfig to fail with:\n\n  In file included from arch/avr32/boards/atstk1000/setup.c:22:\n  arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory\n  In file included from arch/avr32/boards/atstk1000/setup.c:22:\n  arch/avr32/mach-at32ap/include/mach/board.h:121: warning: \u0027struct atmel_nand_data\u0027 declared inside parameter list\n  arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want\n  make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1\n\nIt seems the scope of the file contents will expand beyond\njust nand, so ignore the original intention, and fix up the\nusers who reference the bad name with the _nand suffix.\n\nCC: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCC: David Woodhouse \u003cdwmw2@infradead.org\u003e\nAcked-by: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1a808ff436343956a6ae63178ea1810c5e5a3a1",
      "tree": "bd510d5ea6b407df6ea0b8353e1788e12f95e427",
      "parents": [
        "97754175042e77d02c4232d5fb24c16abd1c77f1",
        "43139a61fc68f4b0af7327a0e63f340a7c81c69a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:50:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:50:40 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://gitorious.org/kernel-hsi/kernel-hsi\n\nPull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea:\n \"The High Speed Synchronous Serial Interface (HSI) is a serial\n  interface mainly used for connecting application engines (APE) with\n  cellular modem engines (CMT) in cellular handsets.\n\n  The framework is currently being used for some people and we would\n  like to see it integrated into the kernel for 3.3.  There is no HW\n  controller drivers in this pull, but some people have already some of\n  them pending which they would like to push as soon as this integrated.\n  I am also working on the acceptance for an TI OMAP one, based on a\n  compatible legacy version of the interface called SSI.\"\n\nOk, so it didn\u0027t get into 3.3, but here it is pulled into 3.4.\n\nSeveral people piped up to say \"yeah, we want this\".\n\n* \u0027for-next\u0027 of git://gitorious.org/kernel-hsi/kernel-hsi:\n  HSI: hsi_char: Update ioctl-number.txt\n  HSI: Add HSI API documentation\n  HSI: hsi_char: Add HSI char device kernel configuration\n  HSI: hsi_char: Add HSI char device driver\n  HSI: hsi: Introducing HSI framework\n"
    },
    {
      "commit": "8f6b7676ceecc1f40df77d5a4d6a8bae87594a2d",
      "tree": "aaac7c2858dab9817af579f2ad39f2f18ce4dbd8",
      "parents": [
        "143418d0c87fda0c587205c45094d8b05222fd49",
        "5219a5342ab13650ae0f0c62319407268c48d0ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n - Fix for CPU hotplug hang in padata.\n - Avoid using cpu_active inappropriately in pcrypt and padata.\n - Fix for user-space algorithm lookup hang with IV generators.\n - Fix for netlink dump of algorithms where stuff went missing due to\n   incorrect calculation of message size.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: user - Fix size of netlink dump message\n  crypto: user - Fix lookup of algorithms with IV generator\n  crypto: pcrypt - Use the online cpumask as the default\n  padata: Fix cpu hotplug\n  padata: Use the online cpumask as the default\n  padata: Add a reference to the api documentation\n"
    },
    {
      "commit": "deb74f5ca1f22f9e1c5da93143a250dbb96535af",
      "tree": "ee9eb01e5433ea50f3414a469521a4c1cfaccb7a",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928",
        "615399c84d1b8d8d8752629e5e5ab4e5044d6918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\nPull cpumask cleanups from Rusty Russell:\n \"(Somehow forgot to send this out; it\u0027s been sitting in linux-next, and\n  if you don\u0027t want it, it can sit there another cycle)\"\n\nI\u0027m a sucker for things that actually delete lines of code.\n\nFix up trivial conflict in arch/arm/kernel/kprobes.c, where Rusty fixed\na user of \u0026cpu_online_map to be cpu_online_mask, but that code got\ndeleted by commit b21d55e98ac2 (\"ARM: 7332/1: extract out code patch\nfunction from kprobes\").\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  cpumask: remove old cpu_*_map.\n  documentation: remove references to cpu_*_map.\n  drivers/cpufreq/db8500-cpufreq: remove references to cpu_*_map.\n  remove references to cpu_*_map in arch/\n"
    },
    {
      "commit": "66189be74ff5f9f3fd6444315b85be210d07cef2",
      "tree": "7a179ddd7e233668dbb108faf847ceb768d2e92c",
      "parents": [
        "9ebb389d0a03b4415fe9014f6922a2412cb1109c"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Wed Mar 28 21:56:19 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 01 13:54:27 2012 -0500"
      },
      "message": "CIFS: Fix VFS lock usage for oplocked files\n\nWe can deadlock if we have a write oplock and two processes\nuse the same file handle. In this case the first process can\u0027t\nunlock its lock if the second process blocked on the lock in the\nsame time.\n\nFix it by using posix_lock_file rather than posix_lock_file_wait\nunder cinode-\u003elock_mutex. If we request a blocking lock and\nposix_lock_file indicates that there is another lock that prevents\nus, wait untill that lock is released and restart our call.\n\nCc: stable@kernel.org\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b7ffff4bb3fef527a26144a95d9dfe8c11a6b927",
      "tree": "d5788ce86b8f0b2290660e1d7298a564a37f62a9",
      "parents": [
        "8bb1f229527dee95644e0f8496980bb767c6f620",
        "f878d0be229ab129bc4b224191f217106a4b0bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 15:11:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 15:11:39 2012 -0700"
      },
      "message": "Merge branch \u0027s3-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio-console\n\nPull virtio S3 support patches from Amit Shah:\n \"Turns out S3 is not different from S4 for virtio devices: the device\n  is assumed to be reset, so the host and guest state are to be assumed\n  to be out of sync upon resume.  We handle the S4 case with exactly the\n  same scenario, so just point the suspend/resume routines to the\n  freeze/restore ones.\n\n  Once that is done, we also use the PM API\u0027s macro to initialise the\n  sleep functions.\n\n  A couple of cleanups are included: there\u0027s no need for special thaw\n  processing in the balloon driver, so that\u0027s addressed in patches 1 and\n  2.\n\n  Testing: both S3 and S4 support have been tested using these patches\n  using a similar method used earlier during S4 patch development: a\n  guest is started with virtio-blk as the only disk, a virtio network\n  card, a virtio-serial port and a virtio balloon device.  Ping from\n  guest to host, dd /dev/zero to a file on the disk, and IO from the\n  host on the virtio-serial port, all at once, while exercising S4 and\n  S3 (separately) were tested.  They all continue to work fine after\n  resume.  virtio balloon values too were tested by inflating and\n  deflating the balloon.\"\n\nPulling from Amit, since Rusty is off getting married (and presumably\nshaving people).\n\n* \u0027s3-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/amit/virtio-console:\n  virtio-pci: switch to PM ops macro to initialise PM functions\n  virtio-pci: S3 support\n  virtio-pci: drop restore_common()\n  virtio: drop thaw PM operation\n  virtio: balloon: Allow stats update after restore from S4\n"
    },
    {
      "commit": "8bb1f229527dee95644e0f8496980bb767c6f620",
      "tree": "511551e9772f11f855bd5b759b6d449da47e8820",
      "parents": [
        "f22e08a79f3765fecf060b225a46931c94fb0a92",
        "c0d0259481cc6ec2a38cad810055e455de35c733"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:42:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:42:57 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull second try at vfs part d#2 from Al Viro:\n \"Miklos\u0027 first series (with do_lookup() rewrite split into edible\n  chunks) + assorted bits and pieces.\n\n  The \u0027untangling of do_lookup()\u0027 series is is a splitup of what used to\n  be a monolithic patch from Miklos, so this series is basically \"how do\n  I convince myself that his patch is correct (or find a hole in it)\".\n  No holes found and I like the resulting cleanup, so in it went...\"\n\nChanges from try 1: Fix a boot problem with selinux, and commit messages\nprettied up a bit.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (24 commits)\n  vfs: fix out-of-date dentry_unhash() comment\n  vfs: split __lookup_hash\n  untangling do_lookup() - take __lookup_hash()-calling case out of line.\n  untangling do_lookup() - switch to calling __lookup_hash()\n  untangling do_lookup() - merge d_alloc_and_lookup() callers\n  untangling do_lookup() - merge failure exits in !dentry case\n  untangling do_lookup() - massage !dentry case towards __lookup_hash()\n  untangling do_lookup() - get rid of need_reval in !dentry case\n  untangling do_lookup() - eliminate a loop.\n  untangling do_lookup() - expand the area under -\u003ei_mutex\n  untangling do_lookup() - isolate !dentry stuff from the rest of it.\n  vfs: move MAY_EXEC check from __lookup_hash()\n  vfs: don\u0027t revalidate just looked up dentry\n  vfs: fix d_need_lookup/d_revalidate order in do_lookup\n  ext3: move headers to fs/ext3/\n  migrate ext2_fs.h guts to fs/ext2/ext2.h\n  new helper: ext2_image_size()\n  get rid of pointless includes of ext2_fs.h\n  ext2: No longer export ext2_fs.h to user space\n  mtdchar: kill persistently held vfsmount\n  ...\n"
    },
    {
      "commit": "f187e9fd68577cdd5f914659b6f7f11124e40485",
      "tree": "ad0e7422359724f7c7ffaaaa80dd3a7281f02a83",
      "parents": [
        "adb3b1f3fc1c6edb501808ebf80a81e81c52eb73",
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates and fixes from Ingo Molnar:\n \"It\u0027s mostly fixes, but there\u0027s also two late items:\n\n   - preliminary GTK GUI support for perf report\n   - PMU raw event format descriptors in sysfs, to be parsed by tooling\n\n  The raw event format in sysfs is a new ABI.  For example for the \u0027CPU\u0027\n  PMU we have:\n\n    aldebaran:~\u003e ll /sys/bus/event_source/devices/cpu/format/*\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/any\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/cmask\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/edge\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/event\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/inv\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/pc\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/umask\n\n  those lists of fields contain a specific format:\n\n    aldebaran:~\u003e cat /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    config1:0-63\n\n  So, those who wish to specify raw events can now use the following\n  event format:\n\n    -e cpu/cmask\u003d1,event\u003d2,umask\u003d3\n\n  Most people will not want to specify any events (let alone raw\n  events), they\u0027ll just use whatever default event the tools use.\n\n  But for more obscure PMU events that have no cross-architecture\n  generic events the above syntax is more usable and a bit more\n  structured than specifying hex numbers.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)\n  perf tools: Remove auto-generated bison/flex files\n  perf annotate: Fix off by one symbol hist size allocation and hit accounting\n  perf tools: Add missing ref-cycles event back to event parser\n  perf annotate: addr2line wants addresses in same format as objdump\n  perf probe: Finder fails to resolve function name to address\n  tracing: Fix ent_size in trace output\n  perf symbols: Handle NULL dso in dso__name_len\n  perf symbols: Do not include libgen.h\n  perf tools: Fix bug in raw sample parsing\n  perf tools: Fix display of first level of callchains\n  perf tools: Switch module.h into export.h\n  perf: Move mmap page data_head offset assertion out of header\n  perf: Fix mmap_page capabilities and docs\n  perf diff: Fix to work with new hists design\n  perf tools: Fix modifier to be applied on correct events\n  perf tools: Fix various casting issues for 32 bits\n  perf tools: Simplify event_read_id exit path\n  tracing: Fix ftrace stack trace entries\n  tracing: Move the tracing_on/off() declarations into CONFIG_TRACING\n  perf report: Add a simple GTK2-based \u0027perf report\u0027 browser\n  ...\n"
    },
    {
      "commit": "a75ee6ecd411a50bf4da927c2fdb2cb56246a2bd",
      "tree": "fcb06e1940152b115901fda68e7eea1cc1196ff3",
      "parents": [
        "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
        "699316948628dab9e813c415640fe5b9f65cd5e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:31:23 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nPull SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (lpfc, bfa, fcoe,\n  ipr) plus a new ufshcd driver.  There shouldn\u0027t be anything\n  controversial in here (The final deletion of scsi proc_ops which\n  caused some build breakage has been held over until the next merge\n  window to give us more time to stabilise it).\n\n  I\u0027m afraid, with me moving continents at exactly the wrong time,\n  anything submitted after the merge window opened has been held over to\n  the next merge window.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (63 commits)\n  [SCSI] ipr: Driver version 2.5.3\n  [SCSI] ipr: Increase alignment boundary of command blocks\n  [SCSI] ipr: Increase max concurrent oustanding commands\n  [SCSI] ipr: Remove unnecessary memory barriers\n  [SCSI] ipr: Remove unnecessary interrupt clearing on new adapters\n  [SCSI] ipr: Fix target id allocation re-use problem\n  [SCSI] atp870u, mpt2sas, qla4xxx use pci_dev-\u003erevision\n  [SCSI] fcoe: Drop the rtnl_mutex before calling fcoe_ctlr_link_up\n  [SCSI] bfa: Update the driver version to 3.0.23.0\n  [SCSI] bfa: BSG and User interface fixes.\n  [SCSI] bfa: Fix to avoid vport delete hang on request queue full scenario.\n  [SCSI] bfa: Move service parameter programming logic into firmware.\n  [SCSI] bfa: Revised Fabric Assigned Address(FAA) feature implementation.\n  [SCSI] bfa: Flash controller IOC pll init fixes.\n  [SCSI] bfa: Serialize the IOC hw semaphore unlock logic.\n  [SCSI] bfa: Modify ISR to process pending completions\n  [SCSI] bfa: Add fc host issue lip support\n  [SCSI] mpt2sas: remove extraneous sas_log_info messages\n  [SCSI] libfc: fcoe_transport_create fails in single-CPU environment\n  [SCSI] fcoe: reduce contention for fcoe_rx_list lock [v2]\n  ...\n"
    },
    {
      "commit": "4613ad180d19082f99551477dcb13cb23d23661b",
      "tree": "c90407d53b5e7270c55831e394bd879825e0c6e9",
      "parents": [
        "f7699f2b0114fcd0ea5ad5f8aa2142f1bcc27fd0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 29 22:30:07 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "ext3: move headers to fs/ext3/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7699f2b0114fcd0ea5ad5f8aa2142f1bcc27fd0",
      "tree": "054330e3e093e8b19eaeb4a60e93b936cde22266",
      "parents": [
        "39429c5e4a2c56a39c9a1c9bdad54431c63104b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:45:51 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "migrate ext2_fs.h guts to fs/ext2/ext2.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "39429c5e4a2c56a39c9a1c9bdad54431c63104b0",
      "tree": "06abc2a4ff8d323b0358b768a71c7b651c3229f3",
      "parents": [
        "2f99c36986ff27a86f06f27212c5f5fa8c7164a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 23 16:36:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:16 2012 -0400"
      },
      "message": "new helper: ext2_image_size()\n\n... implemented that way since the next commit will leave it\nalmost alone in ext2_fs.h - most of the file (including\nstruct ext2_super_block) is going to move to fs/ext2/ext2.h.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a165d25f63a989d0aabe9d8eed5b3a5d5da1862",
      "tree": "472b3fd4b2432d325d427e28b148676e9790c6fe",
      "parents": [
        "00292bbf769620dea923dbd906afd88955f7ea19"
      ],
      "author": {
        "name": "Thierry Reding",
        "email": "thierry.reding@avionic-design.de",
        "time": "Fri Mar 23 10:27:36 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 31 16:03:15 2012 -0400"
      },
      "message": "ext2: No longer export ext2_fs.h to user space\n\nSince the on-disk format has been stable for quite some time, users\nshould either use the headers provided by libext2fs or keep a private\ncopy of this header. For the full discussion, see this thread:\n\n\thttps://lkml.org/lkml/2012/3/21/516\n\nWhile at it, this commit removes all __KERNEL__ guards, which are now\nunnecessary.\n\nSigned-off-by: Thierry Reding \u003cthierry.reding@avionic-design.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Ted Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Artem Bityutskiy \u003cdedekind1@gmail.com\u003e\nCc: Andreas Dilger \u003caedilger@gmail.com\u003e\nCc: linux-ext4@vger.kernel.org\n"
    },
    {
      "commit": "f38f8387cbdc4138a492ce9f2a5f04fd3cd3cf33",
      "tree": "037dfe639de15cbf6be59182872531a23cc20398",
      "parents": [
        "e47d854e57698d3be4579d2118f6057f9f12a17c"
      ],
      "author": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Thu Mar 29 12:50:20 2012 +0530"
      },
      "committer": {
        "name": "Amit Shah",
        "email": "amit.shah@redhat.com",
        "time": "Sat Mar 31 08:09:50 2012 +0530"
      },
      "message": "virtio: drop thaw PM operation\n\nThe thaw operation was used by the balloon driver, but after the last\ncommit there\u0027s no reason to have separate thaw and restore callbacks.\n\nSigned-off-by: Amit Shah \u003camit.shah@redhat.com\u003e\n"
    },
    {
      "commit": "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
      "tree": "0b7461753a1b13b27ea2958a7d48c6efb47bba54",
      "parents": [
        "c39e8ede284f469971589f2e04af78216e1a771d",
        "7b0e67f604e1829e5292e1ad7743eb18dc42ea7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 17:31:56 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6\n\nPull MTD changes from David Woodhouse:\n - Artem\u0027s cleanup of the MTD API continues apace.\n - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst\n   others.\n - More work on DiskOnChip G3, new driver for DiskOnChip G4.\n - Clean up debug/warning printks in JFFS2 to use pr_\u003clevel\u003e.\n\nFix up various trivial conflicts, largely due to changes in calling\nconventions for things like dmaengine_prep_slave_sg() (new inline\nwrapper to hide new parameter, clashing with rewrite of previously last\nparameter that used to be an \u0027append\u0027 flag, and is now a bitmap of\n\u0027unsigned long flags\u0027).\n\n(Also some header file fallout - like so many merges this merge window -\nand silly conflicts with sparse fixes)\n\n* tag \u0027for-linus-3.4\u0027 of git://git.infradead.org/mtd-2.6: (120 commits)\n  mtd: docg3 add protection against concurrency\n  mtd: docg3 refactor cascade floors structure\n  mtd: docg3 increase write/erase timeout\n  mtd: docg3 fix inbound calculations\n  mtd: nand: gpmi: fix function annotations\n  mtd: phram: fix section mismatch for phram_setup\n  mtd: unify initialization of erase_info-\u003efail_addr\n  mtd: support ONFI multi lun NAND\n  mtd: sm_ftl: fix typo in major number.\n  mtd: add device-tree support to spear_smi\n  mtd: spear_smi: Remove default partition information from driver\n  mtd: Add device-tree support to fsmc_nand\n  mtd: fix section mismatch for doc_probe_device\n  mtd: nand/fsmc: Remove sparse warnings and errors\n  mtd: nand/fsmc: Add DMA support\n  mtd: nand/fsmc: Access the NAND device word by word whenever possible\n  mtd: nand/fsmc: Use dev_err to report error scenario\n  mtd: nand/fsmc: Use devm routines\n  mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform\n  mtd: fsmc_nand: add pm callbacks to support hibernation\n  ...\n"
    },
    {
      "commit": "a335750b9a039a9d4cd727cdccacfb90fd63c4e8",
      "tree": "8f3198984fb75fe494e771d9431f6799228623c5",
      "parents": [
        "10f3cb41d48ab30f5c754b30eea557371892b4c2",
        "d326f44e5f2204c7a24db69bfc6dd3fe5f86182b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:39 2012 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux\n\nPull ACPI \u0026 Power Management changes from Len Brown:\n - ACPI 5.0 after-ripples, ACPICA/Linux divergence cleanup\n - cpuidle evolving, more ARM use\n - thermal sub-system evolving, ditto\n - assorted other PM bits\n\nFix up conflicts in various cpuidle implementations due to ARM cpuidle\ncleanups (ARM at91 self-refresh and cpu idle code rewritten into\n\"standby\" in asm conflicting with the consolidation of cpuidle time\nkeeping), trivial SH include file context conflict and RCU tracing fixes\nin generic code.\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (77 commits)\n  ACPI throttling: fix endian bug in acpi_read_throttling_status()\n  Disable MCP limit exceeded messages from Intel IPS driver\n  ACPI video: Don\u0027t start video device until its associated input device has been allocated\n  ACPI video: Harden video bus adding.\n  ACPI: Add support for exposing BGRT data\n  ACPI: export acpi_kobj\n  ACPI: Fix logic for removing mappings in \u0027acpi_unmap\u0027\n  CPER failed to handle generic error records with multiple sections\n  ACPI: Clean redundant codes in scan.c\n  ACPI: Fix unprotected smp_processor_id() in acpi_processor_cst_has_changed()\n  ACPI: consistently use should_use_kmap()\n  PNPACPI: Fix device ref leaking in acpi_pnp_match\n  ACPI: Fix use-after-free in acpi_map_lsapic\n  ACPI: processor_driver: add missing kfree\n  ACPI, APEI: Fix incorrect APEI register bit width check and usage\n  Update documentation for parameter *notrigger* in einj.txt\n  ACPI, APEI, EINJ, new parameter to control trigger action\n  ACPI, APEI, EINJ, limit the range of einj_param\n  ACPI, APEI, Fix ERST header length check\n  cpuidle: power_usage should be declared signed integer\n  ...\n"
    },
    {
      "commit": "919c840167ec93167e00ca817aa4627170419ebf",
      "tree": "5162f6a39541f609a949c5d75c4fdaed523d20af",
      "parents": [
        "a9d38a4f2da6c49a257253a9fdef7a6bcb0e0e4f",
        "5cdd4d7fa5424f2018193a0c2af3bef9036c973e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:09:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:09:02 2012 -0700"
      },
      "message": "Merge tag \u0027for-v3.4-rc1\u0027 of git://git.infradead.org/battery-2.6\n\nPull battery updates from Anton Vorontsov:\n \"Various small bugfixes and enhancements, plus two new drivers:\n   - A quite complex ab8500 charger driver, submitted by Arun Murthy @\n     ST-Ericsson;\n   - Summit Microelectronics SMB347 Battery Charger, submitted by Bruce\n     E Robertson and Alan Cox @ Intel.\n\n  And that\u0027s all.\"\n\n* tag \u0027for-v3.4-rc1\u0027 of git://git.infradead.org/battery-2.6: (36 commits)\n  max17042_battery: Clean up interrupt handling\n  Revert \"max8998_charger: Include linux/module.h just once\"\n  ab8500_fg: Fix some build warnings on x86_64\n  max17042_battery: Fix CHARGE_FULL representation.\n  max8998_charger: Include linux/module.h just once\n  power_supply: Convert i2c drivers to module_i2c_driver\n  lp8727_charger: Add MODULE_DEVICE_TABLE\n  charger-manager: Simplify charger_get_property(), get rid of a warning\n  charger-manager: Clean up for better readability\n  da9052-battery: Convert to use module_platform_driver\n  da9052-battery: Fix a memory leak when unload the module\n  da9052-battery: Add missing platform_set_drvdata\n  ab8500: Turn unneeded global symbols into local ones\n  ab8500_fg: Fix copy-paste error\n  ab8500_fg: Get rid of \u0027struct battery_type\u0027\n  ab8500_fg: Get rid of \u0027struct v_to_cap\u0027\n  ab8500_btemp: Get rid of \u0027enum adc_therm\u0027\n  ab8500_charger: Convert to the new USB OTG calls\n  ab8500-btemp: AB8500 battery temperature driver\n  ab8500-fg: A8500 fuel gauge driver\n  ...\n"
    },
    {
      "commit": "d326f44e5f2204c7a24db69bfc6dd3fe5f86182b",
      "tree": "21473db646b06fd462bbc8f3690732ba1bb2d018",
      "parents": [
        "ec612fcf43e09f5e05d37baf4d3f138b3fcc2f3d",
        "e840dfe334b4791af07aadee1b2cf3c7c7363581"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 16:35:53 2012 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 16:38:59 2012 -0400"
      },
      "message": "Merge branch \u0027tboot\u0027 into release\n\nConflicts:\n\tdrivers/acpi/acpica/hwsleep.c\n\nText conflict between:\n\n2feec47d4c5f80b05f1650f5a24865718978eea4\n(ACPICA: ACPI 5: Support for new FADT SleepStatus, SleepControl registers)\n\nwhich removed #include \"actables.h\"\n\nand\n\n09f98a825a821f7a3f1b162f9ed023f37213a63b\n(x86, acpi, tboot: Have a ACPI os prepare sleep instead of calling tboot_sleep.)\n\nwhich removed #include \u003clinux/tboot.h\u003e\n\nThe resolution is to remove them both.\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "1a05e4678724c4a5fe7b9e4e208b616dfe8c3a32",
      "tree": "e8688e1ba822fce2af101d4ed2fc0776f60eb8e9",
      "parents": [
        "5aa3c16c6b196857ea24ec1c589e3db3c4c64c96",
        "d1ff4b1cdbabb9ab9813f3d6e1cbec42cc5d6ed8",
        "cf450136bfde77c7f95065c91bffded4aa7fa731",
        "02401c06b7f6bec65f314e3cec7894502c973501",
        "6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d",
        "9f324bda970c599ca35f7be89d9d1bcb96d6053c",
        "37239978778806ecba54da60676abb46870acebb",
        "3e80acd1af40fcd91a200b0416a7616b20c5d647",
        "344e222edf486bf42da1ced137e36df7a345b0ad",
        "2815ab92ba3ab27556212cc306288dc95692824b",
        "15aaa34654831e98dd76f7738b6c7f5d05a66430",
        "b60e7f6166857c76871977794fa266b02da1f394"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 16:10:37 2012 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 16:10:37 2012 -0400"
      },
      "message": "Merge branches \u0027acpica\u0027, \u0027bgrt\u0027, \u0027bz-11533\u0027, \u0027cpuidle\u0027, \u0027ec\u0027, \u0027hotplug\u0027, \u0027misc\u0027, \u0027red-hat-bz-727865\u0027, \u0027thermal\u0027, \u0027throttling\u0027, \u0027turbostat\u0027 and \u0027video\u0027 into release\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "02401c06b7f6bec65f314e3cec7894502c973501",
      "tree": "3dd8ec58dc23c93b5dd50ce628953669883e33ef",
      "parents": [
        "1a022e3f1be11730bd8747b1af96a0274bf6356e"
      ],
      "author": {
        "name": "Boris Ostrovsky",
        "email": "boris.ostrovsky@amd.com",
        "time": "Tue Mar 13 19:55:10 2012 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 03:23:30 2012 -0400"
      },
      "message": "cpuidle: power_usage should be declared signed integer\n\npower_usage is always assigned a negative value and should be declared\na signed integer\n\nSigned-off-by: Boris Ostrovsky \u003cboris.ostrovsky@amd.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "1a022e3f1be11730bd8747b1af96a0274bf6356e",
      "tree": "d3c95b68626ac7d963ac3a85a07dae1cfc011906",
      "parents": [
        "e07510585a88c0f6c6c728e2e006aa913496d4ae"
      ],
      "author": {
        "name": "Boris Ostrovsky",
        "email": "boris.ostrovsky@amd.com",
        "time": "Tue Mar 13 19:55:09 2012 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 03:23:01 2012 -0400"
      },
      "message": "idle, x86: Allow off-lined CPU to enter deeper C states\n\nCurrently when a CPU is off-lined it enters either MWAIT-based idle or,\nif MWAIT is not desired or supported, HLT-based idle (which places the\nprocessor in C1 state). This patch allows processors without MWAIT\nsupport to stay in states deeper than C1.\n\nSigned-off-by: Boris Ostrovsky \u003cboris.ostrovsky@amd.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2f7fa1be66dce77608330c5eb918d6360b5525f2",
      "tree": "05dbfe86d2b192389da11686fa380e7ae45be225",
      "parents": [
        "1338631433d8de7cf85b7e8fcf1a389ad89e7a8f",
        "f182394033d639679264d61e6dca62761e659ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 23:17:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull 2nd round of input updates from Dmitry Torokhov:\n - update to Wacom driver to support wireless devices\n - update to Sentelci touchpad driver to support newer hardware\n - update to gpio-keys driver to support \"interrupt-only\" keys\n - fixups to earlier commits\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wacom - check for allocation failure in probe()\n  Input: tegra-kbc - allocate pdata before using it\n  Input: amijoy - add missing platform check\n  Input: wacom - wireless battery status\n  Input: wacom - create inputs when wireless connect\n  Input: wacom - wireless monitor framework\n  Input: wacom - isolate input registration\n  Input: sentelic - improve packet debugging information\n  Input: sentelic - minor code cleanup\n  Input: sentelic - enabling absolute coordinates output for newer hardware\n  Input: sentelic - refactor code for upcoming new hardware support\n  Input: gpio_keys - add support for interrupt only keys\n  Input: gpio_keys - consolidate key destructor code\n  Input: revert \"gpio_keys - switch to using threaded IRQs\"\n  Input: gpio_keys - constify platform data\n  Input: spear-keyboard - remove kbd_set_plat_data()\n"
    },
    {
      "commit": "e07510585a88c0f6c6c728e2e006aa913496d4ae",
      "tree": "10fe50d22731c93b972e5f847586833438dfa14b",
      "parents": [
        "db70b04407a63668e5fee773f76f90367492fd25"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Mon Mar 26 14:51:28 2012 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 01:55:40 2012 -0400"
      },
      "message": "cpuidle: remove unused \u0027governor_data\u0027 field\n\nAs far as I can see, this field is never used in the code.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "db70b04407a63668e5fee773f76f90367492fd25",
      "tree": "65bc28cc822c9ea2f93b7bffbda00c44e5acb526",
      "parents": [
        "fc850f39ea54c760ce438a601cfea8ab80c4898e"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Mon Mar 26 14:51:27 2012 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 01:55:22 2012 -0400"
      },
      "message": "cpuidle: remove useless array definition in cpuidle_structure\n\nAll the modules name are ro-data, it is never copied to the array.\n\neg.\n\nstatic struct cpuidle_driver intel_idle_driver \u003d {\n        .name \u003d \"intel_idle\",\n        .owner \u003d THIS_MODULE,\n};\n\nIt safe to assign the pointer of this ro-data to a const char *.\nBy this way we save 12 bytes.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nAcked-by: Deepthi Dharwar \u003cdeepthi@linux.vnet.ibm.com\u003e\nTested-by: Deepthi Dharwar \u003cdeepthi@linux.vnet.ibm.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3a53396b0381ec9d5180fd8fe7a681c8ce95fd9a",
      "tree": "60a0770554c64250900ccf827ff868b483ae92fe",
      "parents": [
        "6a6ea0acc9375571a13aa8c4e105a0807e1c16a4"
      ],
      "author": {
        "name": "ShuoX Liu",
        "email": "shuox.liu@intel.com",
        "time": "Wed Mar 28 15:19:11 2012 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 01:52:58 2012 -0400"
      },
      "message": "cpuidle: add a sysfs entry to disable specific C state for debug purpose.\n\nSome C states of new CPU might be not good.  One reason is BIOS might\nconfigure them incorrectly.  To help developers root cause it quickly, the\npatch adds a new sysfs entry, so developers could disable specific C state\nmanually.\n\nIn addition, C state might have much impact on performance tuning, as it\ntakes much time to enter/exit C states, which might delay interrupt\nprocessing.  With the new debug option, developers could check if a deep C\nstate could impact performance and how much impact it could cause.\n\nAlso add this option in Documentation/cpuidle/sysfs.txt.\n\n[akpm@linux-foundation.org: check kstrtol return value]\nSigned-off-by: ShuoX Liu \u003cshuox.liu@intel.com\u003e\nReviewed-by: Yanmin Zhang \u003cyanmin_zhang@intel.com\u003e\nReviewed-and-Tested-by: Deepthi Dharwar \u003cdeepthi@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a591afc01d9e48affbacb365558a31e53c85af45",
      "tree": "9bb91f4eb94ec69fc4706c4944788ec5f3586063",
      "parents": [
        "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
        "31796ac4e8f0e88f5c10f1ad6dab8f19bebe44a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "message": "Merge branch \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x32 support for x86-64 from Ingo Molnar:\n \"This tree introduces the X32 binary format and execution mode for x86:\n  32-bit data space binaries using 64-bit instructions and 64-bit kernel\n  syscalls.\n\n  This allows applications whose working set fits into a 32 bits address\n  space to make use of 64-bit instructions while using a 32-bit address\n  space with shorter pointers, more compressed data structures, etc.\"\n\nFix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}\n\n* \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)\n  x32: Fix alignment fail in struct compat_siginfo\n  x32: Fix stupid ia32/x32 inversion in the siginfo format\n  x32: Add ptrace for x32\n  x32: Switch to a 64-bit clock_t\n  x32: Provide separate is_ia32_task() and is_x32_task() predicates\n  x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls\n  x86/x32: Fix the binutils auto-detect\n  x32: Warn and disable rather than error if binutils too old\n  x32: Only clear TIF_X32 flag once\n  x32: Make sure TS_COMPAT is cleared for x32 tasks\n  fs: Remove missed -\u003efds_bits from cessation use of fd_set structs internally\n  fs: Fix close_on_exec pointer in alloc_fdtable\n  x32: Drop non-__vdso weak symbols from the x32 VDSO\n  x32: Fix coding style violations in the x32 VDSO code\n  x32: Add x32 VDSO support\n  x32: Allow x32 to be configured\n  x32: If configured, add x32 system calls to system call tables\n  x32: Handle process creation\n  x32: Signal-related system calls\n  x86: Add #ifdef CONFIG_COMPAT to \u003casm/sys_ia32.h\u003e\n  ...\n"
    },
    {
      "commit": "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
      "tree": "4d03046048dc52a8fa539c7e7b846e02738d8ca5",
      "parents": [
        "6268b325c3066234e7bddb99d2b98bcedb0c0033",
        "88b48684fe2d4f6207223423227c80d5408bccaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:02:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:02:10 2012 -0700"
      },
      "message": "Merge tag \u0027cleanup2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: cleanups of io includes\" from Olof Johansson:\n \"Rob Herring has done a sweeping change cleaning up all of the\n  mach/io.h includes, moving some of the oft-repeated macros to a common\n  location and removing a bunch of boiler plate.  This is another step\n  closer to a common zImage for multiple platforms.\"\n\nFix up various fairly trivial conflicts (\u003cmach/io.h\u003e removal vs changes\naround it, tegra localtimer.o is *still* gone, yadda-yadda).\n\n* tag \u0027cleanup2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)\n  ARM: tegra: Include assembler.h in sleep.S to fix build break\n  ARM: pxa: use common IOMEM definition\n  ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol\n  ARM: __io abuse cleanup\n  ARM: create a common IOMEM definition\n  ARM: iop13xx: fix missing declaration of iop13xx_init_early\n  ARM: fix ioremap/iounmap for !CONFIG_MMU\n  ARM: kill off __mem_pci\n  ARM: remove bunch of now unused mach/io.h files\n  ARM: make mach/io.h include optional\n  ARM: clps711x: remove unneeded include of mach/io.h\n  ARM: dove: add explicit include of dove.h to addr-map.c\n  ARM: at91: add explicit include of hardware.h to uncompressor\n  ARM: ep93xx: clean-up mach/io.h\n  ARM: tegra: clean-up mach/io.h\n  ARM: orion5x: clean-up mach/io.h\n  ARM: davinci: remove unneeded mach/io.h include\n  [media] davinci: remove includes of mach/io.h\n  ARM: OMAP: Remove remaining includes for mach/io.h\n  ARM: msm: clean-up mach/io.h\n  ...\n"
    },
    {
      "commit": "12679a2d7e3bfbdc7586e3e86d1ca90c46659363",
      "tree": "d9c00f2e599d1c3e04a349229a6a19906d01f99e",
      "parents": [
        "1c036588772d01655d851f75dffc27c971e072e2",
        "b0df89868006517417251e02cc4ce5d4b0165885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull more ARM updates from Russell King.\n\nThis got a fair number of conflicts with the \u003casm/system.h\u003e split, but\nalso with some other sparse-irq and header file include cleanups.  They\nall looked pretty trivial, though.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (59 commits)\n  ARM: fix Kconfig warning for HAVE_BPF_JIT\n  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds\n  ARM: 7349/1: integrator: convert to sparse irqs\n  ARM: 7259/3: net: JIT compiler for packet filters\n  ARM: 7334/1: add jump label support\n  ARM: 7333/2: jump label: detect %c support for ARM\n  ARM: 7338/1: add support for early console output via semihosting\n  ARM: use set_current_blocked() and block_sigmask()\n  ARM: exec: remove redundant set_fs(USER_DS)\n  ARM: 7332/1: extract out code patch function from kprobes\n  ARM: 7331/1: extract out insn generation code from ftrace\n  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format\n  ARM: 7351/1: ftrace: remove useless memory checks\n  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path\n  ARM: Versatile Express: add NO_IOPORT\n  ARM: get rid of asm/irq.h in asm/prom.h\n  ARM: 7319/1: Print debug info for SIGBUS in user faults\n  ARM: 7318/1: gic: refactor irq_start assignment\n  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop\n  ARM: 7315/1: perf: add support for the Cortex-A7 PMU\n  ...\n"
    },
    {
      "commit": "3751d3e85cf693e10e2c47c03c8caa65e171099b",
      "tree": "65d123dac17103f6862831bcb4271b263805fd9f",
      "parents": [
        "98b54aa1a2241b59372468bd1e9c2d207bdba54b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Mar 23 09:35:05 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:25 2012 -0500"
      },
      "message": "x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()\n\nThere has long been a limitation using software breakpoints with a\nkernel compiled with CONFIG_DEBUG_RODATA going back to 2.6.26. For\nthis particular patch, it will apply cleanly and has been tested all\nthe way back to 2.6.36.\n\nThe kprobes code uses the text_poke() function which accommodates\nwriting a breakpoint into a read-only page.  The x86 kgdb code can\nsolve the problem similarly by overriding the default breakpoint\nset/remove routines and using text_poke() directly.\n\nThe x86 kgdb code will first attempt to use the traditional\nprobe_kernel_write(), and next try using a the text_poke() function.\nThe break point install method is tracked such that the correct break\npoint removal routine will get called later on.\n\nCc: x86@kernel.org\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.36\nInspried-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "98b54aa1a2241b59372468bd1e9c2d207bdba54b",
      "tree": "0a6cc3bc8426434a176e0fcb3c2da23d383a5a3b",
      "parents": [
        "23bbd8e346f1ef3fc1219c79cea53d8d52b207d8"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Mar 21 10:17:03 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:25 2012 -0500"
      },
      "message": "kgdb,debug_core: pass the breakpoint struct instead of address and memory\n\nThere is extra state information that needs to be exposed in the\nkgdb_bpt structure for tracking how a breakpoint was installed.  The\ndebug_core only uses the the probe_kernel_write() to install\nbreakpoints, but this is not enough for all the archs.  Some arch such\nas x86 need to use text_poke() in order to install a breakpoint into a\nread only page.\n\nPassing the kgdb_bpt structure to kgdb_arch_set_breakpoint() and\nkgdb_arch_remove_breakpoint() allows other archs to set the type\nvariable which indicates how the breakpoint was installed.\n\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.36\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "ef08e78268423fc4d7fbc3e54bd9a67fc8da7cc5",
      "tree": "d0561d3ef89c9cd277a38168e33850666cbd33c4",
      "parents": [
        "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
        "5b2e02e401deb44e7f5befe19404d8b2688efea4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 15:34:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 15:34:57 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma\n\nPull slave-dmaengine update from Vinod Koul:\n \"This includes the cookie cleanup by Russell, the addition of context\n  parameter for dmaengine APIs, more arm dmaengine driver cleanup by\n  moving code to dmaengine, this time for imx by Javier and pl330 by\n  Boojin along with the usual driver fixes.\"\n\nFix up some fairly trivial conflicts with various other cleanups.\n\n* \u0027next\u0027 of git://git.infradead.org/users/vkoul/slave-dma: (67 commits)\n  dmaengine: imx: fix the build failure on x86_64\n  dmaengine: i.MX: Fix merge of cookie branch.\n  dmaengine: i.MX: Add support for interleaved transfers.\n  dmaengine: imx-dma: use \u0027dev_dbg\u0027 and \u0027dev_warn\u0027 for messages.\n  dmaengine: imx-dma: remove \u0027imx_dmav1_baseaddr\u0027 and \u0027dma_clk\u0027.\n  dmaengine: imx-dma: remove unused arg of imxdma_sg_next.\n  dmaengine: imx-dma: remove internal structure.\n  dmaengine: imx-dma: remove \u0027resbytes\u0027 field of \u0027internal\u0027 structure.\n  dmaengine: imx-dma: remove \u0027in_use\u0027 field of \u0027internal\u0027 structure.\n  dmaengine: imx-dma: remove sg member from internal structure.\n  dmaengine: imx-dma: remove \u0027imxdma_setup_sg_hw\u0027 function.\n  dmaengine: imx-dma: remove \u0027imxdma_config_channel_hw\u0027 function.\n  dmaengine: imx-dma: remove \u0027imxdma_setup_mem2mem_hw\u0027 function.\n  dmaengine: imx-dma: remove dma_mode member of internal structure.\n  dmaengine: imx-dma: remove data member from internal structure.\n  dmaengine: imx-dma: merge old dma-v1.c with imx-dma.c\n  dmaengine: at_hdmac: add slave config operation\n  dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic\n  dmaengine/dma_slave: introduce inline wrappers\n  dma: imx-sdma: Treat firmware messages as warnings instead of erros\n  ...\n"
    },
    {
      "commit": "71db34fc4330f7c784397acb9f1e6ee7f7b32eb2",
      "tree": "77dd08f6f778a799dcd0c48eb72d0742349df235",
      "parents": [
        "50483c3268918ee51a56d1baa39b9149d2d0d521",
        "797a9d797f8483bb67f265c761b76dcd5a077a23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:53:25 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd changes from Bruce Fields:\n\nHighlights:\n - Benny Halevy and Tigran Mkrtchyan implemented some more 4.1 features,\n   moving us closer to a complete 4.1 implementation.\n - Bernd Schubert fixed a long-standing problem with readdir cookies on\n   ext2/3/4.\n - Jeff Layton performed a long-overdue overhaul of the server reboot\n   recovery code which will allow us to deprecate the current code (a\n   rather unusual user of the vfs), and give us some needed flexibility\n   for further improvements.\n - Like the client, we now support numeric uid\u0027s and gid\u0027s in the\n   auth_sys case, allowing easier upgrades from NFSv2/v3 to v4.x.\n\nPlus miscellaneous bugfixes and cleanup.\n\nThanks to everyone!\n\nThere are also some delegation fixes waiting on vfs review that I\nsuppose will have to wait for 3.5.  With that done I think we\u0027ll finally\nturn off the \"EXPERIMENTAL\" dependency for v4 (though that\u0027s mostly\nsymbolic as it\u0027s been on by default in distro\u0027s for a while).\n\nAnd the list of 4.1 todo\u0027s should be achievable for 3.5 as well:\n\n   http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues\n\nthough we may still want a bit more experience with it before turning it\non by default.\n\n* \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux: (55 commits)\n  nfsd: only register cld pipe notifier when CONFIG_NFSD_V4 is enabled\n  nfsd4: use auth_unix unconditionally on backchannel\n  nfsd: fix NULL pointer dereference in cld_pipe_downcall\n  nfsd4: memory corruption in numeric_name_to_id()\n  sunrpc: skip portmap calls on sessions backchannel\n  nfsd4: allow numeric idmapping\n  nfsd: don\u0027t allow legacy client tracker init for anything but init_net\n  nfsd: add notifier to handle mount/unmount of rpc_pipefs sb\n  nfsd: add the infrastructure to handle the cld upcall\n  nfsd: add a header describing upcall to nfsdcld\n  nfsd: add a per-net-namespace struct for nfsd\n  sunrpc: create nfsd dir in rpc_pipefs\n  nfsd: add nfsd4_client_tracking_ops struct and a way to set it\n  nfsd: convert nfs4_client-\u003ecl_cb_flags to a generic flags field\n  NFSD: Fix nfs4_verifier memory alignment\n  NFSD: Fix warnings when NFSD_DEBUG is not defined\n  nfsd: vfs_llseek() with 32 or 64 bit offsets (hashes)\n  nfsd: rename \u0027int access\u0027 to \u0027int may_flags\u0027 in nfsd_open()\n  ext4: return 32/64-bit dir name hash according to usage type\n  fs: add new FMODE flags: FMODE_32bithash and FMODE_64bithash\n  ...\n"
    },
    {
      "commit": "50483c3268918ee51a56d1baa39b9149d2d0d521",
      "tree": "2fb9c927c319628ebddfd118c10df3e626bdd1c4",
      "parents": [
        "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
        "1631fcea8399da5e80a80084b3b8c5bfd99d21e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:49:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:49:45 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\nPull arch/tile (really asm-generic) update from Chris Metcalf:\n \"These are a couple of asm-generic changes that apply to tile.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  compat: use sys_sendfile64() implementation for sendfile syscall\n  [PATCH v3] ipc: provide generic compat versions of IPC syscalls\n"
    },
    {
      "commit": "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
      "tree": "d312af46758fa9b59431a479d258b54184a00591",
      "parents": [
        "6b8212a313dae341ef3a2e413dfec5c4dea59617",
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cpusets: Remove an unused variable\n  sched/rt: Improve pick_next_highest_task_rt()\n  sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n  sched/x86/smp: Do not enable IRQs over calibrate_delay()\n  sched: Fix compiler warning about declared inline after use\n  MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS\n"
    },
    {
      "commit": "6b8212a313dae341ef3a2e413dfec5c4dea59617",
      "tree": "bbca09d88f61f999c7714fe82710bdfe6ee0e98b",
      "parents": [
        "bcd550745fc54f789c14e7526e0633222c505faa",
        "8abc3122aa02567bfe626cd13f4d34853c9b1225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 updates from Ingo Molnar.\n\nThis touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK\nconfig usage.\n\nFixed up trivial conflicts due to just header include changes (removing\nheaders due to cpu_idle() merge clashing with the \u003casm/system.h\u003e split).\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic/amd: Be more verbose about LVT offset assignments\n  x86, tls: Off by one limit check\n  x86/ioapic: Add io_apic_ops driver layer to allow interception\n  x86/olpc: Add debugfs interface for EC commands\n  x86: Merge the x86_32 and x86_64 cpu_idle() functions\n  x86/kconfig: Remove CONFIG_TR\u003dy from the defconfigs\n  x86: Stop recursive fault in print_context_stack after stack overflow\n  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ\u003dy\n  x86/apic: Add separate apic_id_valid() functions for selected apic drivers\n  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n  x86/kconfig: Update defconfigs\n  x86: Fix excessive MSR print out when show_msr is not specified\n"
    },
    {
      "commit": "bcd550745fc54f789c14e7526e0633222c505faa",
      "tree": "c3fe11a6503b7ffdd4406a9fece5c40b3e2a3f6d",
      "parents": [
        "93f378883cecb9dcb2cf5b51d9d24175906659da",
        "646783a389828e76e813f50791f7999429c821bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ia64: vsyscall: Add missing paranthesis\n  alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n  x86: vdso: Put declaration before code\n  x86-64: Inline vdso clock_gettime helpers\n  x86-64: Simplify and optimize vdso clock_gettime monotonic variants\n  kernel-time: fix s/then/than/ spelling errors\n  time: remove no_sync_cmos_clock\n  time: Avoid scary backtraces when warning of \u003e 11% adj\n  alarmtimer: Make sure we initialize the rtctimer\n  ntp: Fix leap-second hrtimer livelock\n  x86, tsc: Skip refined tsc calibration on systems with reliable TSC\n  rtc: Provide flag for rtc devices that don\u0027t support UIE\n  ia64: vsyscall: Use seqcount instead of seqlock\n  x86: vdso: Use seqcount instead of seqlock\n  x86: vdso: Remove bogus locking in update_vsyscall_tz()\n  time: Remove bogus comments\n  time: Fix change_clocksource locking\n  time: x86: Fix race switching from vsyscall to non-vsyscall clock\n"
    },
    {
      "commit": "5219a5342ab13650ae0f0c62319407268c48d0ab",
      "tree": "42f49976ca15418e512bc172e2b4b08c86b2008a",
      "parents": [
        "1e1229940045a537c61fb69f86010a8774e576d0"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Thu Mar 29 09:04:46 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:48 2012 +0800"
      },
      "message": "crypto: user - Fix size of netlink dump message\n\nThe default netlink message size limit might be exceeded when dumping a\nlot of algorithms to userspace. As a result, not all of the instantiated\nalgorithms dumped to userspace. So calculate an upper bound on the message\nsize and call netlink_dump_start() with that value.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "15c08f664d8ca4f4d0e202cbd4034422a706ef80",
      "tree": "202212c78177eb31b9c7e236eea438cdc2b5a074",
      "parents": [
        "cee1a799eb044657922c4d63003d7bf71f8c8b8d"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Thu Mar 29 12:21:17 2012 +0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Mar 29 12:09:45 2012 +0100"
      },
      "message": "regulator: Fix comments in include/linux/regulator/machine.h\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "615399c84d1b8d8d8752629e5e5ab4e5044d6918",
      "tree": "9ba37623ae3ed3011ab7215fa364052e1ef616f1",
      "parents": [
        "5f054e31c63be774bf1ce252f20d56012a00f8a5"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "message": "cpumask: remove old cpu_*_map.\n\nThese are obsolete: cpu_*_mask provides (const) pointers.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f",
      "tree": "5efd32dd52fe55f760094e78f18acd3ff869751d",
      "parents": [
        "afb9bd704c7116076879352a2cc2c43aa12c1e14",
        "135111cc5595c6a24dd826d503e2d2bae92da1c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 20:59:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 20:59:45 2012 -0700"
      },
      "message": "Merge tag \u0027mmc-merge-for-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\nPull MMC updates from Chris Ball:\n\nCore:\n * Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices\n   that support Data Tag will provide increased throughput for metadata.\n * Faster detection of card removal on I/O errors.\n\nDrivers:\n * dw_mmc now supports eMMC Power Off Notify, has PCI support, and\n   implements pre_req and post_req for asynchronous requests.\n * omap_hsmmc now supports device tree.\n * esdhc now has power management support.\n * sdhci-tegra now supports Tegra30 devices.\n * sdhci-spear now supports hibernation.\n * tmio_mmc now supports using a GPIO for card detection.\n * Intel PCH now supports 8-bit bus transfers.\n\n* tag \u0027mmc-merge-for-3.4-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)\n  mmc: sh_mmcif: simplify bitmask macros\n  mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug\n  mmc: sh_mobile_sdhi: add a callback for board specific init code\n  mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function\n  mmc: sh_mobile_sdhi: do not manage PM clocks manually\n  mmc: tmio_mmc: remove unused sdio_irq_enabled flag\n  mmc: tmio_mmc: power status flag doesn\u0027t have to be exposed in platform data\n  mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC\n  mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper\n  mmc: tmio: calculate the native hotplug condition only once\n  mmc: simplify mmc_cd_gpio_request() by removing two parameters\n  mmc: sdhci-pci: allow 8-bit bus width for Intel PCH\n  mmc: sdhci: check interrupt flags in ISR again\n  mmc: sdhci-pci: Add MSI support\n  mmc: core: warn when card doesn\u0027t support HPI\n  mmc: davinci: Poll status for small size transfers\n  mmc: davinci: Eliminate spurious interrupts\n  mmc: omap_hsmmc: Avoid a regulator voltage change with dt\n  mmc: omap_hsmmc: Convert hsmmc driver to use device tree\n  mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO\n  ...\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "78c1d78488a3c45685d993130c9f17102dc79a54",
      "tree": "b9fd6e6b53b5b161836bea39811f16deb0ad88ff",
      "parents": [
        "4c619aa0ba171c092a0ae5d969364deb82dbe371"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 28 14:42:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:37 2012 -0700"
      },
      "message": "radix-tree: introduce bit-optimized iterator\n\nA series of radix tree cleanups, and usage of them in the core pagecache\ncode.\n\nMicro-benchmark:\n\nlookup 14 slots (typical page-vector size)\nin radix-tree there earch \u003cstep\u003e slot filled and tagged\nbefore/after - nsec per full scan through tree\n\n* Intel Sandy Bridge i7-2620M 4Mb L3\nNew code always faster\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\nNew code generally faster,\nMinor degradation (marked with \"*\") for huge sparse trees\n\n* i386 on Sandy Bridge\nNew code faster for common cases: tagged and dense trees.\nSome degradations for non-tagged lookup on sparse trees.\n\nIdeally, there might help __ffs() analog for searching first non-zero\nlong element in array, gcc sometimes cannot optimize this loop corretly.\n\nNumbers:\n\nCPU: Intel Sandy Bridge i7-2620M 4Mb L3\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7156        after  3613\nstep  2      before  5399        after  2696\nstep  3      before  4779        after  1928\nstep  4      before  4456        after  1429\nstep  5      before  4292        after  1213\nstep  6      before  4183        after  1052\nstep  7      before  4157        after  951\nstep  8      before  4016        after  812\nstep  9      before  3952        after  851\nstep  10     before  3937        after  732\nstep  11     before  4023        after  709\nstep  12     before  3872        after  657\nstep  13     before  3892        after  633\nstep  14     before  3720        after  591\nstep  15     before  3879        after  578\nstep  16     before  3561        after  513\n\nnormal lookup\n\nstep  1      before  4266       after  3301\nstep  2      before  2695       after  2129\nstep  3      before  2083       after  1712\nstep  4      before  1801       after  1534\nstep  5      before  1628       after  1313\nstep  6      before  1551       after  1263\nstep  7      before  1475       after  1185\nstep  8      before  1432       after  1167\nstep  9      before  1373       after  1092\nstep  10     before  1339       after  1134\nstep  11     before  1292       after  1056\nstep  12     before  1319       after  1030\nstep  13     before  1276       after  1004\nstep  14     before  1256       after  987\nstep  15     before  1228       after  992\nstep  16     before  1247       after  999\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1086102841  after  674196409\nstep  2      before  816839155   after  498138306\nstep  7      before  599728907   after  240676762\nstep  15     before  555729253   after  185219677\nstep  63     before  606637748   after  128585664\nstep  64     before  608384432   after  102945089\nstep  65     before  596987114   after  123996019\nstep  128    before  304459225   after  56783056\nstep  256    before  158846855   after  31232481\nstep  512    before  86085652    after  18950595\nstep  12345  before  6517189     after  1674057\n\nnormal lookup\n\nstep  1      before  626064869  after  544418266\nstep  2      before  418809975  after  336321473\nstep  7      before  242303598  after  207755560\nstep  15     before  208380563  after  176496355\nstep  63     before  186854206  after  167283638\nstep  64     before  176188060  after  170143976\nstep  65     before  185139608  after  167487116\nstep  128    before  88181865   after  86913490\nstep  256    before  45733628   after  45143534\nstep  512    before  24506038   after  23859036\nstep  12345  before  2177425    after  2018662\n\n* AMD Athlon 6000+ 2x1Mb L2, without L3\n\nradix-tree with 1024 slots:\n\ntag-lookup\n\nstep  1      before  8164        after  5379\nstep  2      before  5818        after  5581\nstep  3      before  4959        after  4213\nstep  4      before  4371        after  3386\nstep  5      before  4204        after  2997\nstep  6      before  4950        after  2744\nstep  7      before  4598        after  2480\nstep  8      before  4251        after  2288\nstep  9      before  4262        after  2243\nstep  10     before  4175        after  2131\nstep  11     before  3999        after  2024\nstep  12     before  3979        after  1994\nstep  13     before  3842        after  1929\nstep  14     before  3750        after  1810\nstep  15     before  3735        after  1810\nstep  16     before  3532        after  1660\n\nnormal-lookup\n\nstep  1      before  7875        after  5847\nstep  2      before  4808        after  4071\nstep  3      before  4073        after  3462\nstep  4      before  3677        after  3074\nstep  5      before  4308        after  2978\nstep  6      before  3911        after  3807\nstep  7      before  3635        after  3522\nstep  8      before  3313        after  3202\nstep  9      before  3280        after  3257\nstep  10     before  3166        after  3083\nstep  11     before  3066        after  3026\nstep  12     before  2985        after  2982\nstep  13     before  2925        after  2924\nstep  14     before  2834        after  2808\nstep  15     before  2805        after  2803\nstep  16     before  2647        after  2622\n\nradix-tree with 1024*1024*128 slots:\n\ntag-lookup\n\nstep  1      before  1288059720  after  951736580\nstep  2      before  961292300   after  884212140\nstep  7      before  768905140   after  547267580\nstep  15     before  771319480   after  456550640\nstep  63     before  504847640   after  242704304\nstep  64     before  392484800   after  177920786\nstep  65     before  491162160   after  246895264\nstep  128    before  208084064   after  97348392\nstep  256    before  112401035   after  51408126\nstep  512    before  75825834    after  29145070\nstep  12345  before  5603166     after  2847330\n\nnormal-lookup\n\nstep  1      before  1025677120  after  861375100\nstep  2      before  647220080   after  572258540\nstep  7      before  505518960   after  484041813\nstep  15     before  430483053   after  444815320\t*\nstep  63     before  388113453   after  404250546\t*\nstep  64     before  374154666   after  396027440\t*\nstep  65     before  381423973   after  396704853\t*\nstep  128    before  190078700   after  202619384\t*\nstep  256    before  100886756   after  102829108\t*\nstep  512    before  64074505    after  56158720\nstep  12345  before  4237289     after  4422299\t\t*\n\n* i686 on Sandy bridge\n\nradix-tree with 1024 slots:\n\ntagged lookup\n\nstep  1      before  7990        after  4019\nstep  2      before  5698        after  2897\nstep  3      before  5013        after  2475\nstep  4      before  4630        after  1721\nstep  5      before  4346        after  1759\nstep  6      before  4299        after  1556\nstep  7      before  4098        after  1513\nstep  8      before  4115        after  1222\nstep  9      before  3983        after  1390\nstep  10     before  4077        after  1207\nstep  11     before  3921        after  1231\nstep  12     before  3894        after  1116\nstep  13     before  3840        after  1147\nstep  14     before  3799        after  1090\nstep  15     before  3797        after  1059\nstep  16     before  3783        after  745\n\nnormal lookup\n\nstep  1      before  5103       after  3499\nstep  2      before  3299       after  2550\nstep  3      before  2489       after  2370\nstep  4      before  2034       after  2302\t\t*\nstep  5      before  1846       after  2268\t\t*\nstep  6      before  1752       after  2249\t\t*\nstep  7      before  1679       after  2164\t\t*\nstep  8      before  1627       after  2153\t\t*\nstep  9      before  1542       after  2095\t\t*\nstep  10     before  1479       after  2109\t\t*\nstep  11     before  1469       after  2009\t\t*\nstep  12     before  1445       after  2039\t\t*\nstep  13     before  1411       after  2013\t\t*\nstep  14     before  1374       after  2046\t\t*\nstep  15     before  1340       after  1975\t\t*\nstep  16     before  1331       after  2000\t\t*\n\nradix-tree with 1024*1024*128 slots:\n\ntagged lookup\n\nstep  1      before  1225865377  after  667153553\nstep  2      before  842427423   after  471533007\nstep  7      before  609296153   after  276260116\nstep  15     before  544232060   after  226859105\nstep  63     before  519209199   after  141343043\nstep  64     before  588980279   after  141951339\nstep  65     before  521099710   after  138282060\nstep  128    before  298476778   after  83390628\nstep  256    before  149358342   after  43602609\nstep  512    before  76994713    after  22911077\nstep  12345  before  5328666     after  1472111\n\nnormal lookup\n\nstep  1      before  819284564  after  533635310\nstep  2      before  512421605  after  364956155\nstep  7      before  271443305  after  305721345\t*\nstep  15     before  223591630  after  273960216\t*\nstep  63     before  190320247  after  217770207\t*\nstep  64     before  178538168  after  267411372\t*\nstep  65     before  186400423  after  215347937\t*\nstep  128    before  88106045   after  140540612\t*\nstep  256    before  44812420   after  70660377\t\t*\nstep  512    before  24435438   after  36328275\t\t*\nstep  12345  before  2123924    after  2148062\t\t*\n\nbloat-o-meter delta for this patchset + patchset with related shmem cleanups\n\nbloat-o-meter: x86_64\n\nadd/remove: 4/3 grow/shrink: 5/6 up/down: 928/-939 (-11)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     499    +499\nshmem_unuse                                  428     554    +126\nshmem_radix_tree_replace                     131     227     +96\nfind_get_pages_tag                           354     419     +65\nfind_get_pages_contig                        345     407     +62\nfind_get_pages                               362     396     +34\n__kstrtab_radix_tree_next_chunk                -      22     +22\n__ksymtab_radix_tree_next_chunk                -      16     +16\n__kcrctab_radix_tree_next_chunk                -       8      +8\nradix_tree_gang_lookup_slot                  204     203      -1\nstatic.shmem_xattr_set                       384     381      -3\nradix_tree_gang_lookup_tag_slot              208     191     -17\nradix_tree_gang_lookup                       231     187     -44\nradix_tree_gang_lookup_tag                   247     199     -48\nshmem_unlock_mapping                         278     190     -88\n__lookup                                     217       -    -217\n__lookup_tag                                 242       -    -242\nradix_tree_locate_item                       279       -    -279\n\nbloat-o-meter: i386\n\nadd/remove: 3/3 grow/shrink: 8/9 up/down: 1075/-1275 (-200)\nfunction                                     old     new   delta\nradix_tree_next_chunk                          -     757    +757\nshmem_unuse                                  352     449     +97\nfind_get_pages_contig                        269     322     +53\nshmem_radix_tree_replace                     113     154     +41\nfind_get_pages_tag                           277     318     +41\ndcache_dir_lseek                             426     458     +32\n__kstrtab_radix_tree_next_chunk                -      22     +22\nvc_do_resize                                 968     977      +9\nsnd_pcm_lib_read1                            725     733      +8\n__ksymtab_radix_tree_next_chunk                -       8      +8\nnetlbl_cipsov4_list                         1120    1127      +7\nfind_get_pages                               293     291      -2\nnew_slab                                     467     459      -8\nbitfill_unaligned_rev                        425     417      -8\nradix_tree_gang_lookup_tag_slot              177     146     -31\nblk_dump_cmd                                 267     229     -38\nradix_tree_gang_lookup_slot                  212     134     -78\nshmem_unlock_mapping                         221     128     -93\nradix_tree_gang_lookup_tag                   275     162    -113\nradix_tree_gang_lookup                       255     126    -129\n__lookup                                     227       -    -227\n__lookup_tag                                 271       -    -271\nradix_tree_locate_item                       277       -    -277\n\nThis patch:\n\nImplement a clean, simple and effective radix-tree iteration routine.\n\nIterating divided into two phases:\n* lookup next chunk in radix-tree leaf node\n* iterating through slots in this chunk\n\nMain iterator function radix_tree_next_chunk() returns pointer to first\nslot, and stores in the struct radix_tree_iter index of next-to-last slot.\n For tagged-iterating it also constuct bitmask of tags for retunted chunk.\n All additional logic implemented as static-inline functions and macroses.\n\nAlso adds radix_tree_find_next_bit() static-inline variant of\nfind_next_bit() optimized for small constant size arrays, because\nfind_next_bit() too heavy for searching in an array with one/two long\nelements.\n\n[akpm@linux-foundation.org: rework comments a bit]\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nTested-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf3f89214ef6a33fad60856bc5ffd7bb2fc4709b",
      "tree": "d6f5d7eb93bad10cd146a737a3a72e3459ec3e61",
      "parents": [
        "5a04cca6c39cdd0b8c75b0628da634248f381b62"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Mar 28 14:42:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "pidns: add reboot_pid_ns() to handle the reboot syscall\n\nIn the case of a child pid namespace, rebooting the system does not really\nmakes sense.  When the pid namespace is used in conjunction with the other\nnamespaces in order to create a linux container, the reboot syscall leads\nto some problems.\n\nA container can reboot the host.  That can be fixed by dropping the\nsys_reboot capability but we are unable to correctly to poweroff/\nhalt/reboot a container and the container stays stuck at the shutdown time\nwith the container\u0027s init process waiting indefinitively.\n\nAfter several attempts, no solution from userspace was found to reliabily\nhandle the shutdown from a container.\n\nThis patch propose to make the init process of the child pid namespace to\nexit with a signal status set to : SIGINT if the child pid namespace\ncalled \"halt/poweroff\" and SIGHUP if the child pid namespace called\n\"reboot\".  When the reboot syscall is called and we are not in the initial\npid namespace, we kill the pid namespace for \"HALT\", \"POWEROFF\",\n\"RESTART\", and \"RESTART2\".  Otherwise we return EINVAL.\n\nReturning EINVAL is also an easy way to check if this feature is supported\nby the kernel when invoking another \u0027reboot\u0027 option like CAD.\n\nBy this way the parent process of the child pid namespace knows if it\nrebooted or not and can take the right decision.\n\nTest case:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n#include \u003calloca.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003csched.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csignal.h\u003e\n#include \u003csys/reboot.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n\n#include \u003clinux/reboot.h\u003e\n\nstatic int do_reboot(void *arg)\n{\n        int *cmd \u003d arg;\n\n        if (reboot(*cmd))\n                printf(\"failed to reboot(%d): %m\\n\", *cmd);\n}\n\nint test_reboot(int cmd, int sig)\n{\n        long stack_size \u003d 4096;\n        void *stack \u003d alloca(stack_size) + stack_size;\n        int status;\n        pid_t ret;\n\n        ret \u003d clone(do_reboot, stack, CLONE_NEWPID | SIGCHLD, \u0026cmd);\n        if (ret \u003c 0) {\n                printf(\"failed to clone: %m\\n\");\n                return -1;\n        }\n\n        if (wait(\u0026status) \u003c 0) {\n                printf(\"unexpected wait error: %m\\n\");\n                return -1;\n        }\n\n        if (!WIFSIGNALED(status)) {\n                printf(\"child process exited but was not signaled\\n\");\n                return -1;\n        }\n\n        if (WTERMSIG(status) !\u003d sig) {\n                printf(\"signal termination is not the one expected\\n\");\n                return -1;\n        }\n\n        return 0;\n}\n\nint main(int argc, char *argv[])\n{\n        int status;\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART2, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART2) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_HALT, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_HALT) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_POWER_OFF, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_POWERR_OFF) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_CAD_ON, -1);\n        if (status \u003e\u003d 0) {\n                printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) should have failed\\n\");\n                return 1;\n        }\n        printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) has failed as expected\\n\");\n\n        return 0;\n}\n\n[akpm@linux-foundation.org: tweak and add comments]\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@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": "38b93780a5381961ad92d24ab9a12a964189a3a4",
      "tree": "1d157e768930b91f222a7aaf1093ff982f2a9690",
      "parents": [
        "74046494ea68676d29ef6501a4bd950f08112a2c"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Wed Mar 28 14:42:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "lib/cpumask.c: remove __any_online_cpu()\n\n__any_online_cpu() is not optimal and also unnecessary.  So, replace its\nuse by faster cpumask_* operations.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a7e98e024ffa9f7e4554dd720c508015c4a831",
      "tree": "50c09e1a47418ba4bb55b11f756bf4d99cf76123",
      "parents": [
        "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: add func to IPI cpus based on parameter func\n\nAdd the on_each_cpu_cond() function that wraps on_each_cpu_mask() and\ncalculates the cpumask of cpus to IPI by calling a function supplied as a\nparameter in order to determine whether to IPI each specific cpu.\n\nThe function works around allocation failure of cpumask variable in\nCONFIG_CPUMASK_OFFSTACK\u003dy by itereating over cpus sending an IPI a time\nvia smp_call_function_single().\n\nThe function is useful since it allows to seperate the specific code that\ndecided in each case whether to IPI a specific cpu for a specific request\nfrom the common boilerplate code of handling creating the mask, handling\nfailures etc.\n\n[akpm@linux-foundation.org: s/gfpflags/gfp_flags/]\n[akpm@linux-foundation.org: avoid double-evaluation of `info\u0027 (per Michal), parenthesise evaluation of `cond_func\u0027]\n[akpm@linux-foundation.org: s/CPU/CPUs, use all 80 cols in comment]\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nReviewed-by: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.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": "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab",
      "tree": "c8c23d2255151d593383e3e3e62900073c6afd78",
      "parents": [
        "d15cab975459fb6092eeba1be72c13621337784f"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: introduce a generic on_each_cpu_mask() function\n\nWe have lots of infrastructure in place to partition multi-core systems\nsuch that we have a group of CPUs that are dedicated to specific task:\ncgroups, scheduler and interrupt affinity, and cpuisol\u003d boot parameter.\nStill, kernel code will at times interrupt all CPUs in the system via IPIs\nfor various needs.  These IPIs are useful and cannot be avoided\naltogether, but in certain cases it is possible to interrupt only specific\nCPUs that have useful work to do and not the entire system.\n\nThis patch set, inspired by discussions with Peter Zijlstra and Frederic\nWeisbecker when testing the nohz task patch set, is a first stab at trying\nto explore doing this by locating the places where such global IPI calls\nare being made and turning the global IPI into an IPI for a specific group\nof CPUs.  The purpose of the patch set is to get feedback if this is the\nright way to go for dealing with this issue and indeed, if the issue is\neven worth dealing with at all.  Based on the feedback from this patch set\nI plan to offer further patches that address similar issue in other code\npaths.\n\nThis patch creates an on_each_cpu_mask() and on_each_cpu_cond()\ninfrastructure API (the former derived from existing arch specific\nversions in Tile and Arm) and uses them to turn several global IPI\ninvocation to per CPU group invocations.\n\nCore kernel:\n\non_each_cpu_mask() calls a function on processors specified by cpumask,\nwhich may or may not include the local processor.\n\nYou must not call this function with disabled interrupts or from a\nhardware interrupt handler or from a bottom half handler.\n\narch/arm:\n\nNote that the generic version is a little different then the Arm one:\n\n1. It has the mask as first parameter\n2. It calls the function on the calling CPU with interrupts disabled,\n   but this should be OK since the function is called on the other CPUs\n   with interrupts disabled anyway.\n\narch/tile:\n\nThe API is the same as the tile private one, but the generic version\nalso calls the function on the with interrupts disabled in UP case\n\nThis is OK since the function is called on the other CPUs\nwith interrupts disabled.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: 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": "d15cab975459fb6092eeba1be72c13621337784f",
      "tree": "5c1d8d18c65a34eb738c97d75f2c44becdff1de3",
      "parents": [
        "29fd66d289f2981e11c550f8b411a6d3d38be0cf"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Mar 28 14:42:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "swapon: check validity of swap_flags\n\nMost system calls taking flags first check that the flags passed in are\nvalid, and that helps userspace to detect when new flags are supported.\n\nBut swapon never did so: start checking now, to help if we ever want to\nsupport more swap_flags in future.\n\nIt\u0027s difficult to get stray bits set in an int, and swapon is not widely\nused, so this is most unlikely to break any userspace; but we can just\nrevert if it turns out to do so.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "623e3db9f9b7d6e7b2a99180f9cf0825c936ab7a"
}
