)]}'
{
  "log": [
    {
      "commit": "70ef2601feb09d40f4086d055700b7923b3c2d6f",
      "tree": "b4c86449ec00d280eaf9b0003ac8680e472ee3dc",
      "parents": [
        "d4af0e9d6eef6ce53c1935ca6ee3c01889e3212d"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:50 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:03 2012 +0800"
      },
      "message": "crypto: move arch/x86/include/asm/aes.h to arch/x86/include/asm/crypto/\n\nMove AES header to the new asm/crypto directory.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d4af0e9d6eef6ce53c1935ca6ee3c01889e3212d",
      "tree": "5c9d83cb6b5a28fa11e32092cb4a3ec69da92ca8",
      "parents": [
        "a7378d4e552ac139ae1cbbdfebfeaa9b18c948d0"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:45 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:02 2012 +0800"
      },
      "message": "crypto: move arch/x86/include/asm/serpent-{sse2|avx}.h to arch/x86/include/asm/crypto/\n\nMove serpent crypto headers to the new asm/crypto/ directory.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a7378d4e552ac139ae1cbbdfebfeaa9b18c948d0",
      "tree": "dc8960d5ce50ac27f05e02151c7744bb313286b4",
      "parents": [
        "414cb5e7cc6e258fe36e2c3cc3ef1ff2e246c0e3"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:39 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:02 2012 +0800"
      },
      "message": "crypto: twofish-avx - remove duplicated glue code and use shared glue code from glue_helper\n\nNow that shared glue code is available, convert twofish-avx to use it.\n\nCc: Johannes Goetzfried \u003cJohannes.Goetzfried@informatik.stud.uni-erlangen.de\u003e\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "414cb5e7cc6e258fe36e2c3cc3ef1ff2e246c0e3",
      "tree": "bce5793f8d0e9791ea60d09192d74b482b9a6cfd",
      "parents": [
        "964263afdcbf9d1e85c021acfff0cc68dd168475"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:34 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:02 2012 +0800"
      },
      "message": "crypto: twofish-x86_64-3way - remove duplicated glue code and use shared glue code from glue_helper\n\nNow that shared glue code is available, convert twofish-x86_64-3way to use it.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "964263afdcbf9d1e85c021acfff0cc68dd168475",
      "tree": "6a9972203d7fa212547aa1bc89098e72fc536c97",
      "parents": [
        "1d0debbd4671a8d302a11837a126d5f87db16bdc"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:29 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:02 2012 +0800"
      },
      "message": "crypto: camellia-x86_64 - remove duplicated glue code and use shared glue code from glue_helper\n\nNow that shared glue code is available, convert camellia-x86_64 to use it.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1d0debbd4671a8d302a11837a126d5f87db16bdc",
      "tree": "8bd1032627c7b2bbec8b4bdf86bd9dc39599130c",
      "parents": [
        "596d875052dac6bf084f0c3a3e946fb4709b727b"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:24 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:01 2012 +0800"
      },
      "message": "crypto: serpent-avx: remove duplicated glue code and use shared glue code from glue_helper\n\nNow that shared glue code is available, convert serpent-avx to use it.\n\nCc: Johannes Goetzfried \u003cJohannes.Goetzfried@informatik.stud.uni-erlangen.de\u003e\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "596d875052dac6bf084f0c3a3e946fb4709b727b",
      "tree": "bd5bf090efd70b60d1c26c1ca7b6a559cbcf72b2",
      "parents": [
        "e81792fbc2a6fa4969f724b959829667fb2d4f01"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:19 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:01 2012 +0800"
      },
      "message": "crypto: serpent-sse2 - split generic glue code to new helper module\n\nNow that serpent-sse2 glue code has been made generic, it can be split to\nseparate module.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e81792fbc2a6fa4969f724b959829667fb2d4f01",
      "tree": "20e435e725e8ffca406ffb262c91552efd9dd952",
      "parents": [
        "a9629d7142ea22567eaa999232d8a31a7493665a"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:14 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:01 2012 +0800"
      },
      "message": "crypto: serpent-sse2 - prepare serpent-sse2 glue code into generic x86 glue code for 128bit block ciphers\n\nBlock cipher implementations in arch/x86/crypto/ contain common glue code that\nis currently duplicated in each module (camellia-x86_64, twofish-x86_64-3way,\ntwofish-avx, serpent-sse2 and serpent-avx). This patch prepares serpent-sse2\nglue into generic glue code for all 128bit block ciphers to use in\narch/x86/crypto.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a9629d7142ea22567eaa999232d8a31a7493665a",
      "tree": "6693434c4fa675478f7c3bca469f29b22670f713",
      "parents": [
        "30a04008827b58c4aafbd1d6a27d6b6ed239e993"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:08 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:01 2012 +0800"
      },
      "message": "crypto: aes_ni - change to use shared ablk_* functions\n\nRemove duplicate ablk_* functions and make use of ablk_helper module instead.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "30a04008827b58c4aafbd1d6a27d6b6ed239e993",
      "tree": "7c1cb4ead62efb278c0d0154f5fcc08c8ace90bb",
      "parents": [
        "ffaf9156320a077ebf9c5b9a5cf987689dc1a6b3"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:07:03 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:01 2012 +0800"
      },
      "message": "crypto: twofish-avx - change to use shared ablk_* functions\n\nRemove duplicate ablk_* functions and make use of ablk_helper module instead.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ffaf9156320a077ebf9c5b9a5cf987689dc1a6b3",
      "tree": "22a3602bdedfc8809ff09bc9241b98ae3264ff13",
      "parents": [
        "7c76bdd7c3baf6d2431bb801f5b11d2ac195fdd6"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon Jun 18 14:06:58 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 27 14:42:00 2012 +0800"
      },
      "message": "crypto: ablk_helper - move ablk_* functions from serpent-sse2/avx glue code to shared module\n\nMove ablk-* functions to separate module to share common code between cipher\nimplementations.\n\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3387e7d69048f5ab02729825f9611754850d9a87",
      "tree": "d7468f1d4a72dc1282a04c6f5bc5953be2b7bdad",
      "parents": [
        "d366db605c8c4a9878589bc4a87e55f6063184ac"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Thu Jun 14 10:09:03 2012 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 14 10:09:03 2012 +0800"
      },
      "message": "crypto: serpent-sse2/avx - allow both to be built into kernel\n\nRename serpent-avx assembler functions so that they do not collide with\nserpent-sse2 assembler functions when linking both versions in to same\nkernel image.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Johannes Goetzfried \u003cJohannes.Goetzfried@informatik.stud.uni-erlangen.de\u003e\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7efe4076725aeb01722445b56613681aa492c8d6",
      "tree": "138a24608d523e9794012586a904be0360cfebce",
      "parents": [
        "4da7de4d8be7d18559c56bca446b1161a3b63acc"
      ],
      "author": {
        "name": "Johannes Goetzfried",
        "email": "Johannes.Goetzfried@informatik.stud.uni-erlangen.de",
        "time": "Tue Jun 12 16:47:43 2012 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 12 16:47:43 2012 +0800"
      },
      "message": "crypto: serpent - add x86_64/avx assembler implementation\n\nThis patch adds a x86_64/avx assembler implementation of the Serpent block\ncipher. The implementation is very similar to the sse2 implementation and\nprocesses eight blocks in parallel. Because of the new non-destructive three\noperand syntax all move-instructions can be removed and therefore a little\nperformance increase is provided.\n\nPatch has been tested with tcrypt and automated filesystem tests.\n\nTcrypt benchmark results:\n\nIntel Core i5-2500 CPU (fam:6, model:42, step:7)\n\nserpent-avx-x86_64 vs. serpent-sse2-x86_64\n128bit key:                                             (lrw:256bit)    (xts:256bit)\nsize    ecb-enc ecb-dec cbc-enc cbc-dec ctr-enc ctr-dec lrw-enc lrw-dec xts-enc xts-dec\n16B     1.03x   1.01x   1.01x   1.01x   1.00x   1.00x   1.00x   1.00x   1.00x   1.01x\n64B     1.00x   1.00x   1.00x   1.00x   1.00x   0.99x   1.00x   1.01x   1.00x   1.00x\n256B    1.05x   1.03x   1.00x   1.02x   1.05x   1.06x   1.05x   1.02x   1.05x   1.02x\n1024B   1.05x   1.02x   1.00x   1.02x   1.05x   1.06x   1.05x   1.03x   1.05x   1.02x\n8192B   1.05x   1.02x   1.00x   1.02x   1.06x   1.06x   1.04x   1.03x   1.04x   1.02x\n\n256bit key:                                             (lrw:384bit)    (xts:512bit)\nsize    ecb-enc ecb-dec cbc-enc cbc-dec ctr-enc ctr-dec lrw-enc lrw-dec xts-enc xts-dec\n16B     1.01x   1.00x   1.01x   1.01x   1.00x   1.00x   0.99x   1.03x   1.01x   1.01x\n64B     1.00x   1.00x   1.00x   1.00x   1.00x   1.00x   1.00x   1.01x   1.00x   1.02x\n256B    1.05x   1.02x   1.00x   1.02x   1.05x   1.02x   1.04x   1.05x   1.05x   1.02x\n1024B   1.06x   1.02x   1.00x   1.02x   1.07x   1.06x   1.05x   1.04x   1.05x   1.02x\n8192B   1.05x   1.02x   1.00x   1.02x   1.06x   1.06x   1.04x   1.05x   1.05x   1.02x\n\nserpent-avx-x86_64 vs aes-asm (8kB block):\n         128bit  256bit\necb-enc  1.26x   1.73x\necb-dec  1.20x   1.64x\ncbc-enc  0.33x   0.45x\ncbc-dec  1.24x   1.67x\nctr-enc  1.32x   1.76x\nctr-dec  1.32x   1.76x\nlrw-enc  1.20x   1.60x\nlrw-dec  1.15x   1.54x\nxts-enc  1.22x   1.64x\nxts-dec  1.17x   1.57x\n\nSigned-off-by: Johannes Goetzfried \u003cJohannes.Goetzfried@informatik.stud.uni-erlangen.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "107778b592576c0c8e8d2ca7a2aa5415a4908223",
      "tree": "0e07f6abd2acaf69bf25efacf520584d748c860b",
      "parents": [
        "4d03c5047a07a62563e1a8fa798ea258f048bfde"
      ],
      "author": {
        "name": "Johannes Goetzfried",
        "email": "Johannes.Goetzfried@informatik.stud.uni-erlangen.de",
        "time": "Mon May 28 15:54:24 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 12 16:46:07 2012 +0800"
      },
      "message": "crypto: twofish - add x86_64/avx assembler implementation\n\nThis patch adds a x86_64/avx assembler implementation of the Twofish block\ncipher. The implementation processes eight blocks in parallel (two 4 block\nchunk AVX operations). The table-lookups are done in general-purpose registers.\nFor small blocksizes the 3way-parallel functions from the twofish-x86_64-3way\nmodule are called. A good performance increase is provided for blocksizes\ngreater or equal to 128B.\n\nPatch has been tested with tcrypt and automated filesystem tests.\n\nTcrypt benchmark results:\n\nIntel Core i5-2500 CPU (fam:6, model:42, step:7)\n\ntwofish-avx-x86_64 vs. twofish-x86_64-3way\n128bit key:                                             (lrw:256bit)    (xts:256bit)\nsize    ecb-enc ecb-dec cbc-enc cbc-dec ctr-enc ctr-dec lrw-enc lrw-dec xts-enc xts-dec\n16B     0.96x   0.97x   1.00x   0.95x   0.97x   0.97x   0.96x   0.95x   0.95x   0.98x\n64B     0.99x   0.99x   1.00x   0.99x   0.98x   0.98x   0.99x   0.98x   0.99x   0.98x\n256B    1.20x   1.21x   1.00x   1.19x   1.15x   1.14x   1.19x   1.20x   1.18x   1.19x\n1024B   1.29x   1.30x   1.00x   1.28x   1.23x   1.24x   1.26x   1.28x   1.26x   1.27x\n8192B   1.31x   1.32x   1.00x   1.31x   1.25x   1.25x   1.28x   1.29x   1.28x   1.30x\n\n256bit key:                                             (lrw:384bit)    (xts:512bit)\nsize    ecb-enc ecb-dec cbc-enc cbc-dec ctr-enc ctr-dec lrw-enc lrw-dec xts-enc xts-dec\n16B     0.96x   0.96x   1.00x   0.96x   0.97x   0.98x   0.95x   0.95x   0.95x   0.96x\n64B     1.00x   0.99x   1.00x   0.98x   0.98x   1.01x   0.98x   0.98x   0.98x   0.98x\n256B    1.20x   1.21x   1.00x   1.21x   1.15x   1.15x   1.19x   1.20x   1.18x   1.19x\n1024B   1.29x   1.30x   1.00x   1.28x   1.23x   1.23x   1.26x   1.27x   1.26x   1.27x\n8192B   1.31x   1.33x   1.00x   1.31x   1.26x   1.26x   1.29x   1.29x   1.28x   1.30x\n\ntwofish-avx-x86_64 vs aes-asm (8kB block):\n         128bit  256bit\necb-enc  1.19x   1.63x\necb-dec  1.18x   1.62x\ncbc-enc  0.75x   1.03x\ncbc-dec  1.23x   1.67x\nctr-enc  1.24x   1.65x\nctr-dec  1.24x   1.65x\nlrw-enc  1.15x   1.53x\nlrw-dec  1.14x   1.52x\nxts-enc  1.16x   1.56x\nxts-dec  1.16x   1.56x\n\nSigned-off-by: Johannes Goetzfried \u003cJohannes.Goetzfried@informatik.stud.uni-erlangen.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "65df57743924c3d13e1fa1bcf5bf70fe874fcdfd",
      "tree": "122291d27b0ea9aeed2e1e454a62f83a8aed3aa5",
      "parents": [
        "4e3c8a1b1c63482403e9d5e3148dee1a711e4b91"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Thu May 24 11:13:42 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 12 16:37:16 2012 +0800"
      },
      "message": "crypto: sha1 - use Kbuild supplied flags for AVX test\n\nCommit ea4d26ae (\"raid5: add AVX optimized RAID5 checksumming\")\nintroduced x86/ arch wide defines for AFLAGS and CFLAGS indicating AVX\nsupport in binutils based on the same test we have in x86/crypto/ right\nnow. To minimize duplication drop our implementation in favour to the\none in x86/.\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4e3c8a1b1c63482403e9d5e3148dee1a711e4b91",
      "tree": "513410a63a617436c94373fa5cf6273c3a85c47c",
      "parents": [
        "b0a4c6f2e3fce088eb597d4b9ee2075cb6399ee1",
        "7c8d51848a88aafdb68f42b6b650c83485ea2f84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 11 16:31:52 2012 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 11 16:31:52 2012 +0300"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n \"This push fixes an unaligned fault on x86-32 with aesni-intel and an\n  RNG failure with atmel-rng (repeated bits).\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: aesni-intel - fix unaligned cbc decrypt for x86-32\n  hwrng: atmel-rng - fix race condition leading to repeated bits\n"
    },
    {
      "commit": "72494504498ff5ac2f086a83473d4dd1ca490bd3",
      "tree": "7f1ceab43de3580235f1a56f2ae865901c09e4d7",
      "parents": [
        "cd96891d48a945ca2011fbeceda73813d6286195",
        "a841f8cef4bb124f0f5563314d0beaf2e1249d72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 14:59:29 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix the relax_domain_level boot parameter\n  sched: Validate assumptions in sched_init_numa()\n  sched: Always initialize cpu-power\n  sched: Fix domain iteration\n  sched/rt: Fix lockdep annotation within find_lock_lowest_rq()\n  sched/numa: Load balance between remote nodes\n  sched/x86: Calculate booted cores after construction of sibling_mask\n"
    },
    {
      "commit": "0b35d326f813a654f0cd40f513bd95e3935921c1",
      "tree": "618ad732013066e1460967034f6e38e731f991ad",
      "parents": [
        "106544d81d88069c2df66ebdee42a4ba8fcd25e9",
        "eeaaa96a3a2134a174100afd129bb0891d05f4b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:26:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:26:55 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 fixes from Ingo Molnar.\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/nmi: Fix section mismatch warnings on 32-bit\n  x86/uv: Fix UV2 BAU legacy mode\n  x86/mm: Only add extra pages count for the first memory range during pre-allocation early page table space\n  x86, efi stub: Add .reloc section back into image\n  x86/ioapic: Fix NULL pointer dereference on CPU hotplug after disabling irqs\n  x86/reboot: Fix a warning message triggered by stop_other_cpus()\n  x86/intel/moorestown: Change intel_scu_devices_create() to __devinit\n  x86/numa: Set numa_nodes_parsed at acpi_numa_memory_affinity_init()\n  x86/gart: Fix kmemleak warning\n  x86: mce: Add the dropped timer interval init back\n  x86/mce: Fix the MCE poll timer logic\n"
    },
    {
      "commit": "106544d81d88069c2df66ebdee42a4ba8fcd25e9",
      "tree": "9a6233100699c28fafde9eaa1751de7ddc173f58",
      "parents": [
        "03d8f5408235bfd2781142458e0c0671530e74e7",
        "db0dc75d6403b6663c0eab4c6ccb672eb9b2ed72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:14:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:14:46 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 fixes from Ingo Molnar:\n \"A bit larger than what I\u0027d wish for - half of it is due to hw driver\n  updates to Intel Ivy-Bridge which info got recently released,\n  cycles:pp should work there now too, amongst other things.  (but we\n  are generally making exceptions for hardware enablement of this type.)\n\n  There are also callchain fixes in it - responding to mostly\n  theoretical (but valid) concerns.  The tooling side sports perf.data\n  endianness/portability fixes which did not make it for the merge\n  window - and various other fixes as well.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)\n  perf/x86: Check user address explicitly in copy_from_user_nmi()\n  perf/x86: Check if user fp is valid\n  perf: Limit callchains to 127\n  perf/x86: Allow multiple stacks\n  perf/x86: Update SNB PEBS constraints\n  perf/x86: Enable/Add IvyBridge hardware support\n  perf/x86: Implement cycles:p for SNB/IVB\n  perf/x86: Fix Intel shared extra MSR allocation\n  x86/decoder: Fix bsr/bsf/jmpe decoding with operand-size prefix\n  perf: Remove duplicate invocation on perf_event_for_each\n  perf uprobes: Remove unnecessary check before strlist__delete\n  perf symbols: Check for valid dso before creating map\n  perf evsel: Fix 32 bit values endianity swap for sample_id_all header\n  perf session: Handle endianity swap on sample_id_all header data\n  perf symbols: Handle different endians properly during symbol load\n  perf evlist: Pass third argument to ioctl explicitly\n  perf tools: Update ioctl documentation for PERF_IOC_FLAG_GROUP\n  perf tools: Make --version show kernel version instead of pull req tag\n  perf tools: Check if callchain is corrupted\n  perf callchain: Make callchain cursors TLS\n  ...\n"
    },
    {
      "commit": "eeaaa96a3a2134a174100afd129bb0891d05f4b2",
      "tree": "bdb04df0af81d196f28446c0d985aef6cf0dca97",
      "parents": [
        "d5d2d2eea84b0d8450b082edbc3dbde41fb8bfd8"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Jun 06 10:05:42 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 12:19:27 2012 +0200"
      },
      "message": "x86/nmi: Fix section mismatch warnings on 32-bit\n\nIt was reported that compiling for 32-bit caused a bunch of\nsection mismatch warnings:\n\n VDSOSYM arch/x86/vdso/vdso32-syms.lds\n  LD      arch/x86/vdso/built-in.o\n  LD      arch/x86/built-in.o\n\n WARNING: arch/x86/built-in.o(.data+0x5af0): Section mismatch in\n reference from the variable test_nmi_ipi_callback_na.10451 to\n the function .init.text:test_nmi_ipi_callback() [...]\n\n WARNING: arch/x86/built-in.o(.data+0x5b04): Section mismatch in\n reference from the variable nmi_unk_cb_na.10399 to the function\n .init.text:nmi_unk_cb() The variable nmi_unk_cb_na.10399\n references the function __init nmi_unk_cb() [...]\n\nBoth of these are attributed to the internal representation of\nthe nmiaction struct created during register_nmi_handler.  The\nreason for this is that those structs are not defined in the\ninit section whereas the rest of the code in nmi_selftest.c is.\n\nTo resolve this, I created a new #define,\nregister_nmi_handler_initonly, that tags the struct as\n__initdata to resolve the mismatch.  This #define should only be\nused in rare situations where the register/unregister is called\nduring init of the kernel.\n\nBig thanks to Jan Beulich for decoding this for me as I didn\u0027t\nhave a clue what was going on.\n\nReported-by: Witold Baryluk \u003cbaryluk@smp.if.uj.edu.pl\u003e\nTested-by: Witold Baryluk \u003cbaryluk@smp.if.uj.edu.pl\u003e\nCc: Jan Beulich \u003cJBeulich@suse.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1338991542-23000-1-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d5d2d2eea84b0d8450b082edbc3dbde41fb8bfd8",
      "tree": "786ce4416a69407aa3ebb95f98b1475b46c9f204",
      "parents": [
        "bd2753b2dda7bb43c7468826de75f49c6a7e8965"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Thu Jun 07 08:31:40 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 11:48:28 2012 +0200"
      },
      "message": "x86/uv: Fix UV2 BAU legacy mode\n\nThe SGI Altix UV2 BAU (Broadcast Assist Unit) as used for\ntlb-shootdown (selective broadcast mode) always uses UV2\nbroadcast descriptor format. There is no need to clear the\n\u0027legacy\u0027 (UV1) mode, because the hardware always uses UV2 mode\nfor selective broadcast.\n\nBut the BIOS uses general broadcast and legacy mode, and the\nhardware pays attention to the legacy mode bit for general\nbroadcast. So the kernel must not clear that mode bit.\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/E1SccoO-0002Lh-Cb@eag09.americas.sgi.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bd2753b2dda7bb43c7468826de75f49c6a7e8965",
      "tree": "1c3c02c226132e257aa77b2db5ae56ed78f4e02b",
      "parents": [
        "743628e868c5992354fc80b4d1e9a6143da1c0e6"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jun 06 10:55:40 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jun 08 11:40:50 2012 +0200"
      },
      "message": "x86/mm: Only add extra pages count for the first memory range during pre-allocation early page table space\n\nRobin found this regression:\n\n| I just tried to boot an 8TB system.  It fails very early in boot with:\n| Kernel panic - not syncing: Cannot find space for the kernel page tables\n\ngit bisect commit 722bc6b16771ed80871e1fd81c86d3627dda2ac8.\n\nA git revert of that commit does boot past that point on the 8TB\nconfiguration.\n\nThat commit will add up extra pages for all memory range even\nabove 4g.\n\nTry to limit that extra page count adding to first entry only.\n\nBisected-by: Robin Holt \u003cholt@sgi.com\u003e\nTested-by: Robin Holt \u003cholt@sgi.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/CAE9FiQUj3wyzQxtq9yzBNc9u220p8JZ1FYHG7t%3DMOzJ%3D9BZMYA@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "743628e868c5992354fc80b4d1e9a6143da1c0e6",
      "tree": "1089643db1f1b80100ca7a9ebc29fc3d60acfa55",
      "parents": [
        "f6175f5bfb4c9f2ed32758c95f765b529b1a7f15"
      ],
      "author": {
        "name": "Jordan Justen",
        "email": "jordan.l.justen@intel.com",
        "time": "Thu Jun 07 09:05:21 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jun 07 09:52:33 2012 -0700"
      },
      "message": "x86, efi stub: Add .reloc section back into image\n\nSome UEFI firmware will not load a .efi with a .reloc section\nwith a size of 0.\n\nTherefore, we create a .efi image with 4 main areas and 3 sections.\n1. PE/COFF file header\n2. .setup section (covers all setup code following the first sector)\n3. .reloc section (contains 1 dummy reloc entry, created in build.c)\n4. .text section (covers the remaining kernel image)\n\nTo make room for the new .setup section data, the header\nbugger_off_msg had to be shortened.\n\nReported-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nSigned-off-by: Jordan Justen \u003cjordan.l.justen@intel.com\u003e\nLink: http://lkml.kernel.org/r/1339085121-12760-1-git-send-email-jordan.l.justen@intel.com\nTested-by: Lee G Rosenbaum \u003clee.g.rosenbaum@intel.com\u003e\nTested-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nCc: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "db0dc75d6403b6663c0eab4c6ccb672eb9b2ed72",
      "tree": "9c23cf7df8683a3c54bd7f074ceef16712aa7272",
      "parents": [
        "bc6ca7b342d5ae15c3ba3081fd40271b8039fb25"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Fri Apr 20 15:41:36 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 17:08:04 2012 +0200"
      },
      "message": "perf/x86: Check user address explicitly in copy_from_user_nmi()\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334961696-19580-5-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "bc6ca7b342d5ae15c3ba3081fd40271b8039fb25",
      "tree": "c2fbb2f922b48a450df5b66c0dca13ba6fd51f98",
      "parents": [
        "0b0d9cf6ec7bab91977da2d71c09157f110f7c2e"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Fri Apr 20 15:41:35 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 17:08:01 2012 +0200"
      },
      "message": "perf/x86: Check if user fp is valid\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334961696-19580-4-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "302fa4b58ac754a6da13f4f5546f710fecc3b945",
      "tree": "6df70de7ed659a0c5b670c781a2022386aaa0732",
      "parents": [
        "8440ccb43fc0ecffcf1acee0273d766e6a8cd51d"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Fri Apr 20 15:41:33 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 17:07:58 2012 +0200"
      },
      "message": "perf/x86: Allow multiple stacks\n\nWithout this patch, applications with two different stack\nregions (eg: native stack vs JIT stack) get truncated\ncallchains even when RBP chaining is present. GDB shows proper\nstack traces and the frame pointer chaining is intact.\n\nThis patch disables the (fp \u003c RSP) check, hoping that other checks\nin the code save the day for us. In our limited testing, this\ndidn\u0027t seem to break anything.\n\nIn the long term, we could potentially have userspace advise\nthe kernel on the range of valid stack addresses, so we don\u0027t\nspend a lot of time unwinding from bogus addresses.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: linux-kernel@vger.kernel.org\nCc: linux-perf-users@vger.kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334961696-19580-2-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8440ccb43fc0ecffcf1acee0273d766e6a8cd51d",
      "tree": "f9f5a1e4b9ee438598c5ad76144fc6ad3758c5c2",
      "parents": [
        "b6db437ba8322f5cee0bd355ad2ef9f73c413754"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 05 10:26:43 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:59:52 2012 +0200"
      },
      "message": "perf/x86: Update SNB PEBS constraints\n\nAfaict there\u0027s no need to (incompletely) iterate the\nMEM_UOPS_RETIRED.* umask state.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/r/1338884803.28282.153.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b6db437ba8322f5cee0bd355ad2ef9f73c413754",
      "tree": "131803ee0ce3129592ed77d8044370b7a19552b6",
      "parents": [
        "cccb9ba9e4ee0d750265f53de9258df69655c40b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 05 10:26:43 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:59:49 2012 +0200"
      },
      "message": "perf/x86: Enable/Add IvyBridge hardware support\n\nImplement rudimentary IVB perf support. The SDM states its identical\nto SNB with exception of the exact event tables, but a quick look\nsuggests they\u0027re similar enough.\n\nAlso mark SNB-EP as broken for now.\n\nRequested-and-tested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1338884803.28282.153.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cccb9ba9e4ee0d750265f53de9258df69655c40b",
      "tree": "35d79f295087f7d94067795f0079781c060f614a",
      "parents": [
        "b430f7c4706aeba4270c7ab7744fc504b9315e1c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 05 10:26:43 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:59:47 2012 +0200"
      },
      "message": "perf/x86: Implement cycles:p for SNB/IVB\n\nNow that there\u0027s finally a chip with working PEBS (IvyBridge), we can\nenable the hardware and implement cycles:p for SNB/IVB.\n\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nRequested-and-tested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1338884803.28282.153.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b430f7c4706aeba4270c7ab7744fc504b9315e1c",
      "tree": "ca92a63aa1499981c30fccb63db1270596af2aad",
      "parents": [
        "436d03faf6961b30e13b2d0967aea9d772d6cf44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 05 15:30:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:59:44 2012 +0200"
      },
      "message": "perf/x86: Fix Intel shared extra MSR allocation\n\nZheng Yan reported that event group validation can wreck event state\nwhen Intel extra_reg allocation changes event state.\n\nValidation shouldn\u0027t change any persistent state. Cloning events in\nvalidate_{event,group}() isn\u0027t really pretty either, so add a few\nspecial cases to avoid modifying the event state.\n\nThe code is restructured to minimize the special case impact.\n\nReported-by: Zheng Yan \u003czheng.z.yan@linux.intel.com\u003e\nAcked-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1338903031.28282.175.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ceb1cbac8eda66cf0f889def226b4e82f8ff857b",
      "tree": "1435a96e5f1a22e9ceca0032c0c2b0791e005f06",
      "parents": [
        "eea5b5510fc5545d15b69da8e485a7424ae388cf"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Thu May 31 13:07:38 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 16:37:59 2012 +0200"
      },
      "message": "sched/x86: Calculate booted cores after construction of sibling_mask\n\nCommit 316ad248307fb (\"sched/x86: Rewrite set_cpu_sibling_map()\")\nbroke the booted_cores accounting.\n\nThe problem is that the booted_cores accounting needs all the\nsibling links set up. So restore the second loop and add a comment as\nto why its needed.\n\nOn qemu booted with -smp sockets\u003d1,cores\u003d2,threads\u003d2;\nBefore:\n $ grep cores /proc/cpuinfo\n cpu cores       : 2\n cpu cores       : 1\n cpu cores       : 4\n cpu cores       : 3\n\nWith the patch:\n $ grep cores /proc/cpuinfo\n cpu cores       : 2\n cpu cores       : 2\n cpu cores       : 2\n cpu cores       : 2\n\nReported-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nReported-by: Borislav Petkov \u003cbp@amd64.org\u003e\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120531073738.GH7511@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f6175f5bfb4c9f2ed32758c95f765b529b1a7f15",
      "tree": "7c33b47cea87463f4d51f80064b699bafeb2a178",
      "parents": [
        "55c844a4dd16a4d1fdc0cf2a283ec631a02ec448"
      ],
      "author": {
        "name": "Tomoki Sekiyama",
        "email": "tomoki.sekiyama.qu@hitachi.com",
        "time": "Mon May 28 18:09:18 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 12:03:25 2012 +0200"
      },
      "message": "x86/ioapic: Fix NULL pointer dereference on CPU hotplug after disabling irqs\n\nIn current Linux, percpu variable `vector_irq\u0027 is not cleared on\nofflined cpus while disabling devices\u0027 irqs. If the cpu that has\nthe disabled irqs in vector_irq is hotplugged,\n__setup_vector_irq() hits invalid irq vector and may crash.\n\nThis bug can be reproduced as following;\n\n  # echo 0 \u003e /sys/devices/system/cpu/cpu7/online\n  # modprobe -r some_driver_using_interrupts      # vector_irq@cpu7 uncleared\n  # echo 1 \u003e /sys/devices/system/cpu/cpu7/online  # kernel may crash\n\nThis patch fixes this bug by clearing vector_irq in\n__clear_irq_vector() even if the cpu is offlined.\n\nSigned-off-by: Tomoki Sekiyama \u003ctomoki.sekiyama.qu@hitachi.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: yrl.pp-manager.tt@hitachi.com\nCc: ltc-kernel@ml.yrl.intra.hitachi.co.jp\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/4FC340BE.7080101@hitachi.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "55c844a4dd16a4d1fdc0cf2a283ec631a02ec448",
      "tree": "97d021939f6092a91139476bfed72d094d37f75b",
      "parents": [
        "7071f6b2889bb41bea61891d8a3e6e70517ef5e6"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed May 30 23:15:41 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 12:03:23 2012 +0200"
      },
      "message": "x86/reboot: Fix a warning message triggered by stop_other_cpus()\n\nWhen rebooting our 24 CPU Westmere servers with 3.4-rc6, we\nalways see this warning msg:\n\nRestarting system.\nmachine restart\n------------[ cut here ]------------\nWARNING: at arch/x86/kernel/smp.c:125\nnative_smp_send_reschedule+0x74/0xa7() Hardware name: X8DTN\nModules linked in: igb [last unloaded: scsi_wait_scan]\nPid: 1, comm: systemd-shutdow Not tainted 3.4.0-rc6+ #22\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff8102a41f\u003e] warn_slowpath_common+0x7e/0x96\n [\u003cffffffff8102a44c\u003e] warn_slowpath_null+0x15/0x17\n [\u003cffffffff81018cf7\u003e] native_smp_send_reschedule+0x74/0xa7\n [\u003cffffffff810561c1\u003e] trigger_load_balance+0x279/0x2a6\n [\u003cffffffff81050112\u003e] scheduler_tick+0xe0/0xe9\n [\u003cffffffff81036768\u003e] update_process_times+0x60/0x70\n [\u003cffffffff81062f2f\u003e] tick_sched_timer+0x68/0x92\n [\u003cffffffff81046e33\u003e] __run_hrtimer+0xb3/0x13c\n [\u003cffffffff81062ec7\u003e] ? tick_nohz_handler+0xd0/0xd0\n [\u003cffffffff810474f2\u003e] hrtimer_interrupt+0xdb/0x198\n [\u003cffffffff81019a35\u003e] smp_apic_timer_interrupt+0x81/0x94\n [\u003cffffffff81655187\u003e] apic_timer_interrupt+0x67/0x70\n \u003cEOI\u003e  [\u003cffffffff8101a3c4\u003e] ? default_send_IPI_mask_allbutself_phys+0xb4/0xc4\n [\u003cffffffff8101c680\u003e] physflat_send_IPI_allbutself+0x12/0x14\n [\u003cffffffff81018db4\u003e] native_nmi_stop_other_cpus+0x8a/0xd6\n [\u003cffffffff810188ba\u003e] native_machine_shutdown+0x50/0x67\n [\u003cffffffff81018926\u003e] machine_shutdown+0xa/0xc\n [\u003cffffffff8101897e\u003e] native_machine_restart+0x20/0x32\n [\u003cffffffff810189b0\u003e] machine_restart+0xa/0xc\n [\u003cffffffff8103b196\u003e] kernel_restart+0x47/0x4c\n [\u003cffffffff8103b2e6\u003e] sys_reboot+0x13e/0x17c\n [\u003cffffffff8164e436\u003e] ? _raw_spin_unlock_bh+0x10/0x12\n [\u003cffffffff810fcac9\u003e] ? bdi_queue_work+0xcf/0xd8\n [\u003cffffffff810fe82f\u003e] ? __bdi_start_writeback+0xae/0xb7\n [\u003cffffffff810e0d64\u003e] ? iterate_supers+0xa3/0xb7\n [\u003cffffffff816547a2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 320af5cb1cb60c5b ]---\n\nThe root cause seems to be the\ndefault_send_IPI_mask_allbutself_phys() takes quite some time (I\nmeasured it could be several ms) to complete sending NMIs to all\nthe other 23 CPUs, and for HZ\u003d250/1000 system, the time is long\nenough for a timer interrupt to happen, which will in turn\ntrigger to kick load balance to a stopped CPU and cause this\nwarning in native_smp_send_reschedule().\n\nSo disabling the local irq before stop_other_cpu() can fix this\nproblem (tested 25 times reboot ok), and it is fine as there\nshould be nobody caring the timer interrupt in such reboot\nstage.\n\nThe latest 3.4 kernel slightly changes this behavior by sending\nREBOOT_VECTOR first and only send NMI_VECTOR if the REBOOT_VCTOR\nfails, and this patch is still needed to prevent the problem.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120530231541.4c13433a@feng-i7\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7071f6b2889bb41bea61891d8a3e6e70517ef5e6",
      "tree": "31e21a5d54ff78f455a0107ccf71cca31bc09570",
      "parents": [
        "4af463d28f1a026e25c0b879fac2a0d2b7bff599"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Thu May 31 23:20:25 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:58:40 2012 +0200"
      },
      "message": "x86/intel/moorestown: Change intel_scu_devices_create() to __devinit\n\nThe allmodconfig hits:\n\n WARNING: vmlinux.o(.text+0x6553d): Section mismatch in\n          reference from the function intel_scu_devices_create() to the\n          function .devinit.text: spi_register_board_info()\n\t  [...]\n\nThis patch marks intel_scu_devices_create() as devinit because\nit only calls a devinit function, spi_register_board_info().\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Feng Tang \u003cfeng.tang@intel.com\u003e\nLink: http://lkml.kernel.org/r/20120531212025.GA8519@breakpoint.cc\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4af463d28f1a026e25c0b879fac2a0d2b7bff599",
      "tree": "f3821e052bcad9c0668437d68d8e0485a7cb31f7",
      "parents": [
        "aff5a62d52ff03956ff6992b9fe4b561fd855804"
      ],
      "author": {
        "name": "Yasuaki Ishimatsu",
        "email": "isimatu.yasuaki@jp.fujitsu.com",
        "time": "Mon Jun 04 11:42:32 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:58:39 2012 +0200"
      },
      "message": "x86/numa: Set numa_nodes_parsed at acpi_numa_memory_affinity_init()\n\nWhen hot-adding a CPU, the system outputs following messages\nsince node_to_cpumask_map[2] was not allocated memory.\n\nBooting Node 2 Processor 32 APIC 0xc0\nnode_to_cpumask_map[2] NULL\nPid: 0, comm: swapper/32 Tainted: G       A     3.3.5-acd #21\nCall Trace:\n [\u003cffffffff81048845\u003e] debug_cpumask_set_cpu+0x155/0x160\n [\u003cffffffff8105e28a\u003e] ? add_timer_on+0xaa/0x120\n [\u003cffffffff8150665f\u003e] numa_add_cpu+0x1e/0x22\n [\u003cffffffff815020bb\u003e] identify_cpu+0x1df/0x1e4\n [\u003cffffffff815020d6\u003e] identify_econdary_cpu+0x16/0x1d\n [\u003cffffffff81504614\u003e] smp_store_cpu_info+0x3c/0x3e\n [\u003cffffffff81505263\u003e] smp_callin+0x139/0x1be\n [\u003cffffffff815052fb\u003e] start_secondary+0x13/0xeb\n\nThe reason is that the bit of node 2 was not set at\nnuma_nodes_parsed. numa_nodes_parsed is set by only\nacpi_numa_processor_affinity_init /\nacpi_numa_x2apic_affinity_init. Thus even if hot-added memory\nwhich is same PXM as hot-added CPU is written in ACPI SRAT\nTable, if the hot-added CPU is not written in ACPI SRAT table,\nnuma_nodes_parsed is not set.\n\nBut according to ACPI Spec Rev 5.0, it says about ACPI SRAT\ntable as follows: This optional table provides information that\nallows OSPM to associate processors and memory ranges, including\nranges of memory provided by hot-added memory devices, with\nsystem localities / proximity domains and clock domains.\n\nIt means that ACPI SRAT table only provides information for CPUs\npresent at boot time and for memory including hot-added memory.\nSo hot-added memory is written in ACPI SRAT table, but hot-added\nCPU is not written in it. Thus numa_nodes_parsed should be set\nby not only acpi_numa_processor_affinity_init /\nacpi_numa_x2apic_affinity_init but also\nacpi_numa_memory_affinity_init for the case.\n\nAdditionally, if system has cpuless memory node,\nacpi_numa_processor_affinity_init /\nacpi_numa_x2apic_affinity_init cannot set numa_nodes_parseds\nsince these functions cannot find cpu description for the node.\nIn this case, numa_nodes_parsed needs to be set by\nacpi_numa_memory_affinity_init.\n\nSigned-off-by: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: liuj97@gmail.com\nCc: kosaki.motohiro@gmail.com\nLink: http://lkml.kernel.org/r/4FCC2098.4030007@jp.fujitsu.com\n[ merged it ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "aff5a62d52ff03956ff6992b9fe4b561fd855804",
      "tree": "3ee9fbb561ca19adf2b5a8583050566bc356ab0e",
      "parents": [
        "1a87fc1ec7b05b9bc60df9dc52297d4c225d7f1a"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Tue Jun 05 15:00:31 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 11:58:38 2012 +0200"
      },
      "message": "x86/gart: Fix kmemleak warning\n\naperture_64.c now is using memblock, the previous\nkmemleak_ignore() for alloc_bootmem() should be removed then.\n\nOtherwise, with kmemleak enabled, kernel will throw warnings\nlike:\n\n[    0.000000] kmemleak: Trying to color unknown object at 0xffff8800c4000000 as Black\n[    0.000000] Pid: 0, comm: swapper/0 Not tainted 3.5.0-rc1-next-20120605+ #130\n[    0.000000] Call Trace:\n[    0.000000]  [\u003cffffffff811b27e6\u003e] paint_ptr+0x66/0xc0\n[    0.000000]  [\u003cffffffff816b90fb\u003e] kmemleak_ignore+0x2b/0x60\n[    0.000000]  [\u003cffffffff81ef7bc0\u003e] kmemleak_init+0x217/0x2c1\n[    0.000000]  [\u003cffffffff81ed2b97\u003e] start_kernel+0x32d/0x3eb\n[    0.000000]  [\u003cffffffff81ed25e4\u003e] ? repair_env_string+0x5a/0x5a\n[    0.000000]  [\u003cffffffff81ed2356\u003e] x86_64_start_reservations+0x131/0x135\n[    0.000000]  [\u003cffffffff81ed2120\u003e] ? early_idt_handlers+0x120/0x120\n[    0.000000]  [\u003cffffffff81ed245c\u003e] x86_64_start_kernel+0x102/0x111\n[    0.000000] kmemleak: Early log backtrace:\n[    0.000000]    [\u003cffffffff816b911b\u003e] kmemleak_ignore+0x4b/0x60\n[    0.000000]    [\u003cffffffff81ee6a38\u003e] gart_iommu_hole_init+0x3e7/0x547\n[    0.000000]    [\u003cffffffff81edb20b\u003e] pci_iommu_alloc+0x44/0x6f\n[    0.000000]    [\u003cffffffff81ee81ad\u003e] mem_init+0x19/0xec\n[    0.000000]    [\u003cffffffff81ed2a54\u003e] start_kernel+0x1ea/0x3eb\n[    0.000000]    [\u003cffffffff81ed2356\u003e] x86_64_start_reservations+0x131/0x135\n[    0.000000]    [\u003cffffffff81ed245c\u003e] x86_64_start_kernel+0x102/0x111\n[    0.000000]    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Xiaotian Feng \u003cdannyfeng@tencent.com\u003e\nCc: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1338922831-2847-1-git-send-email-xtfeng@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1a87fc1ec7b05b9bc60df9dc52297d4c225d7f1a",
      "tree": "c3193dd6008a9ec5986bcc45fb15744d9b291085",
      "parents": [
        "958fb3c51295764599d6abce87e1a01ace897a3e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 06 11:33:21 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 06 11:33:21 2012 +0200"
      },
      "message": "x86: mce: Add the dropped timer interval init back\n\ncommit 82f7af09 (\"x86/mce: Cleanup timer mess) dropped the\ninitialization of the per cpu timer interval. Duh :(\n\nRestore the previous behaviour.\n\nReported-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nCc: bp@amd64.org\nCc: tony.luck@intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "436d03faf6961b30e13b2d0967aea9d772d6cf44",
      "tree": "d4e77479e3116d111c698b722cc89d78959405c9",
      "parents": [
        "02e03040a3fda866e5d1018734bd5b5ede997043"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "masami.hiramatsu.pt@hitachi.com",
        "time": "Tue Jun 05 00:09:11 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 08:54:18 2012 +0200"
      },
      "message": "x86/decoder: Fix bsr/bsf/jmpe decoding with operand-size prefix\n\nFix the x86 instruction decoder to decode bsr/bsf/jmpe with\noperand-size prefix (66h). This fixes the test case failure\nreported by Linus, attached below.\n\nbsf/bsr/jmpe have a special encoding. Opcode map in\nIntel Software Developers Manual vol2 says they have\nTZCNT/LZCNT variants if it has F3h prefix. However, there\nis no information if it has other 66h or F2h prefixes.\nCurrent instruction decoder supposes that those are\nbad instructions, but it actually accepts at least\noperand-size prefixes.\n\nH. Peter Anvin further explains:\n\n \" TZCNT/LZCNT are F3 + BSF/BSR exactly because the F2 and\n   F3 prefixes have historically been no-ops with most instructions.\n   This allows software to unconditionally use the prefixed versions\n   and get TZCNT/LZCNT on the processors that have them if they don\u0027t\n   care about the difference. \"\n\nThis fixes errors reported by test_get_len:\n\n  Warning: arch/x86/tools/test_get_len found difference at \u003cem_bsf\u003e:ffffffff81036d87\n  Warning: ffffffff81036de5:\t66 0f bc c2          \tbsf    %dx,%ax\n  Warning: objdump says 4 bytes, but insn_get_length() says 3\n  Warning: arch/x86/tools/test_get_len found difference at \u003cem_bsr\u003e:ffffffff81036ea6\n  Warning: ffffffff81036f04:\t66 0f bd c2          \tbsr    %dx,%ax\n  Warning: objdump says 4 bytes, but insn_get_length() says 3\n  Warning: decoded and checked 13298882 instructions with 2 warnings\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nReported-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cyrl.pp-manager.tt@hitachi.com\u003e\nLink: http://lkml.kernel.org/r/20120604150911.22338.43296.stgit@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "958fb3c51295764599d6abce87e1a01ace897a3e",
      "tree": "500c68d487c26ca550c32240bc8c21097e33a961",
      "parents": [
        "f9ba7179ce91fb77b2adf6eaab3676ab3a1f5a15"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Tue Jun 05 10:35:02 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jun 06 08:28:21 2012 +0200"
      },
      "message": "x86/mce: Fix the MCE poll timer logic\n\nIn commit 82f7af09 (\"x86/mce: Cleanup timer mess), Thomas just\nforgot the \"/ 2\" there while cleaning up.\n\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: bp@amd64.org\nCc: tony.luck@intel.com\nLink: http://lkml.kernel.org/r/1338863702-9245-1-git-send-email-gong.chen@linux.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "eea5b5510fc5545d15b69da8e485a7424ae388cf",
      "tree": "472b0056777180045be743e90e340a5d3460e036",
      "parents": [
        "ecc728467fb0c3e350b57fc66ed7585c15be50f5",
        "c2238f10e0c34a85a2a555c8a197316d1ca3fb7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 15:15:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 15:15:04 2012 -0700"
      },
      "message": "Merge tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras\n\nPull MCE regression fix from Tony Luck:\n \"Typo/thinko in a cleanup caused a semantic change. Fix it.\"\n\n* tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:\n  x86/mce: Fix the MCE poll timer logic\n"
    },
    {
      "commit": "c2238f10e0c34a85a2a555c8a197316d1ca3fb7e",
      "tree": "895d519bbc8887282bee83587cbe03d156cc6b56",
      "parents": [
        "82f7af09e6fb58fb725c850d725d5e8780a9bec2"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Tue Jun 05 10:35:02 2012 +0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 05 10:15:07 2012 -0700"
      },
      "message": "x86/mce: Fix the MCE poll timer logic\n\nIn commit 82f7af09 (x86/mce: Cleanup timer mess), Thomas just forgot\nthe \"/ 2\" there while cleaning up.\n\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "0b3e9f3f21c42d064f5f4088df4088e3d55755eb",
      "tree": "b153a9346bf21a64a9e5c5f3f440f00b591fd269",
      "parents": [
        "99becf1328d8d71dd6f4480e3591d7dcdb389e57",
        "6a4c96eef42f835734a82c6b512abf9881b7c55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Remove NULL assignment of dattr_cur\n  sched: Remove the last NULL entry from sched_feat_names\n  sched: Make sched_feat_names const\n  sched/rt: Fix SCHED_RR across cgroups\n  sched: Move nr_cpus_allowed out of \u0027struct sched_rt_entity\u0027\n  sched: Make sure to not re-read variables after validation\n  sched: Fix SD_OVERLAP\n  sched: Don\u0027t try allocating memory from offline nodes\n  sched/nohz: Fix rq-\u003ecpu_load calculations some more\n  sched/x86: Use cpu_llc_shared_mask(cpu) for coregroup_mask\n"
    },
    {
      "commit": "63004afa718b1506fe9a286075b3b2d8c6ca2b9b",
      "tree": "2ca957b939f36c7b6a8d85e162fec9d5a4bcca99",
      "parents": [
        "f309532bf3e1cc1b787403d84e3039812a7dbe50",
        "40b46a7d2938589a5abab132a7824fd17ae18f62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:17:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:17:03 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull straggler x86 fixes from Peter Anvin:\n \"Three groups of patches:\n\n  - EFI boot stub documentation and the ability to print error messages;\n  - Removal for PTRACE_ARCH_PRCTL for x32 (obsolete interface which\n    should never have been ported, and the port is broken and\n    potentially dangerous.)\n  - ftrace stack corruption fixes.  I\u0027m not super-happy about the\n    technical implementation, but it is probably the least invasive in\n    the short term.  In the future I would like a single method for\n    nesting the debug stack, however.\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32\n  x86, efi: Add EFI boot stub documentation\n  x86, efi; Add EFI boot stub console support\n  x86, efi: Only close open files in error path\n  ftrace/x86: Do not change stacks in DEBUG when calling lockdep\n  x86: Allow nesting of the debug stack IDT setting\n  x86: Reset the debug_stack update counter\n  ftrace: Use breakpoint method to update ftrace caller\n  ftrace: Synchronize variable setting with breakpoints\n"
    },
    {
      "commit": "40b46a7d2938589a5abab132a7824fd17ae18f62",
      "tree": "2bdf9d2449b6f3437675f1398698e170aebb37cb",
      "parents": [
        "bad1a753d4d4deb09d4bc0bac1dd4fc3298502e9",
        "5963e317b1e9d2a4511503916d8fd664bb8fa8fb"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 15:55:31 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 15:55:31 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027rostedt/tip/perf/urgent-2\u0027 into x86-urgent-for-linus\n"
    },
    {
      "commit": "bad1a753d4d4deb09d4bc0bac1dd4fc3298502e9",
      "tree": "49923bb64af0c598635b9d481f7e1390bf5a5bbb",
      "parents": [
        "0c7596621e313bfcfbacb288e768c7150f5de9e0"
      ],
      "author": {
        "name": "H.J. Lu",
        "email": "hjl.tools@gmail.com",
        "time": "Mon May 21 20:29:45 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 13:54:21 2012 -0700"
      },
      "message": "x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32\n\nWhen I added x32 ptrace to 3.4 kernel, I also include PTRACE_ARCH_PRCTL\nsupport for x32 GDB  For ARCH_GET_FS/GS, it takes a pointer to int64.  But\nat user level, ARCH_GET_FS/GS takes a pointer to int32.  So I have to add\nx32 ptrace to glibc to handle it with a temporary int64 passed to kernel and\ncopy it back to GDB as int32.  Roland suggested that PTRACE_ARCH_PRCTL\nis obsolete and x32 GDB should use fs_base and gs_base fields of\nuser_regs_struct instead.\n\nAccordingly, remove PTRACE_ARCH_PRCTL completely from the x32 code to\navoid possible memory overrun when pointer to int32 is passed to\nkernel.\n\nLink: http://lkml.kernel.org/r/CAMe9rOpDzHfS7NH7m1vmD9QRw8SSj4Sc%2BaNOgcWm_WJME2eRsQ@mail.gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e v3.4\n"
    },
    {
      "commit": "86c47b70f62a7072d441ba212aab33c2f82627c2",
      "tree": "d03988bd2226966352bb7f3c2e82ff545353d2c4",
      "parents": [
        "1193755ac6328ad240ba987e6ec41d5e8baf0680",
        "44fbbb3dc687c9709a6f2236197316e5c79ab1eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull third pile of signal handling patches from Al Viro:\n \"This time it\u0027s mostly helpers and conversions to them; there\u0027s a lot\n  of stuff remaining in the tree, but that\u0027ll either go in -rc2\n  (isolated bug fixes, ideally via arch maintainers\u0027 trees) or will sit\n  there until the next cycle.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  x86: get rid of calling do_notify_resume() when returning to kernel mode\n  blackfin: check __get_user() return value\n  whack-a-mole with TIF_FREEZE\n  FRV: Optimise the system call exit path in entry.S [ver #2]\n  FRV: Shrink TIF_WORK_MASK [ver #2]\n  FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions\n  new helper: signal_delivered()\n  powerpc: get rid of restore_sigmask()\n  most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n  set_restore_sigmask() is never called without SIGPENDING (and never should be)\n  TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set\n  don\u0027t call try_to_freeze() from do_signal()\n  pull clearing RESTORE_SIGMASK into block_sigmask()\n  sh64: failure to build sigframe !\u003d signal without handler\n  openrisc: tracehook_signal_handler() is supposed to be called on success\n  new helper: sigmask_to_save()\n  new helper: restore_saved_sigmask()\n  new helpers: {clear,test,test_and_clear}_restore_sigmask()\n  HAVE_RESTORE_SIGMASK is defined on all architectures now\n"
    },
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "44fbbb3dc687c9709a6f2236197316e5c79ab1eb",
      "tree": "d3c995b1cb7e3f9ac5af09b8d78f6c839a65f35a",
      "parents": [
        "29bf5dd895219e5111099908040aecfc1509f9bb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 30 18:24:46 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 13:01:51 2012 -0400"
      },
      "message": "x86: get rid of calling do_notify_resume() when returning to kernel mode\n\nIf we end up calling do_notify_resume() with !user_mode(refs), it\ndoes nothing (do_signal() explicitly bails out and we can\u0027t get there\nwith TIF_NOTIFY_RESUME in such situations).  Then we jump to\nresume_userspace_sig, which rechecks the same thing and bails out\nto resume_kernel, thus breaking the loop.\n\nIt\u0027s easier and cheaper to check *before* calling do_notify_resume()\nand bail out to resume_kernel immediately.  And kill the check in\ndo_signal()...\n\nNote that on amd64 we can\u0027t get there with !user_mode() at all - asm\nglue takes care of that.\n\nAcked-and-reviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "efee984c27b67e3ebef40410f35671997441b57c",
      "tree": "53457dba2338f853d34e1754e7f7f960e4a29482",
      "parents": [
        "17440f171e28e86cc21a4c8fd1fa3c561503f80e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 28 02:04:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:52 2012 -0400"
      },
      "message": "new helper: signal_delivered()\n\nDoes block_sigmask() + tracehook_signal_handler();  called when\nsigframe has been successfully built.  All architectures converted\nto it; block_sigmask() itself is gone now (merged into this one).\n\nI\u0027m still not too happy with the signature, but that\u0027s a separate\nstory (IMO we need a structure that would contain signal number +\nsiginfo + k_sigaction, so that get_signal_to_deliver() would fill one,\nsignal_delivered(), handle_signal() and probably setup...frame() -\ntake one).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "77097ae503b170120ab66dd1d547f8577193f91f",
      "tree": "bee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5",
      "parents": [
        "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:58:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:51 2012 -0400"
      },
      "message": "most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n\nOnly 3 out of 63 do not.  Renamed the current variant to __set_current_blocked(),\nadded set_current_blocked() that will exclude unblockable signals, switched\nopen-coded instances to it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5",
      "tree": "a36c599628574280999af2d1e7bfe2a4a6969164",
      "parents": [
        "6fd84c0831ec78d98736b76dc5e9b849f1dbfc9e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:42:45 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:50 2012 -0400"
      },
      "message": "set_restore_sigmask() is never called without SIGPENDING (and never should be)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a610d6e672d6d3723e8da257ad4a8a288a8f2f89",
      "tree": "2fac6ce7f72756771f4f87583205cc402589dcad",
      "parents": [
        "5754f412a3f107cbcd93ee125bef296f2a07539b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:42:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:49 2012 -0400"
      },
      "message": "pull clearing RESTORE_SIGMASK into block_sigmask()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b7f9a11a6cf1ea9ee6be3eb2b90d91327a09ad14",
      "tree": "7d5a5f469aea8ac2b3e1ab41e05a6abafcb2b694",
      "parents": [
        "51a7b448d4134e3e8eec633435e3e8faee14a828"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 02 09:59:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:48 2012 -0400"
      },
      "message": "new helper: sigmask_to_save()\n\nreplace boilerplate \"should we use -\u003esaved_sigmask or -\u003eblocked?\"\nwith calls of obvious inlined helper...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51a7b448d4134e3e8eec633435e3e8faee14a828",
      "tree": "8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3",
      "parents": [
        "4ebefe3ec729003443daf153ed6fad1739271283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:33:55 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helper: restore_saved_sigmask()\n\nfirst fruits of ..._restore_sigmask() helpers: now we can take\nboilerplate \"signal didn\u0027t have a handler, clear RESTORE_SIGMASK\nand restore the blocked mask from -\u003esaved_mask\" into a common\nhelper.  Open-coded instances switched...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ebefe3ec729003443daf153ed6fad1739271283",
      "tree": "cea05e7086314d200886fd3b76867e8fb5e6574b",
      "parents": [
        "754421c8cab1a568be844a7069fe04c1cf6391b8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 22:29:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helpers: {clear,test,test_and_clear}_restore_sigmask()\n\nhelpers parallel to set_restore_sigmask(), used in the next commits\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0c7596621e313bfcfbacb288e768c7150f5de9e0",
      "tree": "d1d65365794d5ca136f053cda174b822c8aa7b85",
      "parents": [
        "9fa7dedad3d30345c843bd82db02c4d6169e5f61"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Mar 16 12:03:13 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 09:11:41 2012 -0700"
      },
      "message": "x86, efi: Add EFI boot stub documentation\n\nSince we can\u0027t expect every user to read the EFI boot stub code it\nseems prudent to have a couple of paragraphs explaining what it is and\nhow it works.\n\nThe \"initrd\u003d\" option in particular is tricky because it only\nunderstands absolute EFI-style paths (backslashes as directory\nseparators), and until now this hasn\u0027t been documented anywhere. This\nhas tripped up a couple of users.\n\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nLink: http://lkml.kernel.org/r/1331907517-3985-4-git-send-email-matt@console-pimps.org\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "9fa7dedad3d30345c843bd82db02c4d6169e5f61",
      "tree": "8f7563d8e33e7faf4def6f58a44de664e0f106bc",
      "parents": [
        "30dc0d0fe5d08396dbdaa2d70972149131340960"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Mon Feb 20 13:20:59 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 09:11:26 2012 -0700"
      },
      "message": "x86, efi; Add EFI boot stub console support\n\nWe need a way of printing useful messages to the user, for example\nwhen we fail to open an initrd file, instead of just hanging the\nmachine without giving the user any indication of what went wrong. So\nsprinkle some error messages throughout the EFI boot stub code to make\nit easier for users to diagnose/report problems.\n\nReported-by: Keshav P R \u003cthe.ridikulus.rat@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nLink: http://lkml.kernel.org/r/1331907517-3985-3-git-send-email-matt@console-pimps.org\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "30dc0d0fe5d08396dbdaa2d70972149131340960",
      "tree": "7c875693d5e31a18ebe635612503be876472c96e",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Thu Mar 15 19:13:25 2012 +0000"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Fri Jun 01 09:11:10 2012 -0700"
      },
      "message": "x86, efi: Only close open files in error path\n\nThe loop at the \u0027close_handles\u0027 label in handle_ramdisks() should be\nusing \u0027i\u0027, which represents the number of initrd files that were\nsuccessfully opened, not \u0027nr_initrds\u0027 which is the number of initrd\u003d\narguments passed on the command line.\n\nCurrently, if we execute the loop to close all file handles and we\nfailed to open any initrds we\u0027ll try to call the close function on a\ngarbage pointer, causing the machine to hang.\n\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nLink: http://lkml.kernel.org/r/1331907517-3985-2-git-send-email-matt@console-pimps.org\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "5963e317b1e9d2a4511503916d8fd664bb8fa8fb",
      "tree": "792e282724da9e5311f359de7809cde5ef3991a6",
      "parents": [
        "f8988175fd70874d1fb3712b1c5d3bfc6d455202"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 30 11:54:53 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 31 23:12:22 2012 -0400"
      },
      "message": "ftrace/x86: Do not change stacks in DEBUG when calling lockdep\n\nWhen both DYNAMIC_FTRACE and LOCKDEP are set, the TRACE_IRQS_ON/OFF\nwill call into the lockdep code. The lockdep code can call lots of\nfunctions that may be traced by ftrace. When ftrace is updating its\ncode and hits a breakpoint, the breakpoint handler will call into\nlockdep. If lockdep happens to call a function that also has a breakpoint\nattached, it will jump back into the breakpoint handler resetting\nthe stack to the debug stack and corrupt the contents currently on\nthat stack.\n\nThe \u0027do_sym\u0027 call that calls do_int3() is protected by modifying the\nIST table to point to a different location if another breakpoint is\nhit. But the TRACE_IRQS_OFF/ON are outside that protection, and if\na breakpoint is hit from those, the stack will get corrupted, and\nthe kernel will crash:\n\n[ 1013.243754] BUG: unable to handle kernel NULL pointer dereference at 0000000000000002\n[ 1013.272665] IP: [\u003cffff880145cc0000\u003e] 0xffff880145cbffff\n[ 1013.285186] PGD 1401b2067 PUD 14324c067 PMD 0\n[ 1013.298832] Oops: 0010 [#1] PREEMPT SMP\n[ 1013.310600] CPU 2\n[ 1013.317904] Modules linked in: ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables crc32c_intel ghash_clmulni_intel microcode usb_debug serio_raw pcspkr iTCO_wdt i2c_i801 iTCO_vendor_support e1000e nfsd nfs_acl auth_rpcgss lockd sunrpc i915 video i2c_algo_bit drm_kms_helper drm i2c_core [last unloaded: scsi_wait_scan]\n[ 1013.401848]\n[ 1013.407399] Pid: 112, comm: kworker/2:1 Not tainted 3.4.0+ #30\n[ 1013.437943] RIP: 8eb8:[\u003cffff88014630a000\u003e]  [\u003cffff88014630a000\u003e] 0xffff880146309fff\n[ 1013.459871] RSP: ffffffff8165e919:ffff88014780f408  EFLAGS: 00010046\n[ 1013.477909] RAX: 0000000000000001 RBX: ffffffff81104020 RCX: 0000000000000000\n[ 1013.499458] RDX: ffff880148008ea8 RSI: ffffffff8131ef40 RDI: ffffffff82203b20\n[ 1013.521612] RBP: ffffffff81005751 R08: 0000000000000000 R09: 0000000000000000\n[ 1013.543121] R10: ffffffff82cdc318 R11: 0000000000000000 R12: ffff880145cc0000\n[ 1013.564614] R13: ffff880148008eb8 R14: 0000000000000002 R15: ffff88014780cb40\n[ 1013.586108] FS:  0000000000000000(0000) GS:ffff880148000000(0000) knlGS:0000000000000000\n[ 1013.609458] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1013.627420] CR2: 0000000000000002 CR3: 0000000141f10000 CR4: 00000000001407e0\n[ 1013.649051] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 1013.670724] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[ 1013.692376] Process kworker/2:1 (pid: 112, threadinfo ffff88013fe0e000, task ffff88014020a6a0)\n[ 1013.717028] Stack:\n[ 1013.724131]  ffff88014780f570 ffff880145cc0000 0000400000004000 0000000000000000\n[ 1013.745918]  cccccccccccccccc ffff88014780cca8 ffffffff811072bb ffffffff81651627\n[ 1013.767870]  ffffffff8118f8a7 ffffffff811072bb ffffffff81f2b6c5 ffffffff81f11bdb\n[ 1013.790021] Call Trace:\n[ 1013.800701] Code: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a \u003ce7\u003e d7 64 81 ff ff ff ff 01 00 00 00 00 00 00 00 65 d9 64 81 ff\n[ 1013.861443] RIP  [\u003cffff88014630a000\u003e] 0xffff880146309fff\n[ 1013.884466]  RSP \u003cffff88014780f408\u003e\n[ 1013.901507] CR2: 0000000000000002\n\nThe solution was to reuse the NMI functions that change the IDT table to make the debug\nstack keep its current stack (in kernel mode) when hitting a breakpoint:\n\n  call debug_stack_set_zero\n  TRACE_IRQS_ON\n  call debug_stack_reset\n\nIf the TRACE_IRQS_ON happens to hit a breakpoint then it will keep the current stack\nand not crash the box.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f8988175fd70874d1fb3712b1c5d3bfc6d455202",
      "tree": "2f00c9f7986e17b2cead373325e01081bc879b6c",
      "parents": [
        "c0525a6972d3f1fb83058ef503e183475d6e4e26"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 30 11:47:00 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 31 23:12:21 2012 -0400"
      },
      "message": "x86: Allow nesting of the debug stack IDT setting\n\nWhen the NMI handler runs, it checks if it preempted a debug handler\nand if that handler is using the debug stack. If it is, it changes the\nIDT table not to update the stack, otherwise it will reset the debug\nstack and corrupt the debug handler it preempted.\n\nNow that ftrace uses breakpoints to change functions from nops to\ncallers, many more places may hit a breakpoint. Unfortunately this\nincludes some of the calls that lockdep performs. Which causes issues\nwith the debug stack. It too needs to change the debug stack before\ntracing (if called from the debug handler).\n\nAllow the debug_stack_set_zero() and debug_stack_reset() to be nested\nso that the debug handlers can take advantage of them too.\n\n[ Used this_cpu_*() over __get_cpu_var() as suggested by H. Peter Anvin ]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c0525a6972d3f1fb83058ef503e183475d6e4e26",
      "tree": "38d711db57d8cf4552e42a69fd4a1d1fa082b391",
      "parents": [
        "8a4d0a687a599f39b7df3fe15f2d51d2157caf44"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 30 11:43:19 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 31 23:12:20 2012 -0400"
      },
      "message": "x86: Reset the debug_stack update counter\n\nWhen an NMI goes off and it sees that it preempted the debug stack,\nto keep the debug stack safe, it changes the IDT to point to one that\ndoes not modify the stack on breakpoint (to allow breakpoints in NMIs).\n\nBut the variable that gets set to know to undo it on exit never gets\ncleared on exit. Thus every NMI will reset it on exit the first time\nit is done even if it does not need to be reset.\n\n[ Added H. Peter Anvin\u0027s suggestion to use this_cpu_read/write ]\n\nCc: \u003cstable@vger.kernel.org\u003e # v3.3\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8a4d0a687a599f39b7df3fe15f2d51d2157caf44",
      "tree": "0a110234b8109154a0ffbe9bc4eb0d545da85102",
      "parents": [
        "a192cd0413b71c2a3e4e48dd365af704be72b748"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 30 13:36:38 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 31 23:12:19 2012 -0400"
      },
      "message": "ftrace: Use breakpoint method to update ftrace caller\n\nOn boot up and module load, it is fine to modify the code directly,\nwithout the use of breakpoints. This is because boot up modification\nis done before SMP is initialized, thus the modification is serial,\nand module load is done before the module executes.\n\nBut after that we must use a SMP safe method to modify running code.\nOtherwise, if we are running the function tracer and update its\nfunction (by starting off the stack tracer, or perf tracing)\nthe change of the function called by the ftrace trampoline is done\ndirectly. If this is being executed on another CPU, that CPU may\ntake a GPF and crash the kernel.\n\nThe breakpoint method is used to change the nops at all the functions, but\nthe change of the ftrace callback handler itself was still using a\ndirect modification. If tracing was enabled and the function callback\nwas changed then another CPU could fault if it was currently calling\nthe original callback. This modification must use the breakpoint method\ntoo.\n\nNote, the direct method is still used for boot up and module load.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a192cd0413b71c2a3e4e48dd365af704be72b748",
      "tree": "739c64a3fd4bf58b7c34a9eb5bc83aa844a06bf3",
      "parents": [
        "c985f7812331d79483beab932e8966477411a942"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 30 13:26:37 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 31 23:12:17 2012 -0400"
      },
      "message": "ftrace: Synchronize variable setting with breakpoints\n\nWhen the function tracer starts modifying the code via breakpoints\nit sets a variable (modifying_ftrace_code) to inform the breakpoint\nhandler to call the ftrace int3 code.\n\nBut there\u0027s no synchronization between setting this code and the\nhandler, thus it is possible for the handler to be called on another\nCPU before it sees the variable. This will cause a kernel crash as\nthe int3 handler will not know what to do with it.\n\nI originally added smp_mb()\u0027s to force the visibility of the variable\nbut H. Peter Anvin suggested that I just make it atomic.\n\n[ Added comments as suggested by Peter Zijlstra ]\n\nSuggested-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fb21affa49204acd409328415b49bfe90136653c",
      "tree": "3535dbe0c0aad049a38cadfcffe78409397a1b32",
      "parents": [
        "a00b6151a2ae4c52576c35d3998e144a993d50b8",
        "f23ca335462e3c84f13270b9e65f83936068ec2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull second pile of signal handling patches from Al Viro:\n \"This one is just task_work_add() series + remaining prereqs for it.\n\n  There probably will be another pull request from that tree this\n  cycle - at least for helpers, to get them out of the way for per-arch\n  fixes remaining in the tree.\"\n\nFix trivial conflict in kernel/irq/manage.c: the merge of Andrew\u0027s pile\nhad brought in commit 97fd75b7b8e0 (\"kernel/irq/manage.c: use the\npr_foo() infrastructure to prefix printks\") which changed one of the\npr_err() calls that this merge moves around.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  keys: kill task_struct-\u003ereplacement_session_keyring\n  keys: kill the dummy key_replace_session_keyring()\n  keys: change keyctl_session_to_parent() to use task_work_add()\n  genirq: reimplement exit_irq_thread() hook via task_work_add()\n  task_work_add: generic process-context callbacks\n  avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers\n  parisc: need to check NOTIFY_RESUME when exiting from syscall\n  move key_repace_session_keyring() into tracehook_notify_resume()\n  TIF_NOTIFY_RESUME is defined on all targets now\n"
    },
    {
      "commit": "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
      "tree": "18906149d313d25914160aca21cedf54b3a7e818",
      "parents": [
        "9fdadb2cbaf4b482dfd6086e8bd3d2db071a1702",
        "0a4dd35c67b144d8ef9432120105f1aab9293ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc patches from Andrew Morton:\n\n - the \"misc\" tree - stuff from all over the map\n\n - checkpatch updates\n\n - fatfs\n\n - kmod changes\n\n - procfs\n\n - cpumask\n\n - UML\n\n - kexec\n\n - mqueue\n\n - rapidio\n\n - pidns\n\n - some checkpoint-restore feature work.  Reluctantly.  Most of it\n   delayed a release.  I\u0027m still rather worried that we don\u0027t have a\n   clear roadmap to completion for this work.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (78 patches)\n  kconfig: update compression algorithm info\n  c/r: prctl: add ability to set new mm_struct::exe_file\n  c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n  c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat\n  syscalls, x86: add __NR_kcmp syscall\n  fs, proc: introduce /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry\n  sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE\n  aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n  eventfd: change int to __u64 in eventfd_signal()\n  fs/nls: add Apple NLS\n  pidns: make killed children autoreap\n  pidns: use task_active_pid_ns in do_notify_parent\n  rapidio/tsi721: add DMA engine support\n  rapidio: add DMA engine support for RIO data transfers\n  ipc/mqueue: add rbtree node caching support\n  tools/selftests: add mq_perf_tests\n  ipc/mqueue: strengthen checks on mqueue creation\n  ipc/mqueue: correct mq_attr_ok test\n  ipc/mqueue: improve performance of send/recv\n  selftests: add mq_open_tests\n  ...\n"
    },
    {
      "commit": "d97b46a64674a267bc41c9e16132ee2a98c3347d",
      "tree": "316f77d212c84aef226684eb05d5d33f40743ac9",
      "parents": [
        "818411616baf46ceba0cff6f05af3a9b294734f7"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "syscalls, x86: add __NR_kcmp syscall\n\nWhile doing the checkpoint-restore in the user space one need to determine\nwhether various kernel objects (like mm_struct-s of file_struct-s) are\nshared between tasks and restore this state.\n\nThe 2nd step can be solved by using appropriate CLONE_ flags and the\nunshare syscall, while there\u0027s currently no ways for solving the 1st one.\n\nOne of the ways for checking whether two tasks share e.g.  mm_struct is to\nprovide some mm_struct ID of a task to its proc file, but showing such\ninfo considered to be not that good for security reasons.\n\nThus after some debates we end up in conclusion that using that named\n\u0027comparison\u0027 syscall might be the best candidate.  So here is it --\n__NR_kcmp.\n\nIt takes up to 5 arguments - the pids of the two tasks (which\ncharacteristics should be compared), the comparison type and (in case of\ncomparison of files) two file descriptors.\n\nLookups for pids are done in the caller\u0027s PID namespace only.\n\nAt moment only x86 is supported and tested.\n\n[akpm@linux-foundation.org: fix up selftests, warnings]\n[akpm@linux-foundation.org: include errno.h]\n[akpm@linux-foundation.org: tweak comment text]\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd0e162d0312aa95e8b85ba883efddebf27be121",
      "tree": "5401fd64650a2c5965e43dccaa636bc814072043",
      "parents": [
        "054552272e6e152ff40f8b7f164dd390a5a62097",
        "56457f38f212344fb38b250cfa7e7311c065022f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull two small kvm fixes from Avi Kivity:\n \"A build fix for non-kvm archs and a transparent hugepage refcount\n  bugfix on hosts with 4M pages.\"\n\n* git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Export asm-generic/kvm_para.h\n  KVM: MMU: fix huge page adapted on non-PAE host\n"
    },
    {
      "commit": "2d117403b30cd7301af60d7d54b279a9f566d10d",
      "tree": "7c251e86e1a0101fdf11a15aa0e407360d16f71c",
      "parents": [
        "8ee78c6fb982b3a7343faf561e7937d4cfa955ff",
        "82f7af09e6fb58fb725c850d725d5e8780a9bec2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:53:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:53:37 2012 -0700"
      },
      "message": "Merge tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras\n\nPull mce cleanup from Tony Luck:\n \"One more mce cleanup before the 3.5 merge window closes\"\n\n* tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:\n  x86/mce: Cleanup timer mess\n"
    },
    {
      "commit": "7c8d51848a88aafdb68f42b6b650c83485ea2f84",
      "tree": "7d8ed09c28d44f7b66d8c81695f7af77d43d7794",
      "parents": [
        "121daad8fd1dce63076fa55aaedd5dc3f981b334"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Wed May 30 01:43:08 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 31 20:53:22 2012 +1000"
      },
      "message": "crypto: aesni-intel - fix unaligned cbc decrypt for x86-32\n\nThe 32 bit variant of cbc(aes) decrypt is using instructions requiring\n128 bit aligned memory locations but fails to ensure this constraint in\nthe code. Fix this by loading the data into intermediate registers with\nload unaligned instructions.\n\nThis fixes reported general protection faults related to aesni.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43223\nReported-by: Daniel \u003cgarkein@mailueberfall.de\u003e\nCc: stable@kernel.org [v2.6.39+]\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "bb8ac181a5cf50458a0d83b4460790badc9fdc16",
      "tree": "d55493f9ca94516a0aa83dd8ee1d87c2a88d637b",
      "parents": [
        "1dfb5751a4de7c6a57a5602e8e2b87267cfc8c81"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 19 10:25:23 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 30 21:04:50 2012 -0400"
      },
      "message": "bury __kernel_nlink_t, make internal nlink_t consistent\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ab46fd319bcf1fcd9fb6311727d532b580e4eba",
      "tree": "cf4b901b70c69e317c43e539a51256ae32d0d0b4",
      "parents": [
        "2da06af8106f8f35318bb084baf8448797ef058a"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad@darnok.org",
        "time": "Wed May 30 18:23:56 2012 -0400"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed May 30 16:15:02 2012 -0700"
      },
      "message": "x86, amd, xen: Avoid NULL pointer paravirt references\n\nStub out MSR methods that aren\u0027t actually needed.  This fixes a crash\nas Xen Dom0 on AMD Trinity systems.  A bigger patch should be added to\nremove the paravirt machinery completely for the methods which\napparently have no users!\n\nReported-by: Andre Przywara \u003candre.przywara@amd.com\u003e\nLink: http://lkml.kernel.org/r/20120530222356.GA28417@andromeda.dapyr.net\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "82f7af09e6fb58fb725c850d725d5e8780a9bec2",
      "tree": "3dd5ca6521c8042be3227a6ec51c485caf4035af",
      "parents": [
        "37c3459b67dd5a396a968e819cf4a86d24ac9ace"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 24 17:54:51 2012 +0000"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed May 30 14:40:01 2012 -0700"
      },
      "message": "x86/mce: Cleanup timer mess\n\nUse unsigned long for dealing with jiffies not int. Rename the\ncallback to something sensible. Use __this_cpu_read/write for\naccessing per cpu data.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "2da06af8106f8f35318bb084baf8448797ef058a",
      "tree": "8bf4749904065ce3cecf56dcd9545340a61a926d",
      "parents": [
        "bbd771474ec44b516107685d77e1c80bbe09f141"
      ],
      "author": {
        "name": "zhenzhong.duan",
        "email": "zhenzhong.duan@oracle.com",
        "time": "Wed May 30 12:52:15 2012 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed May 30 14:37:00 2012 -0700"
      },
      "message": "x86, mtrr: Fix a type overflow in range_to_mtrr func\n\nWhen boot on sun G5+ with 4T mem, see an overflow in mtrr cleanup as below.\n\n*BAD*gran_size: 2G      chunk_size: 2G  num_reg: 10     lose cover RAM:\n-18014398505283592M\n\nThis is because 1\u003c\u003c31 sign extended. Use an unsigned long constant to\nfix it.  Useful for mem larger than or equal to 4T.\n\n-v2: Use 64bit constant instead of explicit type conversion as suggested\nby Yinghai. Description updated too.\n\nSigned-off-by: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nLink: http://lkml.kernel.org/r/4FC5A77F.6060505@oracle.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "bbd771474ec44b516107685d77e1c80bbe09f141",
      "tree": "0cb15781539a68f27b4ea6c89f827282630cbce6",
      "parents": [
        "403e1c5b7495d7b80fae9fc4d0a7a6f5abdc3307",
        "319b6ffc6df892e4ccffff823cc5521a4a5d2dca"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed May 30 12:11:26 2012 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed May 30 12:11:32 2012 -0700"
      },
      "message": "Merge branch \u0027x86/trampoline\u0027 into x86/urgent\n\nx86/trampoline contains an urgent commit which is necessarily on a\nnewer baseline.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "319b6ffc6df892e4ccffff823cc5521a4a5d2dca",
      "tree": "6a1ff6351d37fab46b74caee92ce5e883085a4b4",
      "parents": [
        "731a7378b81c2f5fa88ca1ae20b83d548d5613dc"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@kernel.org",
        "time": "Wed May 30 12:33:41 2012 +0300"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Wed May 30 10:12:48 2012 -0700"
      },
      "message": "x86, realmode: Unbreak the ia64 build of drivers/acpi/sleep.c\n\nRevert usage of acpi_wakeup_address and move definition\nto x86 architecture code in order to make compilation work\nin ia64.\n\n[jsakkine: tested compilation in ia64/x86-64 and added\nproper commit message]\n\nReported-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nOriginally-by: H. Peter Anvin \u003chpa@kernel.org\u003e\nSigned-off-by: Jarkko Sakkinen \u003cjarkko.sakkinen@intel.com\u003e\nLink: http://lkml.kernel.org/r/1338370421-27735-1-git-send-email-jarkko.sakkinen@intel.com\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "403e1c5b7495d7b80fae9fc4d0a7a6f5abdc3307",
      "tree": "c1f762dda525faf24aa10d6f81cf043da202c54f",
      "parents": [
        "fa83523f45fbb403eba4ebc5704bf98aa4da0163",
        "80f033610fb968e75f5d470233d8d0260d7a72ed"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:12:06 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:12:06 2012 +0200"
      },
      "message": "Merge branch \u0027x86/mce\u0027 into x86/urgent\n\nMerge in these fixlets.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9f646389aa7727a2fd8f9ae6337b92af9cfbc264",
      "tree": "40d4cb6b69f2cd9dfecfa5246220688da9058958",
      "parents": [
        "731a7378b81c2f5fa88ca1ae20b83d548d5613dc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 29 16:39:09 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 11:05:44 2012 +0200"
      },
      "message": "sched/x86: Use cpu_llc_shared_mask(cpu) for coregroup_mask\n\nCommit commit 8e7fbcbc2 (\"sched: Remove stale power aware scheduling\nremnants and dysfunctional knobs\") made a boo-boo with removing the\npower aware scheduling muck from the x86 topology bits.\n\nWe should unconditionally use the llc_shared mask for multi-core.\n\nReported-and-tested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Borislav Petkov \u003cbp@amd64.org\u003e\nCc: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nLink: http://lkml.kernel.org/n/tip-lsksc2kfyeveb13avh327p0d@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fa83523f45fbb403eba4ebc5704bf98aa4da0163",
      "tree": "35466e5e2e9e5ed8171ef596d63690ed42621fca",
      "parents": [
        "1b38a3a10f2ad96a3c0130f63b7f3610bab7090d"
      ],
      "author": {
        "name": "John Dykstra",
        "email": "jdykstra@cray.com",
        "time": "Fri May 25 16:12:46 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 10:57:11 2012 +0200"
      },
      "message": "x86/mm/pat: Improve scaling of pat_pagerange_is_ram()\n\nFunction pat_pagerange_is_ram() scales poorly to large address\nranges, because it probes the resource tree for each page.\n\nOn a 2.6 GHz Opteron, this function consumes 34 ms for a 1 GB range.\n\nIt is called twice during untrack_pfn_vma(), slowing process\ncleanup and handicapping the OOM killer.\n\nThis replacement consumes less than 1ms, under the same conditions.\n\nSigned-off-by: John Dykstra \u003cjdykstra@cray.com\u003e on behalf of Cray Inc.\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1337980366.1979.6.camel@redwood\n[ Small stylistic cleanups and renames ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "731a7378b81c2f5fa88ca1ae20b83d548d5613dc",
      "tree": "fce6b4b5373466ddd87944ffd1021f444ce1dff5",
      "parents": [
        "87a5af24e54857e7b15c1f1b0468512ee65c94e3",
        "61f5446169046c217a5479517edac3a890c3bee7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 20:14:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 20:14:53 2012 -0700"
      },
      "message": "Merge branch \u0027x86-trampoline-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 trampoline rework from H. Peter Anvin:\n \"This code reworks all the \"trampoline\"/\"realmode\" code (various bits\n  that need to live in the first megabyte of memory, most but not all of\n  which runs in real mode at some point) in the kernel into a single\n  object.  The main reason for doing this is that it eliminates the last\n  place in the kernel where we needed pages to be mapped RWX.  This code\n  separates all that code into proper R/RW/RX pages.\"\n\nFix up conflicts in arch/x86/kernel/Makefile (mca removed next to reboot\ncode), and arch/x86/kernel/reboot.c (reboot code moved around in one\nbranch, modified in this one), and arch/x86/tools/relocs.c (mostly same\ncode came in earlier due to working around the ld bugs just before the\n3.4 release).\n\nAlso remove stale x86-relocs entry from scripts/.gitignore as per Peter\nAnvin.\n\n* commit \u002761f5446169046c217a5479517edac3a890c3bee7\u0027: (36 commits)\n  x86, realmode: Move end signature into header.S\n  x86, relocs: When printing an error, say relative or absolute\n  x86, relocs: More relocations which may end up as absolute\n  x86, relocs: Workaround for binutils 2.22.52.0.1 section bug\n  xen-acpi-processor: Add missing #include \u003cxen/xen.h\u003e\n  acpi, bgrd: Add missing \u003clinux/io.h\u003e to drivers/acpi/bgrt.c\n  x86, realmode: Change EFER to a single u64 field\n  x86, realmode: Move kernel/realmode.c to realmode/init.c\n  x86, realmode: Move not-common bits out of trampoline_common.S\n  x86, realmode: Mask out EFER.LMA when saving trampoline EFER\n  x86, realmode: Fix no cache bits test in reboot_32.S\n  x86, realmode: Make sure all generated files are listed in targets\n  x86, realmode: build fix: remove duplicate build\n  x86, realmode: read cr4 and EFER from kernel for 64-bit trampoline\n  x86, realmode: fixes compilation issue in tboot.c\n  x86, realmode: move relocs from scripts/ to arch/x86/tools\n  x86, realmode: header for trampoline code\n  x86, realmode: flattened rm hierachy\n  x86, realmode: don\u0027t copy real_mode_header\n  x86, realmode: fix 64-bit wakeup sequence\n  ...\n"
    },
    {
      "commit": "26c191788f18129af0eb32a358cdaea0c7479626",
      "tree": "21d30812d2e092a940ba81750f75080ce5eb5ae4",
      "parents": [
        "a7f638f999ff42310e9582273b1fe25ea6e469ba"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Tue May 29 15:06:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:24 2012 -0700"
      },
      "message": "mm: pmd_read_atomic: fix 32bit PAE pmd walk vs pmd_populate SMP race condition\n\nWhen holding the mmap_sem for reading, pmd_offset_map_lock should only\nrun on a pmd_t that has been read atomically from the pmdp pointer,\notherwise we may read only half of it leading to this crash.\n\nPID: 11679  TASK: f06e8000  CPU: 3   COMMAND: \"do_race_2_panic\"\n #0 [f06a9dd8] crash_kexec at c049b5ec\n #1 [f06a9e2c] oops_end at c083d1c2\n #2 [f06a9e40] no_context at c0433ded\n #3 [f06a9e64] bad_area_nosemaphore at c043401a\n #4 [f06a9e6c] __do_page_fault at c0434493\n #5 [f06a9eec] do_page_fault at c083eb45\n #6 [f06a9f04] error_code (via page_fault) at c083c5d5\n    EAX: 01fb470c EBX: fff35000 ECX: 00000003 EDX: 00000100 EBP:\n    00000000\n    DS:  007b     ESI: 9e201000 ES:  007b     EDI: 01fb4700 GS:  00e0\n    CS:  0060     EIP: c083bc14 ERR: ffffffff EFLAGS: 00010246\n #7 [f06a9f38] _spin_lock at c083bc14\n #8 [f06a9f44] sys_mincore at c0507b7d\n #9 [f06a9fb0] system_call at c083becd\n                         start           len\n    EAX: ffffffda  EBX: 9e200000  ECX: 00001000  EDX: 6228537f\n    DS:  007b      ESI: 00000000  ES:  007b      EDI: 003d0f00\n    SS:  007b      ESP: 62285354  EBP: 62285388  GS:  0033\n    CS:  0073      EIP: 00291416  ERR: 000000da  EFLAGS: 00000286\n\nThis should be a longstanding bug affecting x86 32bit PAE without THP.\nOnly archs with 64bit large pmd_t and 32bit unsigned long should be\naffected.\n\nWith THP enabled the barrier() in pmd_none_or_trans_huge_or_clear_bad()\nwould partly hide the bug when the pmd transition from none to stable,\nby forcing a re-read of the *pmd in pmd_offset_map_lock, but when THP is\nenabled a new set of problem arises by the fact could then transition\nfreely in any of the none, pmd_trans_huge or pmd_trans_stable states.\nSo making the barrier in pmd_none_or_trans_huge_or_clear_bad()\nunconditional isn\u0027t good idea and it would be a flakey solution.\n\nThis should be fully fixed by introducing a pmd_read_atomic that reads\nthe pmd in order with THP disabled, or by reading the pmd atomically\nwith cmpxchg8b with THP enabled.\n\nLuckily this new race condition only triggers in the places that must\nalready be covered by pmd_none_or_trans_huge_or_clear_bad() so the fix\nis localized there but this bug is not related to THP.\n\nNOTE: this can trigger on x86 32bit systems with PAE enabled with more\nthan 4G of ram, otherwise the high part of the pmd will never risk to be\ntruncated because it would be zero at all times, in turn so hiding the\nSMP race.\n\nThis bug was discovered and fully debugged by Ulrich, quote:\n\n----\n[..]\npmd_none_or_trans_huge_or_clear_bad() loads the content of edx and\neax.\n\n    496 static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t\n    *pmd)\n    497 {\n    498         /* depend on compiler for an atomic pmd read */\n    499         pmd_t pmdval \u003d *pmd;\n\n                                // edi \u003d pmd pointer\n0xc0507a74 \u003csys_mincore+548\u003e:   mov    0x8(%esp),%edi\n...\n                                // edx \u003d PTE page table high address\n0xc0507a84 \u003csys_mincore+564\u003e:   mov    0x4(%edi),%edx\n...\n                                // eax \u003d PTE page table low address\n0xc0507a8e \u003csys_mincore+574\u003e:   mov    (%edi),%eax\n\n[..]\n\nPlease note that the PMD is not read atomically. These are two \"mov\"\ninstructions where the high order bits of the PMD entry are fetched\nfirst. Hence, the above machine code is prone to the following race.\n\n-  The PMD entry {high|low} is 0x0000000000000000.\n   The \"mov\" at 0xc0507a84 loads 0x00000000 into edx.\n\n-  A page fault (on another CPU) sneaks in between the two \"mov\"\n   instructions and instantiates the PMD.\n\n-  The PMD entry {high|low} is now 0x00000003fda38067.\n   The \"mov\" at 0xc0507a8e loads 0xfda38067 into eax.\n----\n\nReported-by: Ulrich Obergfell \u003cuobergfe@redhat.com\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Petr Matousek \u003cpmatouse@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: \u003cstable@vger.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": "365811d6f9bd98543bedc02b72d94f0f0faf3670",
      "tree": "531515ad2280d898d5b4074c49952f562d2de0e5",
      "parents": [
        "91eb0f67c38c7104766faa49c5aaee2b4876511e"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Tue May 29 15:06:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:21 2012 -0700"
      },
      "message": "x86: print physical addresses consistently with other parts of kernel\n\nPrint physical address info in a style consistent with the %pR style used\nelsewhere in the kernel.  For example:\n\n    -found SMP MP-table at [ffff8800000fce90] fce90\n    +found SMP MP-table at [mem 0x000fce90-0x000fce9f] mapped at [ffff8800000fce90]\n    -initial memory mapped : 0 - 20000000\n    +initial memory mapped: [mem 0x00000000-0x1fffffff]\n    -Base memory trampoline at [ffff88000009c000] 9c000 size 8192\n    +Base memory trampoline [mem 0x0009c000-0x0009dfff] mapped at [ffff88000009c000]\n    -SRAT: Node 0 PXM 0 0-80000000\n    +SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff]\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91eb0f67c38c7104766faa49c5aaee2b4876511e",
      "tree": "955d743abcee612769aa54699cbf86883c187460",
      "parents": [
        "02602a18c32d76f0e0f50eefa91b2d53c8a3a751"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Tue May 29 15:06:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:20 2012 -0700"
      },
      "message": "x86: print e820 physical addresses consistently with other parts of kernel\n\nPrint physical address info in a style consistent with the %pR style used\nelsewhere in the kernel.  For example:\n\n    -BIOS-provided physical RAM map:\n    +e820: BIOS-provided physical RAM map:\n    - BIOS-e820: 0000000000000100 - 000000000009e000 (usable)\n    +BIOS-e820: [mem 0x0000000000000100-0x000000000009dfff] usable\n    -Allocating PCI resources starting at 90000000 (gap: 90000000:6ed1c000)\n    +e820: [mem 0x90000000-0xfed1bfff] available for PCI devices\n    -reserve RAM buffer: 000000000009e000 - 000000000009ffff\n    +e820: reserve RAM buffer [mem 0x0009e000-0x0009ffff]\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b781474682434e7881f20e9dfbe6687ea619795",
      "tree": "bdd976645ead7f04900e60017502e6a41b03e601",
      "parents": [
        "53f2c4a8fd882009a2a75c5b72d6898c0808616e",
        "29f772d41c01ad6b72c3de705e79779857badcde"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 11:53:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 11:53:11 2012 -0700"
      },
      "message": "Merge tag \u0027mfd-3.5-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\nPull MFD changes from Samuel Ortiz:\n \"Besides the usual cleanups, this one brings:\n\n   * Support for 5 new chipsets: Intel\u0027s ICH LPC and SCH Centerton,\n     ST-E\u0027s STAX211, Samsung\u0027s MAX77693 and TI\u0027s LM3533.\n\n   * Device tree support for the twl6040, tps65910, da9502 and ab8500\n     drivers.\n\n   * Fairly big tps56910, ab8500 and db8500 updates.\n\n   * i2c support for mc13xxx.\n\n   * Our regular update for the wm8xxx driver from Mark.\"\n\nFix up various conflicts with other trees, largely due to ab5500 removal\netc.\n\n* tag \u0027mfd-3.5-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)\n  mfd: Fix build break of max77693 by adding REGMAP_I2C option\n  mfd: Fix twl6040 build failure\n  mfd: Fix max77693 build failure\n  mfd: ab8500-core should depend on MFD_DB8500_PRCMU\n  gpio: tps65910: dt: process gpio specific device node info\n  mfd: Remove the parsing of dt info for tps65910 gpio\n  mfd: Save device node parsed platform data for tps65910 sub devices\n  mfd: Add r_select to lm3533 platform data\n  gpio: Add Intel Centerton support to gpio-sch\n  mfd: Emulate active low IRQs as well as active high IRQs for wm831x\n  mfd: Mark two lm3533 zone registers as volatile\n  mfd: Fix return type of lm533 attribute is_visible\n  mfd: Enable Device Tree support in the ab8500-pwm driver\n  mfd: Enable Device Tree support in the ab8500-sysctrl driver\n  mfd: Add support for Device Tree to twl6040\n  mfd: Register the twl6040 child for the ASoC codec unconditionally\n  mfd: Allocate twl6040 IRQ numbers dynamically\n  mfd: twl6040 code cleanup in interrupt initialization part\n  mfd: Enable ab8500-gpadc driver for Device Tree\n  mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver\n  ...\n"
    },
    {
      "commit": "c35866678391861942b3836c219a8898a259255a",
      "tree": "0ed5dcd923f1228ea1385e069fb8b47c8f3d2e62",
      "parents": [
        "b48b2c3e50433ff6f7e46186daa7f986bd960215"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@linux.vnet.ibm.com",
        "time": "Mon May 28 14:10:43 2012 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon May 28 17:41:15 2012 +0300"
      },
      "message": "KVM: MMU: fix huge page adapted on non-PAE host\n\nThe huge page size is 4M on non-PAE host, but 2M page size is used in\ntransparent_hugepage_adjust(), so the page we get after adjust the\nmapping level is not the head page, the BUG_ON() will be triggered\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@linux.vnet.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "1e2aec873ad6d16538512dbb96853caa1fa076af",
      "tree": "d792b19ac47be44debd24610ae27f1330fa490e4",
      "parents": [
        "ae32adc1e06d096399f195eeda12d443d53539c4",
        "2c66f623631709aa5f2e4c14c7e089682e7394a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 16:57:16 2012 -0700"
      },
      "message": "Merge branch \u0027generic-string-functions\u0027\n\nThis makes \u003casm/word-at-a-time.h\u003e actually live up to its promise of\nallowing architectures to help tune the string functions that do their\nwork a word at a time.\n\nDavid had already taken the x86 strncpy_from_user() function, modified\nit to work on sparc, and then done the extra work to make it generically\nuseful.  This then expands on that work by making x86 use that generic\nversion, completing the circle.\n\nBut more importantly, it fixes up the word-at-a-time interfaces so that\nit\u0027s now easy to also support things like strnlen_user(), and pretty\nmuch most random string functions.\n\nDavid reports that it all works fine on sparc, and Jonas Bonn reported\nthat an earlier version of this worked on OpenRISC too.  It\u0027s pretty\neasy for architectures to add support for this and just replace their\nprivate versions with the generic code.\n\n* generic-string-functions:\n  sparc: use the new generic strnlen_user() function\n  x86: use the new generic strnlen_user() function\n  lib: add generic strnlen_user() function\n  word-at-a-time: make the interfaces truly generic\n  x86: use generic strncpy_from_user routine\n"
    },
    {
      "commit": "5723aa993d83803157c22327e90cd59e3dcbe879",
      "tree": "9b5cd120395a44bd59ce74552f33d372617a47b0",
      "parents": [
        "a08c5356a3aaf638c41897ae4169de18db89595e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:09:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:54 2012 -0700"
      },
      "message": "x86: use the new generic strnlen_user() function\n\nThis throws away the old x86-specific functions in favor of the generic\noptimized version.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36126f8f2ed8168eb13aa0662b9b9585cba100a9",
      "tree": "543f6b6ab60dd3e47af931142aa84f0ba7749d43",
      "parents": [
        "4ae73f2d53255c388d50bf83c1681112a6f9cba1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:43:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 11:33:40 2012 -0700"
      },
      "message": "word-at-a-time: make the interfaces truly generic\n\nThis changes the interfaces in \u003casm/word-at-a-time.h\u003e to be a bit more\ncomplicated, but a lot more generic.\n\nIn particular, it allows us to really do the operations efficiently on\nboth little-endian and big-endian machines, pretty much regardless of\nmachine details.  For example, if you can rely on a fast population\ncount instruction on your architecture, this will allow you to make your\noptimized \u003casm/word-at-a-time.h\u003e file with that.\n\nNOTE! The \"generic\" version in include/asm-generic/word-at-a-time.h is\nnot truly generic, it actually only works on big-endian.  Why? Because\non little-endian the generic algorithms are wasteful, since you can\ninevitably do better. The x86 implementation is an example of that.\n\n(The only truly non-generic part of the asm-generic implementation is\nthe \"find_zero()\" function, and you could make a little-endian version\nof it.  And if the Kbuild infrastructure allowed us to pick a particular\nheader file, that would be lovely)\n\nThe \u003casm/word-at-a-time.h\u003e functions are as follows:\n\n - WORD_AT_A_TIME_CONSTANTS: specific constants that the algorithm\n   uses.\n\n - has_zero(): take a word, and determine if it has a zero byte in it.\n   It gets the word, the pointer to the constant pool, and a pointer to\n   an intermediate \"data\" field it can set.\n\n   This is the \"quick-and-dirty\" zero tester: it\u0027s what is run inside\n   the hot loops.\n\n - \"prep_zero_mask()\": take the word, the data that has_zero() produced,\n   and the constant pool, and generate an *exact* mask of which byte had\n   the first zero.  This is run directly *outside* the loop, and allows\n   the \"has_zero()\" function to answer the \"is there a zero byte\"\n   question without necessarily getting exactly *which* byte is the\n   first one to contain a zero.\n\n   If you do multiple byte lookups concurrently (eg \"hash_name()\", which\n   looks for both NUL and \u0027/\u0027 bytes), after you\u0027ve done the prep_zero_mask()\n   phase, the result of those can be or\u0027ed together to get the \"either\n   or\" case.\n\n - The result from \"prep_zero_mask()\" can then be fed into \"find_zero()\"\n   (to find the byte offset of the first byte that was zero) or into\n   \"zero_bytemask()\" (to find the bytemask of the bytes preceding the\n   zero byte).\n\n   The existence of zero_bytemask() is optional, and is not necessary\n   for the normal string routines.  But dentry name hashing needs it, so\n   if you enable DENTRY_WORD_AT_A_TIME you need to expose it.\n\nThis changes the generic strncpy_from_user() function and the dentry\nhashing functions to use these modified word-at-a-time interfaces.  This\ngets us back to the optimized state of the x86 strncpy that we lost in\nthe previous commit when moving over to the generic version.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ae73f2d53255c388d50bf83c1681112a6f9cba1",
      "tree": "0b0d9adce97c2270a427e1f1c19c977b8f066d5b",
      "parents": [
        "da89fb165e5e51a2ec1ff8a0ff6bc052d1068184"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:14:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 26 10:14:39 2012 -0700"
      },
      "message": "x86: use generic strncpy_from_user routine\n\nThe generic strncpy_from_user() is not really optimal, since it is\ndesigned to work on both little-endian and big-endian.  And on\nlittle-endian you can simplify much of the logic to find the first zero\nbyte, since little-endian arithmetic doesn\u0027t have to worry about the\ncarry bit propagating into earlier bytes (only later bytes, which we\ndon\u0027t care about).\n\nBut I have patches to make the generic routines use the architecture-\nspecific \u003casm/word-at-a-time.h\u003e infrastructure, so that we can regain\nthe little-endian optimizations.  But before we do that, switch over to\nthe generic routines to make the patches each do just one well-defined\nthing.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "786f02b719f2285e2c0350b6a04dab4a1a0871a1",
      "tree": "0836083fa3bef945a46449c2d6badd5c29d7baad",
      "parents": [
        "fa2af6e4fe0c4d2f8875d42625b25675e8584010",
        "37c3459b67dd5a396a968e819cf4a86d24ac9ace"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 16:14:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 16:14:12 2012 -0700"
      },
      "message": "Merge tag \u0027x86-mce-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras\n\nPull x86/mce merge window patches from Tony Luck:\n \"Including two that make error_context() checks less sucky\"\n\n* tag \u0027x86-mce-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:\n  x86/mce: Add instruction recovery signatures to mce-severity table\n  x86/mce: Fix check for processor context when machine check was taken.\n  MCE: Fix vm86 handling for 32bit mce handler\n  x86/mce Add validation check before GHES error is recorded\n  x86/mce: Avoid reading every machine check bank register twice.\n"
    },
    {
      "commit": "d484864dd96e1830e7689510597707c1df8cd681",
      "tree": "51551708ba3f26d05575fa91daaf0c0d970a77c3",
      "parents": [
        "be87cfb47c5c740f7b17929bcd7c480b228513e0",
        "0f51596bd39a5c928307ffcffc9ba07f90f42a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 09:18:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 25 09:18:59 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/mszyprowski/linux-dma-mapping\n\nPull CMA and ARM DMA-mapping updates from Marek Szyprowski:\n \"These patches contain two major updates for DMA mapping subsystem\n  (mainly for ARM architecture).  First one is Contiguous Memory\n  Allocator (CMA) which makes it possible for device drivers to allocate\n  big contiguous chunks of memory after the system has booted.\n\n  The main difference from the similar frameworks is the fact that CMA\n  allows to transparently reuse the memory region reserved for the big\n  chunk allocation as a system memory, so no memory is wasted when no\n  big chunk is allocated.  Once the alloc request is issued, the\n  framework migrates system pages to create space for the required big\n  chunk of physically contiguous memory.\n\n  For more information one can refer to nice LWN articles:\n\n   - \u0027A reworked contiguous memory allocator\u0027:\n\t\thttp://lwn.net/Articles/447405/\n\n   - \u0027CMA and ARM\u0027:\n\t\thttp://lwn.net/Articles/450286/\n\n   - \u0027A deep dive into CMA\u0027:\n\t\thttp://lwn.net/Articles/486301/\n\n   - and the following thread with the patches and links to all previous\n     versions:\n\t\thttps://lkml.org/lkml/2012/4/3/204\n\n  The main client for this new framework is ARM DMA-mapping subsystem.\n\n  The second part provides a complete redesign in ARM DMA-mapping\n  subsystem.  The core implementation has been changed to use common\n  struct dma_map_ops based infrastructure with the recent updates for\n  new dma attributes merged in v3.4-rc2.  This allows to use more than\n  one implementation of dma-mapping calls and change/select them on the\n  struct device basis.  The first client of this new infractructure is\n  dmabounce implementation which has been completely cut out of the\n  core, common code.\n\n  The last patch of this redesign update introduces a new, experimental\n  implementation of dma-mapping calls on top of generic IOMMU framework.\n  This lets ARM sub-platform to transparently use IOMMU for DMA-mapping\n  calls if one provides required IOMMU hardware.\n\n  For more information please refer to the following thread:\n\t\thttp://www.spinics.net/lists/arm-kernel/msg175729.html\n\n  The last patch merges changes from both updates and provides a\n  resolution for the conflicts which cannot be avoided when patches have\n  been applied on the same files (mainly arch/arm/mm/dma-mapping.c).\"\n\nAcked by Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n \"Yup, this one please.  It\u0027s had much work, plenty of review and I\n  think even Russell is happy with it.\"\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: (28 commits)\n  ARM: dma-mapping: use PMD size for section unmap\n  cma: fix migration mode\n  ARM: integrate CMA with DMA-mapping subsystem\n  X86: integrate CMA with DMA-mapping subsystem\n  drivers: add Contiguous Memory Allocator\n  mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks\n  mm: extract reclaim code from __alloc_pages_direct_reclaim()\n  mm: Serialize access to min_free_kbytes\n  mm: page_isolation: MIGRATE_CMA isolation functions added\n  mm: mmzone: MIGRATE_CMA migration type added\n  mm: page_alloc: change fallbacks array handling\n  mm: page_alloc: introduce alloc_contig_range()\n  mm: compaction: export some of the functions\n  mm: compaction: introduce isolate_freepages_range()\n  mm: compaction: introduce map_pages()\n  mm: compaction: introduce isolate_migratepages_range()\n  mm: page_alloc: remove trailing whitespace\n  ARM: dma-mapping: add support for IOMMU mapper\n  ARM: dma-mapping: use alloc, mmap, free from dma_ops\n  ARM: dma-mapping: remove redundant code and do the cleanup\n  ...\n\nConflicts:\n\tarch/x86/include/asm/dma-mapping.h\n"
    },
    {
      "commit": "1b38a3a10f2ad96a3c0130f63b7f3610bab7090d",
      "tree": "a962f72829577b5c32d47635d98a53dc0a5c353e",
      "parents": [
        "ce004178be1bbaa292e9e6497939e2970300095a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Fri May 25 11:40:09 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 25 15:32:29 2012 +0200"
      },
      "message": "x86: hpet: Fix copy-and-paste mistake in earlier change\n\nThis fixes an oversight in 396e2c6fed4ff13b53ce0e573105531cf53b0cad\n(\"x86: Clear HPET configuration registers on startup\"), noticed by\nThomas Gleixner.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nLink: http://lkml.kernel.org/r/4FBF7DA902000078000861EE@nat28.tlf.novell.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "07acfc2a9349a8ce45b236c2624dad452001966b",
      "tree": "c40f3eaac18a8320e65af220979223b5cd632b1b",
      "parents": [
        "b5f4035adfffbcc6b478de5b8c44b618b3124aff",
        "322728e55aa7834e2fab2786b76df183c4843a12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM changes from Avi Kivity:\n \"Changes include additional instruction emulation, page-crossing MMIO,\n  faster dirty logging, preventing the watchdog from killing a stopped\n  guest, module autoload, a new MSI ABI, and some minor optimizations\n  and fixes.  Outside x86 we have a small s390 and a very large ppc\n  update.\n\n  Regarding the new (for kvm) rebaseless workflow, some of the patches\n  that were merged before we switch trees had to be rebased, while\n  others are true pulls.  In either case the signoffs should be correct\n  now.\"\n\nFix up trivial conflicts in Documentation/feature-removal-schedule.txt\narch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.\n\nI suspect the kvm_para.h resolution ends up doing the \"do I have cpuid\"\ncheck effectively twice (it was done differently in two different\ncommits), but better safe than sorry ;)\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)\n  KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block\n  KVM: s390: onereg for timer related registers\n  KVM: s390: epoch difference and TOD programmable field\n  KVM: s390: KVM_GET/SET_ONEREG for s390\n  KVM: s390: add capability indicating COW support\n  KVM: Fix mmu_reload() clash with nested vmx event injection\n  KVM: MMU: Don\u0027t use RCU for lockless shadow walking\n  KVM: VMX: Optimize %ds, %es reload\n  KVM: VMX: Fix %ds/%es clobber\n  KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()\n  KVM: VMX: unlike vmcs on fail path\n  KVM: PPC: Emulator: clean up SPR reads and writes\n  KVM: PPC: Emulator: clean up instruction parsing\n  kvm/powerpc: Add new ioctl to retreive server MMU infos\n  kvm/book3s: Make kernel emulated H_PUT_TCE available for \"PR\" KVM\n  KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler\n  KVM: PPC: Book3S: Enable IRQs during exit handling\n  KVM: PPC: Fix PR KVM on POWER7 bare metal\n  KVM: PPC: Fix stbux emulation\n  KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields\n  ...\n"
    },
    {
      "commit": "b5f4035adfffbcc6b478de5b8c44b618b3124aff",
      "tree": "e7a5f011d8aaf5c95edf933f98f25dfc8fa46837",
      "parents": [
        "ce004178be1bbaa292e9e6497939e2970300095a",
        "68c2c39a76b094e9b2773e5846424ea674bf2c46"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:02:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:02:08 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.5-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull Xen updates from Konrad Rzeszutek Wilk:\n \"Features:\n   * Extend the APIC ops implementation and add IRQ_WORKER vector\n     support so that \u0027perf\u0027 can work properly.\n   * Fix self-ballooning code, and balloon logic when booting as initial\n     domain.\n   * Move array printing code to generic debugfs\n   * Support XenBus domains.\n   * Lazily free grants when a domain is dead/non-existent.\n   * In M2P code use batching calls\n  Bug-fixes:\n   * Fix NULL dereference in allocation failure path (hvc_xen)\n   * Fix unbinding of IRQ_WORKER vector during vCPU hot-unplug\n   * Fix HVM guest resume - we would leak an PIRQ value instead of\n     reusing the existing one.\"\n\nFix up add-add onflicts in arch/x86/xen/enlighten.c due to addition of\napic ipi interface next to the new apic_id functions.\n\n* tag \u0027stable/for-linus-3.5-rc0-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: do not map the same GSI twice in PVHVM guests.\n  hvc_xen: NULL dereference on allocation failure\n  xen: Add selfballoning memory reservation tunable.\n  xenbus: Add support for xenbus backend in stub domain\n  xen/smp: unbind irqworkX when unplugging vCPUs.\n  xen: enter/exit lazy_mmu_mode around m2p_override calls\n  xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep\n  xen: implement IRQ_WORK_VECTOR handler\n  xen: implement apic ipi interface\n  xen/setup: update VA mapping when releasing memory during setup\n  xen/setup: Combine the two hypercall functions - since they are quite similar.\n  xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM\n  xen/setup: Only print \"Freeing XXX-YYY pfn range: Z pages freed\" if Z \u003e 0\n  xen/gnttab: add deferred freeing logic\n  debugfs: Add support to print u32 array in debugfs\n  xen/p2m: An early bootup variant of set_phys_to_machine\n  xen/p2m: Collapse early_alloc_p2m_middle redundant checks.\n  xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument\n  xen/p2m: Move code around to allow for better re-usage.\n"
    },
    {
      "commit": "ce004178be1bbaa292e9e6497939e2970300095a",
      "tree": "1cd5306548947deaedd612189b56d35265217e8e",
      "parents": [
        "9978306e31a8f89bd81fbc4c49fd9aefb1d30d10",
        "c5389831cda3b38a56606a348a537a1332f2d729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 15:10:28 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc\n\nPull sparc changes from David S. Miller:\n \"This has the generic strncpy_from_user() implementation architectures\n  can now use, which we\u0027ve been developing on linux-arch over the past\n  few days.\n\n  For good measure I ran both a 32-bit and a 64-bit glibc testsuite run,\n  and the latter of which pointed out an adjustment I needed to make to\n  sparc\u0027s user_addr_max() definition.  Linus, you were right, STACK_TOP\n  was not the right thing to use, even on sparc itself :-)\n\n  From Sam Ravnborg, we have a conversion of sparc32 over to the common\n  alloc_thread_info_node(), since the aspect which originally blocked\n  our doing so (sun4c) has been removed.\"\n\nFix up trivial arch/sparc/Kconfig and lib/Makefile conflicts.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:\n  sparc: Fix user_addr_max() definition.\n  lib: Sparc\u0027s strncpy_from_user is generic enough, move under lib/\n  kernel: Move REPEAT_BYTE definition into linux/kernel.h\n  sparc: Increase portability of strncpy_from_user() implementation.\n  sparc: Optimize strncpy_from_user() zero byte search.\n  sparc: Add full proper error handling to strncpy_from_user().\n  sparc32: use the common implementation of alloc_thread_info_node()\n"
    },
    {
      "commit": "abe81e25f08abbac493754a043f7a91a1b3e0f93",
      "tree": "e4b185c3964869620345ed346eb8643f92a7ab39",
      "parents": [
        "b1bf7d4d1b3911352cf1ec63c1de06214288ccd0",
        "ea17e7414bc62e8d3bde8d08e3df1d921c518c17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 14:09:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 14:09:47 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull more relocation fixes from Peter Anvin:\n \"These are additional symbols that have been found to either be\n  absolute or look like they might end up being absolute on one version\n  of GNU ld or another.  Unfortunately we have since that a different\n  GNU ld version, 2.21, can generate bogus absolute symbols; again, this\n  would have caused a malfunctioning kernel on x86-32 if relocated.\n\n  The relocs.c changes changed silent corruption to a build time error.\n\n  It is worth noting that if the various barrier symbols we use were\n  more consistent in the namespace used this probably could be reduced\n  to a single regexp; if nothing else it looks like there is migration\n  toward a common __(start|stop)___.* namespace.\"\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, relocs: Add jiffies and jiffies_64 to the relative whitelist\n  x86-32, relocs: Whitelist more symbols for ld bug workaround\n"
    },
    {
      "commit": "b1bf7d4d1b3911352cf1ec63c1de06214288ccd0",
      "tree": "0fd27c638977cb5c7e6e3f95085ce842b57a4ae3",
      "parents": [
        "0708500d49e8439d9fe5529795bdc1485f0f46c3",
        "3e11f7b840b4671213c66817294ad7dd0b572756"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 14:01:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 14:01:46 2012 -0700"
      },
      "message": "Merge tag \u0027gpio-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull GPIO driver changes from Grant Likely:\n \"Lots of gpio changes, both to core code and drivers.\n\n  Changes do touch architecture code to remove the need for separate\n  arm/gpio.h includes in most architectures.\n\n  Some new drivers are added, and a number of gpio drivers are converted\n  to use irq_domains for gpio inputs used as interrupts.  Device tree\n  support has been amended to allow multiple gpio_chips to use the same\n  device tree node.\n\n  Remaining changes are primarily bug fixes.\"\n\n* tag \u0027gpio-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6: (33 commits)\n  gpio/generic: initialize basic_mmio_gpio shadow variables properly\n  gpiolib: Remove \u0027const\u0027 from data argument of gpiochip_find()\n  gpio/rc5t583: add gpio driver for RICOH PMIC RC5T583\n  gpiolib: quiet gpiochip_add boot message noise\n  gpio: mpc8xxx: Prevent NULL pointer deref in demux handler\n  gpio/lpc32xx: Add device tree support\n  gpio: Adjust of_xlate API to support multiple GPIO chips\n  gpiolib: Implement devm_gpio_request_one()\n  gpio-mcp23s08: dbg_show: fix pullup configuration display\n  Add support for TCA6424A\n  gpio/omap: (re)fix wakeups on level-triggered GPIOs\n  gpio/omap: fix broken context restore for non-OFF mode transitions\n  gpio/omap: fix missing check in *_runtime_suspend()\n  gpio/omap: remove cpu_is_omapxxxx() checks from *_runtime_resume()\n  gpio/omap: remove suspend/resume callbacks\n  gpio/omap: remove retrigger variable in gpio_irq_handler\n  gpio/omap: remove saved_wakeup field from struct gpio_bank\n  gpio/omap: remove suspend_wakeup field from struct gpio_bank\n  gpio/omap: remove saved_fallingdetect, saved_risingdetect\n  gpio/omap: remove virtual_irq_start variable\n  ...\n\nConflicts:\n\tdrivers/gpio/gpio-samsung.c\n"
    },
    {
      "commit": "c7523a7c88db637d66841018532cb4b3ab6ab0a8",
      "tree": "cec08263a493831d43e17d4daa633e2a6b09480e",
      "parents": [
        "2f78d8e249973f1eeb88315e6444e616c60177ae",
        "b80fe1015be4e3c926d8eb4cc6a340fdd22a43e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 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 updates from Thomas Gleixner.\n\nVarious trivial conflict fixups in arch Kconfig due to addition of\nunrelated entries nearby.  And one slightly more subtle one for sparc32\n(new user of GENERIC_CLOCKEVENTS), fixed up as per Thomas.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)\n  timekeeping: Fix a few minor newline issues.\n  time: remove obsolete declaration\n  ntp: Fix a stale comment and a few stray newlines.\n  ntp: Correct TAI offset during leap second\n  timers: Fixup the Kconfig consolidation fallout\n  x86: Use generic time config\n  unicore32: Use generic time config\n  um: Use generic time config\n  tile: Use generic time config\n  sparc: Use: generic time config\n  sh: Use generic time config\n  score: Use generic time config\n  s390: Use generic time config\n  openrisc: Use generic time config\n  powerpc: Use generic time config\n  mn10300: Use generic time config\n  mips: Use generic time config\n  microblaze: Use generic time config\n  m68k: Use generic time config\n  m32r: Use generic time config\n  ...\n"
    },
    {
      "commit": "446969084d33a4064a39d280806da642c54ba4ac",
      "tree": "0887795d96007b228733c9499bda1731d64e48fe",
      "parents": [
        "35c9646062eba15351c6d64ea0c02176e5cb66ac"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 23 20:12:50 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 13:10:05 2012 -0700"
      },
      "message": "kernel: Move REPEAT_BYTE definition into linux/kernel.h\n\nAnd make sure that everything using it explicitly includes\nthat header file.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2fde3a65e88330017b816faf2ef75f141d21375",
      "tree": "57152ab5756e7ed1c58742e7e16f13a45ff11f21",
      "parents": [
        "28f3d717618156c0dcd2f497d791b578a7931d87",
        "8c914028f5ddaa417b7d0f4b7fdc24caceaa8043"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 12:42:54 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 12:42:54 2012 -0700"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull main drm updates from Dave Airlie:\n \"This is the main merge window request for the drm.\n\n  It\u0027s big, but jam packed will lots of features and of course 0\n  regressions.  (okay maybe there\u0027ll be one).\n\n  Highlights:\n\n   - new KMS drivers for server GPU chipsets: ast, mgag200 and cirrus\n     (qemu only).  These drivers use the generic modesetting drivers.\n\n   - initial prime/dma-buf support for i915, nouveau, radeon, udl and\n     exynos\n\n   - switcheroo audio support: so GPUs with HDMI can turn off the sound\n     driver without crashing stuff.\n\n   - There are some patches drifting outside drivers/gpu into x86 and\n     EFI for better handling of multiple video adapters in Apple Macs,\n     they\u0027ve got correct acks except one trivial fixup.\n\n   - Core:\n\tedid parser has better DMT and reduced blanking support,\n\tcrtc properties,\n\tplane properties,\n\n   - Drivers:\n\texynos: add 2D core accel support, prime support, hdmi features\n\tintel: more Haswell support, initial Valleyview support, more\n\t    hdmi infoframe fixes, update MAINTAINERS for Daniel, lots of\n\t    cleanups and fixes\n\tradeon: more HDMI audio support, improved GPU lockup recovery\n\t    support, remove nested mutexes, less memory copying on PCIE, fix\n\t    bus master enable race (kexec), improved fence handling\n\tgma500: cleanups, 1080p support, acpi fixes\n\tnouveau: better nva3 memory reclocking, kepler accel (needs\n\t    external firmware rip), async buffer moves on nv84+ hw.\n\n  I\u0027ve some more dma-buf patches that rely on the dma-buf merge for vmap\n  stuff, and I\u0027ve a few fixes building up, but I\u0027d decided I\u0027d better\n  get rid of the main pull sooner rather than later, so the audio guys\n  are also unblocked.\"\n\nFix up trivial conflict due to some duplicated changes in\ndrivers/gpu/drm/i915/intel_ringbuffer.c\n\n* \u0027drm-core-next\u0027 of git://people.freedesktop.org/~airlied/linux: (605 commits)\n  drm/nouveau/nvd9: Fix GPIO initialisation sequence.\n  drm/nouveau: Unregister switcheroo client on exit\n  drm/nouveau: Check dsm on switcheroo unregister\n  drm/nouveau: fix a minor annoyance in an output string\n  drm/nouveau: turn a BUG into a WARN\n  drm/nv50: decode PGRAPH DATA_ERROR \u003d 0x24\n  drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks\n  drm/nvd9/copy: initialise copy engine, seems to work like nvc0\n  drm/nvc0/ttm: use copy engines for async buffer moves\n  drm/nva3/ttm: use copy engine for async buffer moves\n  drm/nv98/ttm: add in a (disabled) crypto engine buffer copy method\n  drm/nv84/ttm: use crypto engine for async buffer copies\n  drm/nouveau/ttm: untangle code to support accelerated buffer moves\n  drm/nouveau/fbcon: use fence for sync, rather than notifier\n  drm/nv98/crypt: non-stub implementation of the engine hooks\n  drm/nouveau/fifo: turn all fifo modules into engine modules\n  drm/nv50/graph: remove ability to do interrupt-driven context switching\n  drm/nv50: remove manual context unload on context destruction\n  drm/nv50: remove execution engine context saves on suspend\n  drm/nv50/fifo: use hardware channel kickoff functionality\n  ...\n"
    },
    {
      "commit": "654443e20dfc0617231f28a07c96a979ee1a0239",
      "tree": "a0dc3f093eb13892539082e663607c34b4fc2d07",
      "parents": [
        "2c01e7bc46f10e9190818437e564f7e0db875ae9",
        "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull user-space probe instrumentation from Ingo Molnar:\n \"The uprobes code originates from SystemTap and has been used for years\n  in Fedora and RHEL kernels.  This version is much rewritten, reviews\n  from PeterZ, Oleg and myself shaped the end result.\n\n  This tree includes uprobes support in \u0027perf probe\u0027 - but SystemTap\n  (and other tools) can take advantage of user probe points as well.\n\n  Sample usage of uprobes via perf, for example to profile malloc()\n  calls without modifying user-space binaries.\n\n  First boot a new kernel with CONFIG_UPROBE_EVENT\u003dy enabled.\n\n  If you don\u0027t know which function you want to probe you can pick one\n  from \u0027perf top\u0027 or can get a list all functions that can be probed\n  within libc (binaries can be specified as well):\n\n\t$ perf probe -F -x /lib/libc.so.6\n\n  To probe libc\u0027s malloc():\n\n\t$ perf probe -x /lib64/libc.so.6 malloc\n\tAdded new event:\n\tprobe_libc:malloc    (on 0x7eac0)\n\n  You can now use it in all perf tools, such as:\n\n\tperf record -e probe_libc:malloc -aR sleep 1\n\n  Make use of it to create a call graph (as the flat profile is going to\n  look very boring):\n\n\t$ perf record -e probe_libc:malloc -gR make\n\t[ perf record: Woken up 173 times to write data ]\n\t[ perf record: Captured and wrote 44.190 MB perf.data (~1930712\n\n\t$ perf report | less\n\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\t                       |\n\t                       |--0.95%-- 0x208eb1000000000\n\t                       |\n\t                       |--0.63%-- htab_traverse_noresize\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   5.07%             sh  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\t   4.99%  python-config  libc-2.15.so   [.] malloc\n\t          |\n\t          --- malloc\n\t             |\n\t   4.54%           make  libc-2.15.so   [.] malloc\n\t                   |\n\t                   --- malloc\n\t                      |\n\t                      |--7.34%-- glob\n\t                      |          |\n\t                      |          |--93.18%-- 0x41588f\n\t                      |          |\n\t                      |           --6.82%-- glob\n\t                      |                     0x41588f\n\n\t   ...\n\n  Or:\n\n\t$ perf report -g flat | less\n\n\t# Overhead        Command  Shared Object      Symbol\n\t# ........  .............  .............  ..........\n\t#\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t          27.19%\n\t              malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t          24.77%\n\t              malloc\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t          11.02%\n\t              malloc\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t           6.57%\n\t              malloc\n\n\t ...\n\n  The core uprobes design is fairly straightforward: uprobes probe\n  points register themselves at (inode:offset) addresses of\n  libraries/binaries, after which all existing (or new) vmas that map\n  that address will have a software breakpoint injected at that address.\n  vmas are COW-ed to preserve original content.  The probe points are\n  kept in an rbtree.\n\n  If user-space executes the probed inode:offset instruction address\n  then an event is generated which can be recovered from the regular\n  perf event channels and mmap-ed ring-buffer.\n\n  Multiple probes at the same address are supported, they create a\n  dynamic callback list of event consumers.\n\n  The basic model is further complicated by the XOL speedup: the\n  original instruction that is probed is copied (in an architecture\n  specific fashion) and executed out of line when the probe triggers.\n  The XOL area is a single vma per process, with a fixed number of\n  entries (which limits probe execution parallelism).\n\n  The API: uprobes are installed/removed via\n  /sys/kernel/debug/tracing/uprobe_events, the API is integrated to\n  align with the kprobes interface as much as possible, but is separate\n  to it.\n\n  Injecting a probe point is privileged operation, which can be relaxed\n  by setting perf_paranoid to -1.\n\n  You can use multiple probes as well and mix them with kprobes and\n  regular PMU events or tracepoints, when instrumenting a task.\"\n\nFix up trivial conflicts in mm/memory.c due to previous cleanup of\nunmap_single_vma().\n\n* \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf probe: Detect probe target when m/x options are absent\n  perf probe: Provide perf interface for uprobes\n  tracing: Fix kconfig warning due to a typo\n  tracing: Provide trace events interface for uprobes\n  tracing: Extract out common code for kprobes/uprobes trace events\n  tracing: Modify is_delete, is_return from int to bool\n  uprobes/core: Decrement uprobe count before the pages are unmapped\n  uprobes/core: Make background page replacement logic account for rss_stat counters\n  uprobes/core: Optimize probe hits with the help of a counter\n  uprobes/core: Allocate XOL slots for uprobes use\n  uprobes/core: Handle breakpoint and singlestep exceptions\n  uprobes/core: Rename bkpt to swbp\n  uprobes/core: Make order of function parameters consistent across functions\n  uprobes/core: Make macro names consistent\n  uprobes: Update copyright notices\n  uprobes/core: Move insn to arch specific structure\n  uprobes/core: Remove uprobe_opcode_sz\n  uprobes/core: Make instruction tables volatile\n  uprobes: Move to kernel/events/\n  uprobes/core: Clean up, refactor and improve the code\n  ...\n"
    }
  ],
  "next": "ea17e7414bc62e8d3bde8d08e3df1d921c518c17"
}
