)]}'
{
  "log": [
    {
      "commit": "d5eb4ad2dfb2dfae43fd51bc8630b4fc3ef00e92",
      "tree": "ec164ed62dd55d14e0f73e1ba6f894433f70394e",
      "parents": [
        "091738a266fc74329ae186f22ff2b3f01319112d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 12:16:16 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:23 2011 +0100"
      },
      "message": "genirq: Implement irq_get/put_desc_[bus]locked/unlock()\n\nMost of the managing functions get the irq descriptor and lock it -\neither with or without buslock. Instead of open coding this over and\nover provide a common function to do that.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "091738a266fc74329ae186f22ff2b3f01319112d",
      "tree": "75190438b74ad345753a2a8c239724995cee40ea",
      "parents": [
        "a6967caf00ebbb2d4acdebcb72a25f2e9ba43fd2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 14 20:16:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:23 2011 +0100"
      },
      "message": "genirq: Remove real old transition functions\n\nThese transition helpers are stale for years now. Remove them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6967caf00ebbb2d4acdebcb72a25f2e9ba43fd2",
      "tree": "fbc957bb2e34d644164d3b0df874da88fa01ec3e",
      "parents": [
        "e1ef824146131709d7466e37f889f2dab24ca98e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:01:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Remove desc-\u003estatus when GENERIC_HARDIRQS_NO_COMPAT\u003dy\n\nIf everything uses the right accessors, then enabling\nGENERIC_HARDIRQS_NO_COMPAT should just work. If not it will tell you.\n\nDon\u0027t be lazy and use the trick which I use in the core code!\n\ngit grep status_use_accessors\n\nwill unearth it in a split second. Offenders are tracked down and not\nslapped with stinking trouts. This time we use frozen shark for a\nbetter educational value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e1ef824146131709d7466e37f889f2dab24ca98e",
      "tree": "d66f8423fce8e4d04aa509e1cbbaea2fb99a812c",
      "parents": [
        "7f94226f03299f1ca32f118f02f2a0295e0e5e93"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:25:31 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Reflect IRQ_MOVE_PCNTXT in irq_data state\n\nRequired by x86.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f94226f03299f1ca32f118f02f2a0295e0e5e93",
      "tree": "049a83a3c264d4378f341991800c345bf4eeb5a5",
      "parents": [
        "d4d5e08960844a062da8387ee5f16ca7a33200d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 19:46:26 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Move wakeup state to irq_data\n\nSome irq_chips need to know the state of wakeup mode for\nsetting the trigger type etc. Reflect it in irq_data state.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d4d5e08960844a062da8387ee5f16ca7a33200d0",
      "tree": "1154fd87e25595ae9391740a1d9a3d60f69770de",
      "parents": [
        "2bff17ad2107c66fc8ca96501a7128dd7fa7a390"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 13:16:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Add IRQCHIP_SET_TYPE_MASKED flag\n\nirq_chips, which require to mask the chip before changing the trigger\ntype should set this flag. So the core takes care of it and the\nrequirement for looking into desc-\u003estatus in the chip goes away.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\n"
    },
    {
      "commit": "5d4d8fc9ac3e9a90bbdf90bae6864cb2c01f2208",
      "tree": "5ec451adff8792ed345bac22c91d8565b11ba61a",
      "parents": [
        "f9e4989eb8183a1f33581fa1b99274287b0639d2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:27:18 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Cleanup irq.h\n\nPut the constants into an enum and document them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f9e4989eb8183a1f33581fa1b99274287b0639d2",
      "tree": "3b69372623761448a044a24627ceba973e25c4f1",
      "parents": [
        "1ccb4e612f68ceefb888c2c6c1def6294ea8666d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 14:54:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Force wrapped access to desc-\u003estatus in core code\n\nForce the usage of wrappers by another nasty CPP substitution.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1ccb4e612f68ceefb888c2c6c1def6294ea8666d",
      "tree": "f3cae56489a56ebc54e06871abdf63193dc5a4bb",
      "parents": [
        "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 14:44:17 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Wrap the remaning IRQ_* flags\n\nUse wrappers to keep them away from the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4",
      "tree": "9be1e7e4cd4a4c9fadd98a9ac637020417215521",
      "parents": [
        "2bdd10558c8d93009cb6c32ce9e30800fbb08add"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:28:12 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror irq trigger type bits in irq_data.state\n\nThat\u0027s the data structure chip functions get provided. Also allow them\nto signal the core code that they updated the flags in irq_data.state\nby returning IRQ_SET_MASK_OK_NOCOPY. The default is unchanged.\n\nThe type bits should be accessed via:\n\nval \u003d irqd_get_trigger_type(irqdata);\nand\nirqd_set_trigger_type(irqdata, val);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2bdd10558c8d93009cb6c32ce9e30800fbb08add",
      "tree": "f25b36c02faa8709628e2dbb93748f370678bb52",
      "parents": [
        "bce43032ad79fae0ce5b6174ce1321e643ceb54b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:22:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Move IRQ_AFFINITY_SET to core\n\nKeep status in sync until last abuser is gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bce43032ad79fae0ce5b6174ce1321e643ceb54b",
      "tree": "1a4725216ef2d008cbb6a23966785b58088ebf93",
      "parents": [
        "a005677b3dd05decdd8880cf3044ae709856f58f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:37:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Reuse existing can set affinty check\n\nAdd a !desc check while at it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a005677b3dd05decdd8880cf3044ae709856f58f",
      "tree": "529d1454940fe8c6723bd54f01e009d9be2ab840",
      "parents": [
        "1ce6068dac1924f7095be5850481e790cbf1b3c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:11:03 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror IRQ_PER_CPU and IRQ_NO_BALANCING in irq_data.state\n\nThat\u0027s the right data structure to look at for arch code.\n\nAccessor functions are provided.\n\n\t irqd_is_per_cpu(irqdata);\n\t irqd_can_balance(irqdata);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1ce6068dac1924f7095be5850481e790cbf1b3c1",
      "tree": "72d5edcb015164e1833bb95d34df48ed8fc7a1c4",
      "parents": [
        "fae581e588e64a0690f3fc995e404fcacaebe772"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 20:44:21 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:19 2011 +0100"
      },
      "message": "genirq: Move debug code to separate header\n\nIt\u0027ll break when I\u0027m going to undefine the constants.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fae581e588e64a0690f3fc995e404fcacaebe772",
      "tree": "921a408384bf09834662a8e13af08eee87b66d30",
      "parents": [
        "8f53f92404bead2ab2154d45c8f508880bb5d95d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:53:24 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:19 2011 +0100"
      },
      "message": "genirq: Remove CHECK_IRQ_PER_CPU from core code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6a58fb3bad099076f36f0f30f44507bc3275cdb6",
      "tree": "9a40117c941d914b1ef13463436657ae9721fea3",
      "parents": [
        "f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 15:40:05 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:19 2011 +0100"
      },
      "message": "genirq: Remove CONFIG_IRQ_PER_CPU\n\nThe saving of this switch is minimal versus the ifdef mess it\ncreates. Simple enable PER_CPU unconditionally and remove the config\nswitch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21",
      "tree": "d4d30f77ab196930dd2d2982e90b1f2b5fd9bbe2",
      "parents": [
        "91c499178139d6597e68db19638e4135510a34b8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 15:20:04 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Add IRQ_MOVE_PENDING to irq_data.state\n\nchip implementations need to know about it. Keep status in sync until\nall users are fixed. \n\nAccessor function: irqd_is_setaffinity_pending(irqdata)\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6d2cd17fde1fc3e93302815f049f255bb2b3123e",
      "tree": "48995b27264ec657cae21e22a5be1f4c05973bc0",
      "parents": [
        "c531e8361f1968d664e6e97fbd3bfa4cf0e62e42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 14:34:18 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Move IRQ_WAKEUP to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c531e8361f1968d664e6e97fbd3bfa4cf0e62e42",
      "tree": "45b5dbd85203033af684a9588224044289236b0c",
      "parents": [
        "6e40262ea43c4b0e3f435b3a083e4461ef921c17"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:44:58 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Move IRQ_SUSPENDED to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e40262ea43c4b0e3f435b3a083e4461ef921c17",
      "tree": "4548c1607f81701b77c0d63b544096cdee8ccde0",
      "parents": [
        "2a0d6fb335d4428285dab2d254911748e6040807"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:36:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_MASKED to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a0d6fb335d4428285dab2d254911748e6040807",
      "tree": "16090086899df6886436b89cc76e6d0d5b36d083",
      "parents": [
        "c1594b77e46124bb462f961e536120e471c67446"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:17:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_PENDING flag to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1594b77e46124bb462f961e536120e471c67446",
      "tree": "3f52ad5809125ab5be6db1fd4b1212fe6127df66",
      "parents": [
        "163ef3091195f514a06f064b12914597d2644c55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 22:11:30 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_DISABLED to core\n\nKeep status in sync until all abusers are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "163ef3091195f514a06f064b12914597d2644c55",
      "tree": "a6e222b1a7366aa93c884257063aa36ef17cf91f",
      "parents": [
        "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 11:39:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_REPLAY and IRQ_WAITING to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6",
      "tree": "f496998278faa653174e185924acb0c74ac2e1b2",
      "parents": [
        "009b4c3b8ad584b3462734127a5bec680d5d6af4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 21:02:10 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_ONESHOT to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "009b4c3b8ad584b3462734127a5bec680d5d6af4",
      "tree": "f7cb860dde86ba96afcc085ec7a75ca2a41e49b6",
      "parents": [
        "6954b75b488dd740950573f244ddd66fd28620aa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 21:48:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Add IRQ_INPROGRESS to core\n\nWe need to maintain the flag for now in both fields status and istate.\nAdd a CONFIG_GENERIC_HARDIRQS_NO_COMPAT switch to allow testing w/o\nthe status one. Wrap the access to status IRQ_INPROGRESS in a inline\nwhich can be turned of with CONFIG_GENERIC_HARDIRQS_NO_COMPAT along\nwith the define.\n\nThere is no reason that anything outside of core looks at this. That\nneeds some modifications, but we\u0027ll get there.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6954b75b488dd740950573f244ddd66fd28620aa",
      "tree": "66a423d8d09c19d428e3e73373944a826f31f38e",
      "parents": [
        "6f91a52d9bb28396177662f1da0f2e2cef9cf5d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:55:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Move IRQ_POLL_INPROGRESS to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6f91a52d9bb28396177662f1da0f2e2cef9cf5d0",
      "tree": "0be983e2d1c1a622716cff61354f02e85ef3352e",
      "parents": [
        "7acdd53e5b2c55b6f7e3427e85e2f91fa814a4f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 14 13:33:16 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Use modify_status for set_irq_nested_thread\n\nNo need for a separate function in the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7acdd53e5b2c55b6f7e3427e85e2f91fa814a4f9",
      "tree": "4806536bae32605a3107d6c4384547693eda566c",
      "parents": [
        "bd062e7667ac173afef57fbfe9327f3b914a9d4c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:40:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Move IRQ_SPURIOUS_DISABLED to core state\n\nNo users outside.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bd062e7667ac173afef57fbfe9327f3b914a9d4c",
      "tree": "29e798cb397311abec53ad45b73efdede1fc37b7",
      "parents": [
        "e6bea9c404699223322d7411c6f2ceaec02fa83c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:25:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Move IRQ_AUTODETECT to internal state\n\nNo users outside of core\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e6bea9c404699223322d7411c6f2ceaec02fa83c",
      "tree": "c006048322aae74b4d60ec2a2a16e1fd941af09b",
      "parents": [
        "dbec07bac614a61e3392c1e7c08cc6a49ad43f7a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 13:16:52 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:14 2011 +0100"
      },
      "message": "genirq: Protect tglx from tripping over his own feet\n\nThe irq_desc.status field will either go away or renamed to\nsettings. Anyway we need to maintain compatibility to avoid breaking\nthe world and some more. While moving bits into the core, I need to\navoid that I use any of the still existing IRQ_ bits in the core code\nby typos. So that file will hold the inline wrappers and some nasty\nCPP tricks to break the build when typoed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dbec07bac614a61e3392c1e7c08cc6a49ad43f7a",
      "tree": "df584e74c8b2fcbe10cce70fd910b4482093fe9a",
      "parents": [
        "35e857cbeb24e75c6f9a9312ac30454eee8c5950"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:19:55 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:14 2011 +0100"
      },
      "message": "genirq: Add internal state field to irq_desc\n\nThat field will contain internal state information which is not going\nto be exposed to anything outside the core code - except via accessor\nfunctions. I\u0027m tired of everyone fiddling in irq_desc.status.\n\ncore_internal_state__do_not_mess_with_it is clear enough, annoying to\ntype and easy to grep for. Offenders will be tracked down and slapped\nwith stinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "35e857cbeb24e75c6f9a9312ac30454eee8c5950",
      "tree": "3f420843de7a59adf6a9f501980e00b45d8a7e61",
      "parents": [
        "c78b9b65faa291def628dbd8539649f58299f0f3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 12:20:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Fixup core code namespace fallout\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c78b9b65faa291def628dbd8539649f58299f0f3",
      "tree": "e5575932182c11373e522160491347dce2e0a003",
      "parents": [
        "1277a5325adfc53caac7dd3dac5d3d2fd2a125b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 16 17:21:47 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Implement generic irq_show_interrupts()\n\nAll archs implement show_interrupts() in more or less the same\nway. That\u0027s tons of duplicated code with different bugs with no\nvalue. Implement a generic version and deprecate show_interrupts()\n\nUnfortunately we need some ifdeffery for !GENERIC_HARDIRQ archs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1277a5325adfc53caac7dd3dac5d3d2fd2a125b4",
      "tree": "a58644a8fa81e3fab055640d33002ebb3bf08754",
      "parents": [
        "0877d66257082ce86fca8f9826b91870575b272c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:40:27 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Simplify handle_irq_event()\n\nNow that all core users are converted one layer can go.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0877d66257082ce86fca8f9826b91870575b272c",
      "tree": "40b8e2e6414cc58992107fef7409299e6dcfe8b4",
      "parents": [
        "849f061c25f8951d11c7dd88f44950ccde296392"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:29:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Use handle_irq_event() in the spurious poll code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "849f061c25f8951d11c7dd88f44950ccde296392",
      "tree": "b04284d1031f5ba4dd14b81b050ea8c662b2ec42",
      "parents": [
        "a60a5dc2db3b08b3c2900614c43b1262410c2d8c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:25:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:12 2011 +0100"
      },
      "message": "genirq: Use handle_perpcu_event() in handle_percpu_irq()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a60a5dc2db3b08b3c2900614c43b1262410c2d8c",
      "tree": "74fc245bc6ddc7c134daa29bab83e43dd8258611",
      "parents": [
        "a7ae4de5c8ae8110556f0f9c7241093ef984605c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:24:07 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:12 2011 +0100"
      },
      "message": "genirq: Use handle_irq_event() in handle_edge_irq()\n\nIt\u0027s safe to drop the IRQ_INPROGRESS flag between action chain walks\nas we are protected by desc-\u003elock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a7ae4de5c8ae8110556f0f9c7241093ef984605c",
      "tree": "091189ede3ce3f56c0ba460a038010174c0ee03e",
      "parents": [
        "1529866c63d789925de9b4250646d82d033e4b95"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:23:07 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:12 2011 +0100"
      },
      "message": "genirq: Use handle_irq_event() in handle_fasteoi_irq()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1529866c63d789925de9b4250646d82d033e4b95",
      "tree": "3f5373e5729b7a7d24da7c294f908bca3f743ad2",
      "parents": [
        "107781e72192067b95a7d373bfa460434a13c6ae"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:22:17 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:12 2011 +0100"
      },
      "message": "genirq: Use handle_irq_event() in handle_level_irq()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "107781e72192067b95a7d373bfa460434a13c6ae",
      "tree": "e451b9dbf1c1cc40bf86a1a87847a4f17c9c47c3",
      "parents": [
        "4912609f228da4a3d2bfbdf0f31de3d9eab2b7f8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:21:02 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Use handle_irq_event() in handle_simple_irq()\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4912609f228da4a3d2bfbdf0f31de3d9eab2b7f8",
      "tree": "5e0a134187b877322e730421275dc87a5b797211",
      "parents": [
        "d78f8dd36b90626106ce19cb2e6828b0dc39447e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:08:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Implement handle_irq_event()\n\nCore code replacement for the ugly camel case. It contains all the\ncode which is shared in all handlers.\n\n     clear status flags\n     set INPROGRESS flag\n     unlock\n     call action chain\n     note_interrupt\n     lock\n     clr INPROGRESS flag\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d78f8dd36b90626106ce19cb2e6828b0dc39447e",
      "tree": "bf142bff631dda1f129dccd08cf162acac6df07c",
      "parents": [
        "3aae994fb0f43f6d94a31c33536a83869504abdf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 21:41:17 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Do not fiddle with IRQ_MASKED in handle_edge_irq()\n\nIRQ_MASKED is set in mask_ack_irq() anyway. Remove it from\nhandle_edge_irq() to allow simpler ab^HHreuse of that function.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110202212551.918484270@linutronix.de\u003e\n"
    },
    {
      "commit": "3aae994fb0f43f6d94a31c33536a83869504abdf",
      "tree": "f928d2067cecfbb89c1133a8b513f84c890f7e9d",
      "parents": [
        "50f7c0327513d5acefbe26fd33498af18d1ffac5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 10:17:52 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Consolidate IRQ_DISABLED\n\nHandle IRQ_DISABLED consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "50f7c0327513d5acefbe26fd33498af18d1ffac5",
      "tree": "cab9352b720cccbe0b230b97b26b2bc40ca0405b",
      "parents": [
        "87923470c712dff00b101ffb6b6fbc27bd7a6df5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 13:23:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Remove default magic\n\nNow that everything uses the wrappers, we can remove the default\nfunctions. None of those functions is performance critical.\n\nThat makes the IRQ_MASKED flag tracking fully consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "87923470c712dff00b101ffb6b6fbc27bd7a6df5",
      "tree": "35dc1a0adec4d00bbc872ce096c481cf0d69314a",
      "parents": [
        "4699923861513671d3f6ade8efb4e56a9a7ecadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 12:27:44 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Consolidate disable/enable\n\nCreate irq_disable/enable and use them to keep the flags consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4699923861513671d3f6ade8efb4e56a9a7ecadf",
      "tree": "862cda99b9af6fe96fda955107f24a7b5cc97a18",
      "parents": [
        "3b56f0585fd4c02d047dc406668cb40159b2d340"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 21:41:14 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Consolidate startup/shutdown of interrupts\n\nAside of duplicated code some of the startup/shutdown sites do not\nhandle the MASKED/DISABLED flags and the depth field at all. Move that\nto a helper function and take care of it there.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110202212551.787481468@linutronix.de\u003e\n"
    },
    {
      "commit": "3b56f0585fd4c02d047dc406668cb40159b2d340",
      "tree": "99ac7c86428aeeaf4d8af51aad5753ac2e6d3af6",
      "parents": [
        "1535dfacbf21c4da1b73fcf07c39913da5bd5581"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 21:41:12 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Remove bogus conditional\n\nThe if (chip-\u003eirq_shutdown) check will always evaluate to true, as we\nfill in chip-\u003eirq_shutdown with default_shutdown in\nirq_chip_set_defaults() if the chip does not provide its own function.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110202212551.667607458@linutronix.de\u003e\n"
    },
    {
      "commit": "1535dfacbf21c4da1b73fcf07c39913da5bd5581",
      "tree": "28551fca52e2b636b3fdbc9d0b1e7a1cad06d791",
      "parents": [
        "fe200ae48ef5c79bf7941fe8046ff9505c570ff6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 01:55:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:09 2011 +0100"
      },
      "message": "genirq: Move irq thread flags to core\n\nSoleley used in core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fe200ae48ef5c79bf7941fe8046ff9505c570ff6",
      "tree": "767d2cf011437a266a655ce2ec39360cb85f7f28",
      "parents": [
        "d05c65fff0ef672be75429266751f0e015b54d94"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 10:34:30 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:09 2011 +0100"
      },
      "message": "genirq: Mark polled irqs and defer the real handler\n\nWith the chip.end() function gone we might run into a situation where\na poll call runs and the real interrupt comes in, sees IRQ_INPROGRESS\nand disables the line. That might be a perfect working one, which will\nthen be masked forever.\n\nSo mark them polled while the poll runs. When the real handler sees\nIRQ_INPROGRESS it checks the poll flag and waits for the polling to\ncomplete. Add the necessary amount of sanity checks to it to avoid\ndeadlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d05c65fff0ef672be75429266751f0e015b54d94",
      "tree": "96b6b8ec9d8ab6d94e4f84bb8bcf32def1fe9e2a",
      "parents": [
        "c7259cd7af757ddcd65701c37099dcddae2054f0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 14:31:37 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:09 2011 +0100"
      },
      "message": "genirq: spurious: Run only one poller at a time\n\nNo point in running concurrent pollers which confuse each other by\nsetting PENDING.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7259cd7af757ddcd65701c37099dcddae2054f0",
      "tree": "42f957d4c516563e01870199b9ffc6e4e00cdf4a",
      "parents": [
        "fa27271bc8d230355c1f24ddea103824fdc12de6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 09:52:27 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:09 2011 +0100"
      },
      "message": "genirq: Do not poll disabled, percpu and timer interrupts\n\nThere is no point in polling disabled lines.\n\npercpu does not make sense at all because we only poll on the cpu\nwe\u0027re currently running on. Also polling per_cpu interrupts is racy as\nhell. The handler runs without locking so we might get a huge\nsurprise.\n\nIf the timer interrupt needs polling, then we wont get there anyway.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fa27271bc8d230355c1f24ddea103824fdc12de6",
      "tree": "311a8b2cb337f9de83047290f72cd511f81b4eae",
      "parents": [
        "b738a50a202639614c98b5763b01bf9201779e50"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 09:10:39 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:08 2011 +0100"
      },
      "message": "genirq: Fixup poll handling\n\ntry_one_irq() contains redundant code and lots of useless checks for\nshared interrupts. Check for shared before setting IRQ_INPROGRESS and\nthen call handle_IRQ_event() while pending. Shorter version with the\nsame functionality.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b738a50a202639614c98b5763b01bf9201779e50",
      "tree": "fa1f0314db4d1a7d6a482d5845da2ffa1d99dd73",
      "parents": [
        "1082687e8d6292a61759eb83358e7db39fed1bf4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 23:58:19 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:08 2011 +0100"
      },
      "message": "genirq: Warn when handler enables interrupts\n\nWe run all handlers with interrupts disabled and expect them not to\nenable them. Warn when we catch one who does.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1082687e8d6292a61759eb83358e7db39fed1bf4",
      "tree": "2a6ba19073820f116050b1730f3e08f97187ddb2",
      "parents": [
        "2b879eaf095878430c38cbd95e5c0fc4ce65ad8e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 09:05:05 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:08 2011 +0100"
      },
      "message": "genirq: Plug race in report_bad_irq()\n\nWe cannot walk the action chain unlocked. Even if IRQ_INPROGRESS is\nset an action can be removed and we follow a null pointer. It\u0027s safe\nto take the lock there, because the code which removes the action will\ncall synchronize_irq() which waits unlocked for IRQ_INPROGRESS going\naway.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2b879eaf095878430c38cbd95e5c0fc4ce65ad8e",
      "tree": "2459e581520f2dd64f7a9ab75306b2af049d1362",
      "parents": [
        "3b8249e759c701c4a82f99d957be651a7657bf6f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 14 11:25:02 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:08 2011 +0100"
      },
      "message": "genirq: Remove redundant thread affinity setting\n\nThread affinity is already set by setup_affinity().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b8249e759c701c4a82f99d957be651a7657bf6f",
      "tree": "f758675da3bb37282eefd50e57456d09b208b452",
      "parents": [
        "569bda8df11effa03e618729293c7961696abb10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 16:02:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Do not copy affinity before set\n\nWhile rumaging through arch code I found that there are a few\nworkarounds which deal with the fact that the initial affinity setting\nfrom request_irq() copies the mask into irq_data-\u003eaffinity before the\nchip code is called. In the normal path we unconditionally copy the\nmask when the chip code returns 0.\n\nCopy after the code is called and add a return code\nIRQ_SET_MASK_OK_NOCOPY for the chip functions, which prevents the\ncopy. That way we see the real mask when the chip function decided to\ntruncate it further as some arches do. IRQ_SET_MASK_OK is 0, which is\nthe current behaviour.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "569bda8df11effa03e618729293c7961696abb10",
      "tree": "b0aed74a4b00a481738dc76a739f6f67e09a99c1",
      "parents": [
        "b008207cbd0d5ce606a1a2ac52826e0ab37d0b99"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 17:05:08 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Always apply cpu online mask\n\nIf the affinity had been set by the user, then a later request_irq()\nwill honour that setting. But online cpus can have changed. So apply\nthe online mask and for this case as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b008207cbd0d5ce606a1a2ac52826e0ab37d0b99",
      "tree": "ef3d7bc8414aa232829483e64f37758f3fdeebc2",
      "parents": [
        "1fa46f1f070961783661ae640cd2f6b2557f3885"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 17:30:50 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Rremove redundant check\n\nIRQ_NO_BALANCING is already checked in irq_can_set_affinity() above,\nno need to check it again.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1fa46f1f070961783661ae640cd2f6b2557f3885",
      "tree": "cef8928b1a89edc251f8b3f9d9a67bfaa10248af",
      "parents": [
        "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 16:46:58 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Simplify affinity related code\n\nThere is lot of #ifdef CONFIG_GENERIC_PENDING_IRQ along with\nduplicated code in the irq core. Move the #ifdeffery into one place\nand cleanup the code so it\u0027s readable. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e",
      "tree": "4b46f7951b9cd76531caf6d4d68d687e1b622336",
      "parents": [
        "43abe43ce0619d744c7a5bb15cce075e532b53b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 11:36:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Namespace cleanup\n\nThe irq namespace has become quite convoluted. My bad.  Clean it up\nand deprecate the old functions. All new functions follow the scheme:\n\nirq number based:\n    irq_set/get/xxx/_xxx(unsigned int irq, ...)\n\nirq_data based:\n\t irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)\n\nirq_desc based:\n\t irq_desc_get_xxx(struct irq_desc *desc)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "43abe43ce0619d744c7a5bb15cce075e532b53b7",
      "tree": "f915103a0d1d671d2f537c7852869b7ca4a0078b",
      "parents": [
        "e7bcecb7b1d29b9ad5af939149a945658620ca8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 12:10:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Add missing buslock to set_irq_type(), set_irq_wake()\n\nchips behind a slow bus cannot update the chip under desc-\u003elock, but\nwe miss the chip_buslock/chip_bus_sync_unlock() calls around the set\ntype and set wake functions.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e7bcecb7b1d29b9ad5af939149a945658620ca8f",
      "tree": "8f5ea66fd6e178574a31f2b1cfc5eeb2da28bef6",
      "parents": [
        "218502bfe674f570205367b9094048207b04ba15"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 16 17:12:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Make nr_irqs runtime expandable\n\nWe face more and more the requirement to expand nr_irqs at\nruntime. The reason are irq expanders which can not be detected in the\nearly boot stage. So we speculate nr_irqs to have enough room. Further\nXen needs extra irq numbers and we really want to avoid adding more\n\"detection\" code into the early boot. There is no real good reason why\nwe need to limit nr_irqs at early boot.\n\nAllow the allocation code to expand nr_irqs. We have already 8k extra\nnumber space in the allocation bitmap, so lets use it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "218502bfe674f570205367b9094048207b04ba15",
      "tree": "c6187b97e7c79d902aef08f049e9fba04c421d56",
      "parents": [
        "51327ada7142ab520ed610a42572d1f4cbfbb2dc",
        "6d83f94db95cfe65d2a6359cccdf61cf087c2598"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:56:36 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:56:43 2011 +0100"
      },
      "message": "Merge branch \u0027irq/urgent\u0027 into irq/core\n\nReason: Further patches are conflicting with mainline fixes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6d83f94db95cfe65d2a6359cccdf61cf087c2598",
      "tree": "e685c8d43da6dec24901658905cf3cf08e127633",
      "parents": [
        "c1ee6264280e740a9d3ff3feef38642cf0a57013"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 18 23:27:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:11:13 2011 +0100"
      },
      "message": "genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now\n\nWith CONFIG_SHIRQ_DEBUG\u003dy we call a newly installed interrupt handler\nin request_threaded_irq().\n\nThe original implementation (commit a304e1b8) called the handler\n_BEFORE_ it was installed, but that caused problems with handlers\ncalling disable_irq_nosync(). See commit 377bf1e4.\n\nIt\u0027s braindead in the first place to call disable_irq_nosync in shared\nhandlers, but ....\n\nMoving this call after we installed the handler looks innocent, but it\nis very subtle broken on SMP.\n\nInterrupt handlers rely on the fact, that the irq core prevents\nreentrancy.\n\nNow this debug call violates that promise because we run the handler\nw/o the IRQ_INPROGRESS protection - which we cannot apply here because\nthat would result in a possibly forever masked interrupt line.\n\nA concurrent real hardware interrupt on a different CPU results in\nhandler reentrancy and can lead to complete wreckage, which was\nunfortunately observed in reality and took a fricking long time to\ndebug.\n\nLeave the code here for now. We want this debug feature, but that\u0027s\nnot easy to fix. We really should get rid of those\ndisable_irq_nosync() abusers and remove that function completely.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: stable@kernel.org # .28 -\u003e .37\n"
    },
    {
      "commit": "c1ee6264280e740a9d3ff3feef38642cf0a57013",
      "tree": "a5d3b9ce791551657458d53eafb47533ee34509a",
      "parents": [
        "0cc9d5257857608ba85885b75fcada13d359b5d1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 17 17:45:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:10:51 2011 +0100"
      },
      "message": "genirq: Prevent access beyond allocated_irqs bitmap\n\nLars-Peter Clausen pointed out:\n\n   I stumbled upon this while looking through the existing archs using\n   SPARSE_IRQ.  Even with SPARSE_IRQ the NR_IRQS is still the upper\n   limit for the number of IRQs.\n\n   Both PXA and MMP set NR_IRQS to IRQ_BOARD_START, with\n   IRQ_BOARD_START being the number of IRQs used by the core.\n\n   In various machine files the nr_irqs field of the ARM machine\n   defintion struct is then set to \"IRQ_BOARD_START + NR_BOARD_IRQS\".\n\n   As a result \"nr_irqs\" will greater then NR_IRQS which then again\n   causes the \"allocated_irqs\" bitmap in the core irq code to be\n   accessed beyond its size overwriting unrelated data.\n\nThe core code really misses a sanity check there.\n\nThis went unnoticed so far as by chance the compiler/linker places\ndata behind that bitmap which gets initialized later on those affected\nplatforms.\n\nSo the obvious fix would be to add a sanity check in early_irq_init()\nand break all affected platforms. Though that check wants to be\nbackported to stable as well, which will require to fix all known\nproblematic platforms and probably some more yet not known ones as\nwell. Lots of churn.\n\nA way simpler solution is to allocate a slightly larger bitmap and\navoid the whole churn w/o breaking anything. Add a few warnings when\nan arch returns utter crap.\n\nReported-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org # .37\nCc: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "bc3adfc6703edfd2484902b5391092c717076f87",
      "tree": "9df3b216990f6b321095bcc6c35444f5e0d8165c",
      "parents": [
        "3c18d4de86e4a7f93815c081e50e0543fa27200f",
        "3233cdbd9fa347a6d6897a94cc6ed0302ae83c4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 12:36:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 12:36:06 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long\n  workqueue, freezer: unify spelling of \u0027freeze\u0027 + \u0027able\u0027 to \u0027freezable\u0027\n  workqueue: wake up a worker when a rescuer is leaving a gcwq\n"
    },
    {
      "commit": "2e725a065b0153f0c449318da1923a120477633d",
      "tree": "df20fb290a597d076db86b78cc1931838aba3d0b",
      "parents": [
        "a2640111d5edb3f4e6dd6089c0dbddc7590110b4"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "stf_xl@pop3.wp.pl",
        "time": "Sat Feb 12 21:06:51 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:52 2011 +0100"
      },
      "message": "PM / Hibernate: Return error code when alloc_image_page() fails\n\nCurrently we return 0 in swsusp_alloc() when alloc_image_page() fails.\nFix that.  Also remove unneeded \"error\" variable since the only\nuseful value of error is -ENOMEM.\n\n[rjw: Fixed up the changelog and changed subject.]\n\nSigned-off-by: Stanislaw Gruszka \u003cstf_xl@wp.pl\u003e\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3233cdbd9fa347a6d6897a94cc6ed0302ae83c4f",
      "tree": "053948a81cb40a37d3afbd0f6ca8f3a106523c73",
      "parents": [
        "58a69cb47ec6991bf006a3e5d202e8571b0327a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 18:10:19 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 18:10:19 2011 +0100"
      },
      "message": "workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long\n\nMAYDAY_INITIAL_TIMEOUT is defined as HZ / 100 and depending on\nconfiguration may end up 0 or 1.  Even when it\u0027s 1, depending on when\nthe mayday timer is added in the current jiffy interval, it may expire\nway before a jiffy has passed.\n\nMake sure MAYDAY_INITIAL_TIMEOUT is at least two to guarantee that at\nleast a full jiffy has passed before calling rescuers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ray Jui \u003crjui@broadcom.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "58a69cb47ec6991bf006a3e5d202e8571b0327a4",
      "tree": "56abdf817649c352f70bff3263f9351ed6c42062",
      "parents": [
        "7576958a9d5a4a677ad7dd40901cdbb6c1110c98"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 09:25:31 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Feb 16 17:48:59 2011 +0100"
      },
      "message": "workqueue, freezer: unify spelling of \u0027freeze\u0027 + \u0027able\u0027 to \u0027freezable\u0027\n\nThere are two spellings in use for \u0027freeze\u0027 + \u0027able\u0027 - \u0027freezable\u0027 and\n\u0027freezeable\u0027.  The former is the more prominent one.  The latter is\nmostly used by workqueue and in a few other odd places.  Unify the\nspelling to \u0027freezable\u0027.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a1213b091cd50c3038b3ae480c2f1fae2713f010",
      "tree": "a353228f47995e49fb450f5ff1a7bf5bd8020004",
      "parents": [
        "1cecd791f2708b621e619cf4df4636c97c9497e5",
        "7ff207928eb0761fa6b6c39eda82ac07a5241acf",
        "f590308536db432e4747f562b29e5858123938e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:19:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:19:18 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027 and \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Revert \"lockdep, timer: Fix del_timer_sync() annotation\"\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timer debug: Hide kernel addresses via %pK in /proc/timer_list\n"
    },
    {
      "commit": "1cecd791f2708b621e619cf4df4636c97c9497e5",
      "tree": "7d1cae2e3e0c02a5c187408fac36f0bae20fadf0",
      "parents": [
        "fef86db8feb2618430ac9e3c9b6197a7eacaf27a",
        "a252852afaea8270fcb91628b298253b112fc92e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 10:18:48 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Fix text_poke_smp_batch() deadlock\n  perf tools: Fix thread_map event synthesizing in top and record\n  watchdog, nmi: Lower the severity of error messages\n  ARM: oprofile: Fix backtraces in timer mode\n  oprofile: Fix usage of CONFIG_HW_PERF_EVENTS for oprofile_perf_init and friends\n"
    },
    {
      "commit": "7576958a9d5a4a677ad7dd40901cdbb6c1110c98",
      "tree": "db0b180feebf3a4ca6cd3155764cfc61a6d7f3cf",
      "parents": [
        "795abaf1e4e188c4171e3cd3dbb11a9fcacaf505"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 14 14:04:46 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 14 14:04:46 2011 +0100"
      },
      "message": "workqueue: wake up a worker when a rescuer is leaving a gcwq\n\nAfter executing the matching works, a rescuer leaves the gcwq whether\nthere are more pending works or not.  This may decrease the\nconcurrency level to zero and stall execution until a new work item is\nqueued on the gcwq.\n\nMake rescuer wake up a regular worker when it leaves a gcwq if there\nare more works to execute, so that execution isn\u0027t stalled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ray Jui \u003crjui@broadcom.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f590308536db432e4747f562b29e5858123938e9",
      "tree": "ece1e37bcd1f62b22801f43e72cd097b2fc1eee9",
      "parents": [
        "d2478521afc20227658a10a8c5c2bf1a2aa615b3"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Fri Feb 11 19:21:25 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 12 14:11:56 2011 +0100"
      },
      "message": "timer debug: Hide kernel addresses via %pK in /proc/timer_list\n\nIn the continuing effort to avoid kernel addresses leaking to\nunprivileged users, this patch switches to %pK for\n/proc/timer_list reporting.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110212032125.GA23571@outflux.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7909fb83550573300e72d120a7d97c9f6b53a65",
      "tree": "20810edd4c137ce011b1ef7b751440a15d4088b7",
      "parents": [
        "c41d40b53306434628b577715487810816fca885",
        "47970b1b2aa64464bc0a9543e86361a622ae7c03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:16:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:16:03 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  pci: use security_capable() when checking capablities during config space read\n  security: add cred argument to security_capable()\n  tpm_tis: Use timeouts returned from TPM\n"
    },
    {
      "commit": "01e05e9a90b8f4c3997ae0537e87720eb475e532",
      "tree": "e5bace65224c8b026cfd06a28cd00c3f3a69a0c8",
      "parents": [
        "d863b50ab01333659314c2034890cb76d9fdc3c7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 10 15:01:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 11 16:12:19 2011 -0800"
      },
      "message": "ptrace: use safer wake up on ptrace_detach()\n\nThe wake_up_process() call in ptrace_detach() is spurious and not\ninterlocked with the tracee state.  IOW, the tracee could be running or\nsleeping in any place in the kernel by the time wake_up_process() is\ncalled.  This can lead to the tracee waking up unexpectedly which can be\ndangerous.\n\nThe wake_up is spurious and should be removed but for now reduce its\ntoxicity by only waking up if the tracee is in TRACED or STOPPED state.\n\nThis bug can possibly be used as an attack vector.  I don\u0027t think it\nwill take too much effort to come up with an attack which triggers oops\nsomewhere.  Most sleeps are wrapped in condition test loops and should\nbe safe but we have quite a number of places where sleep and wakeup\nconditions are expected to be interlocked.  Although the window of\nopportunity is tiny, ptrace can be used by non-privileged users and with\nsome loading the window can definitely be extended and exploited.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \u003cstable@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": "6037b715d6fab139742c3df8851db4c823081561",
      "tree": "aba9e9427debd4fa5b904daefa8e71a6320f4b93",
      "parents": [
        "deabb19ba4bd8c06ae69bc262e3594b515e3a459"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Wed Feb 09 22:11:51 2011 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Feb 11 17:41:58 2011 +1100"
      },
      "message": "security: add cred argument to security_capable()\n\nExpand security_capable() to include cred, so that it can be usable in a\nwider range of call sites.\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ee24aebffb75a7f940cf52c8cf6910947b3130c0",
      "tree": "ed1eafa8b1a30b078c9fa680aafbb49632921a0d",
      "parents": [
        "67d019528e5c2693145217cf18a507689980d2a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 10 17:53:55 2011 -0800"
      },
      "message": "cap_syslog: accept CAP_SYS_ADMIN for now\n\nIn commit ce6ada35bdf7 (\"security: Define CAP_SYSLOG\") Serge Hallyn\nintroduced CAP_SYSLOG, but broke backwards compatibility by no longer\naccepting CAP_SYS_ADMIN as an override (it would cause a warning and\nthen reject the operation).\n\nRe-instate CAP_SYS_ADMIN - but keeping the warning - as an acceptable\ncapability until any legacy applications have been updated.  There are\napparently applications out there that drop all capabilities except for\nCAP_SYS_ADMIN in order to access the syslog.\n\n(This is a re-implementation of a patch by Serge, cleaning the logic up\nand making the code more readable)\n\nAcked-by: Serge Hallyn \u003cserge@hallyn.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51327ada7142ab520ed610a42572d1f4cbfbb2dc",
      "tree": "3dd587e6322073d0f8847ef92a835fd9fe456b49",
      "parents": [
        "44951a60ff888add9e84f509ffce20052e45af94",
        "986c011ddbb3ed44b35e1bfd67f6aa60b293b495"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:26:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:27:03 2011 +0100"
      },
      "message": "Merge branch \u0027irq/for-mips\u0027 into irq/core\n\nReason: irq/for-mips is provided for mips to make core independent\n        progress. Merge it into irq/core to avoid conflicts\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "986c011ddbb3ed44b35e1bfd67f6aa60b293b495",
      "tree": "defe8664b0287dcda9a7c0767b629eeae0504519",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Wed Feb 09 16:04:25 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:25:13 2011 +0100"
      },
      "message": "genirq: Call bus_lock/unlock functions in setup_irq()\n\nirq_chips that supply .irq_bus_lock/.irq_bus_sync_unlock functions,\nexpect that the other chip methods will be called inside of calls to\nthe pair.  If this expectation is not met, things tend to not work.\n\nMake setup_irq() call chip_bus_lock()/chip_bus_sync_unlock() too.\n\nFor the vast majority of irq_chips, this will be a NOP as most don\u0027t\nhave these bus lock functions.\n\n[ tglx: No we don\u0027t want to call that in __setup_irq(). Way too many\n  \terror exit pathes. ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nLKML-Reference: \u003c1297296265-18680-1-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5651f7f47dbb1cf2b95a60582546db4ff508e2b4",
      "tree": "9dbf5728f3fe1a73f48de290ae732b06574d646c",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Feb 09 14:02:33 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 10 13:21:59 2011 +0100"
      },
      "message": "watchdog, nmi: Lower the severity of error messages\n\nDuring boot if the hardlockup detector fails to initialize, it\ncomplains very loudly.  Some failures should be expected under\ncertain situations, ie no lapics, or resource in-use.  Tone\nthose error messages down a bit.  Keep the rest at a high level.\n\nReported-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nTested-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1297278153-21111-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aceb91cd351bc3a19a783c901fe8a8070d5f6fa9",
      "tree": "a0863e940a77ae10d3c8b391488e29a8245b31be",
      "parents": [
        "ae8eed2d0906bf0d8eb0c2a4651676a41d361297",
        "b8cf0e0e552ca48e9a00f518aeb4f5e03984022b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:45:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 09 11:45:21 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cdrom: support devices that have check_events but not media_changed\n  cfq-iosched: Don\u0027t wait if queue already has requests.\n  blkio-throttle: Avoid calling blkiocg_lookup_group() for root group\n  cfq: rename a function to give it more appropriate name\n  cciss: make cciss_revalidate not loop through CISS_MAX_LUNS volumes unnecessarily.\n  drivers/block/aoe/Makefile: replace the use of \u003cmodule\u003e-objs with \u003cmodule\u003e-y\n  loop: queue_lock NULL pointer derefence in blk_throtl_exit\n  drivers/block/Makefile: replace the use of \u003cmodule\u003e-objs with \u003cmodule\u003e-y\n  blktrace: Don\u0027t output messages if NOTIFY isn\u0027t set.\n"
    },
    {
      "commit": "44951a60ff888add9e84f509ffce20052e45af94",
      "tree": "7c1c6fb7009ef43fa76d6bb7c73c0d8b7d9a3699",
      "parents": [
        "c305d524e5dd3c3c7a6035083e30950bea1b52dc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 17:33:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 19:37:13 2011 +0100"
      },
      "message": "genirq: Remove dead code\n\nCONFIG_KSTAT_IRQS_ONDEMAND does not exist. It\u0027s not worth to implement\nit. Use sparse irqs if you care about memory consumption of the\ninterrupt layer.\n\nFound by undertaker: http://vamos.informatik.uni-erlangen.de/trac/undertaker\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c305d524e5dd3c3c7a6035083e30950bea1b52dc",
      "tree": "2929186dfc8b0f1094375873231809768d1ac385",
      "parents": [
        "c9a443cdf7726ce8b78c3177c6ae601ce37292fc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 17:10:48 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 19:37:12 2011 +0100"
      },
      "message": "softirq: Avoid stack switch from ksoftirqd\n\nksoftirqd() calls do_softirq() which switches stacks on several\narchitectures. That makes no sense at all. ksoftirqd\u0027s stack is\nsufficient.\n\nCall __do_softirq() directly.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1102021704530.31804@localhost6.localdomain6\u003e\n"
    },
    {
      "commit": "c9a443cdf7726ce8b78c3177c6ae601ce37292fc",
      "tree": "4191db70a690b8eb7c86d8c3c10f827e4f2ab32a",
      "parents": [
        "285c1a2c3a5f84ce1c811ab4cb1f8a17466e1a06",
        "dc5f219e88294b93009eef946251251ffffb6d60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:21 2011 +0100"
      },
      "message": "Merge branch \u0027irq/for-xen\u0027 into irq/core\n\nirq/for-xen contains new functionality to avoid Xen private irq\nhackery. That branch has a single irq commit and is pulled by Xen to\nbase their new features on.\n\nMerge it into irq/core as other patches modify the same code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dc5f219e88294b93009eef946251251ffffb6d60",
      "tree": "d4fd68261803ee6bd90ed4b422053d879352228e",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 13:19:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:36:47 2011 +0100"
      },
      "message": "genirq: Add IRQF_FORCE_RESUME\n\nXen needs to reenable interrupts which are marked IRQF_NO_SUSPEND in the\nresume path. Add a flag to force the reenabling in the resume code.\n\nTested-and-acked-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7ff207928eb0761fa6b6c39eda82ac07a5241acf",
      "tree": "10549042e6180c481f78dd0ea6f172a2f3de7e72",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Feb 08 15:18:00 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 08 16:18:39 2011 +0100"
      },
      "message": "Revert \"lockdep, timer: Fix del_timer_sync() annotation\"\n\nBoth attempts at trying to allow softirq usage for\ndel_timer_sync() failed (produced bogus warnings),\nso revert the commit for this release:\n\n  f266a5110d45: lockdep, timer: Fix del_timer_sync() annotation\n\nand try again later.\n\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1297174680.13327.107.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb2b2a1d37f80cc818fd4487b510f4e11816e5e1",
      "tree": "00a16a9440fb1d522160a404c97ed327f77a92a1",
      "parents": [
        "2edeaa34a6e3f2c43b667f6c4f7b27944b811695"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Mon Feb 07 13:36:16 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 07 14:04:00 2011 -0800"
      },
      "message": "CRED: Fix memory and refcount leaks upon security_prepare_creds() failure\n\nIn prepare_kernel_cred() since 2.6.29, put_cred(new) is called without\nassigning new-\u003eusage when security_prepare_creds() returned an error.  As a\nresult, memory for new and refcount for new-\u003e{user,group_info,tgcred} are\nleaked because put_cred(new) won\u0027t call __put_cred() unless old-\u003eusage \u003d\u003d 1.\n\nFix these leaks by assigning new-\u003eusage (and new-\u003esubscribers which was added\nin 2.6.32) before calling security_prepare_creds().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2edeaa34a6e3f2c43b667f6c4f7b27944b811695",
      "tree": "37dd9156645491a86844ba9198fe05e4e6fe44c5",
      "parents": [
        "257a65d79581880032e0bf0c452f4041b693664c"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Mon Feb 07 13:36:10 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 07 14:04:00 2011 -0800"
      },
      "message": "CRED: Fix BUG() upon security_cred_alloc_blank() failure\n\nIn cred_alloc_blank() since 2.6.32, abort_creds(new) is called with\nnew-\u003esecurity \u003d\u003d NULL and new-\u003emagic \u003d\u003d 0 when security_cred_alloc_blank()\nreturns an error.  As a result, BUG() will be triggered if SELinux is enabled\nor CONFIG_DEBUG_CREDENTIALS\u003dy.\n\nIf CONFIG_DEBUG_CREDENTIALS\u003dy, BUG() is called from __invalid_creds() because\ncred-\u003emagic \u003d\u003d 0.  Failing that, BUG() is called from selinux_cred_free()\nbecause selinux_cred_free() is not expecting cred-\u003esecurity \u003d\u003d NULL.  This does\nnot affect smack_cred_free(), tomoyo_cred_free() or apparmor_cred_free().\n\nFix these bugs by\n\n(1) Set new-\u003emagic before calling security_cred_alloc_blank().\n\n(2) Handle null cred-\u003esecurity in creds_are_invalid() and selinux_cred_free().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0adc82064a5c28b34bdbc18e2d178c32094770b",
      "tree": "42c051d53c978c722687a2dc341f2b54db271417",
      "parents": [
        "43a723286f3cae795418c62bc41c3cce73791a81",
        "55835eb62fad1253c9e657a667549945e4be9759"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:05:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 06 12:05:15 2011 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep, timer: Fix del_timer_sync() annotation\n  RTC: Prevents a division by zero in kernel code.\n"
    },
    {
      "commit": "285c1a2c3a5f84ce1c811ab4cb1f8a17466e1a06",
      "tree": "7eb4aeab927a25b6cc82aef21ffd5a4f4866ae4b",
      "parents": [
        "1fb0ef31f428f345a7c3666f8e7444a563edd537",
        "a9fe8d5fd52ecd17c3f3970bbcf6b3573f831898"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 21:49:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 21:50:05 2011 +0100"
      },
      "message": "Merge branch \u0027irq/urgent\u0027 into irq/core\n\nReason: Get mainline fixes integrated. Further patches conflict with\n        them\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "862b6f62bf0cd768910b087f6d051f420206c4d6",
      "tree": "f646e5246679ca851baf54e888c0d59b66ecf324",
      "parents": [
        "1ebdfa803dc5ced604ebadd26fcb8cdca8e09b85",
        "3d56e331b6537671c66f1b510bed0f1e0331dfc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 04 19:02:53 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "f266a5110d453b7987194460ac7edd31f1a5426c",
      "tree": "c616ed6d9f59c94e6c16116c8d656dd9862f353f",
      "parents": [
        "831d52bc153971b70e64eccfbed2b232394f22f8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 03 15:09:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 10:31:22 2011 +0100"
      },
      "message": "lockdep, timer: Fix del_timer_sync() annotation\n\nCalling local_bh_enable() will want to actually start processing\nsoftirqs, which isn\u0027t a good idea since this can get called with IRQs\ndisabled.\n\nCure this by using _local_bh_enable() which doesn\u0027t start processing\nsoftirqs, and use raw_local_irq_save() to avoid any softirqs from\nhappening without letting lockdep think IRQs are in fact disabled.\n\nReported-by: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c20110203141548.039540914@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aba99437f5af7a419a82438f7fab16bb3ddd9b44",
      "tree": "b3b36b2d1c4b462519292f8c56dd2098ede637a1",
      "parents": [
        "49abda98929a100cd6309da8dca29db84c72c721",
        "f1a06390d013244e721372b3f9b66e39b6429c71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 09:17:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 09:17:41 2011 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Prevent irq storm on migration\n"
    },
    {
      "commit": "49abda98929a100cd6309da8dca29db84c72c721",
      "tree": "603e2628d33187467d14c053f7d17d9460e5a7cb",
      "parents": [
        "eb487ab4d5af0caee81bfaaa5d87b55844f60145",
        "06c3bc655697b19521901f9254eb0bbb2c67e7e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:55:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:55:07 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix update_curr_rt()\n  sched, docs: Update schedstats documentation to version 15\n"
    },
    {
      "commit": "eb487ab4d5af0caee81bfaaa5d87b55844f60145",
      "tree": "5dc5470b73aeb1f4bfff9e77d52ff3387c18e7df",
      "parents": [
        "0b0abeaf3d30cec03ac6497fe978b8f7edecc5ae",
        "542e72fc90f5ed9eecb574f80f70868c7f296093"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 03 08:52:05 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix reading in perf_event_read()\n  watchdog: Don\u0027t change watchdog state on read of sysctl\n  watchdog: Fix sysctl consistency\n  watchdog: Fix broken nowatchdog logic\n  perf: Fix Pentium4 raw event validation\n  perf: Fix alloc_callchain_buffers()\n"
    },
    {
      "commit": "3d56e331b6537671c66f1b510bed0f1e0331dfc8",
      "tree": "80145576e1b9e701b7a2270c6a09798ed6b783c3",
      "parents": [
        "654986462939cd7ec18f276c6379a334dac106a7"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 02 17:06:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:29:06 2011 -0500"
      },
      "message": "tracing: Replace syscall_meta_data struct array with pointer array\n\nCurrently the syscall_meta structures for the syscall tracepoints are\nplaced in the __syscall_metadata section, and at link time, the linker\nmakes one large array of all these syscall metadata structures. On boot\nup, this array is read (much like the initcall sections) and the syscall\ndata is processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the __syscall_metadata section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe __syscall_metadata section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "654986462939cd7ec18f276c6379a334dac106a7",
      "tree": "b9c70944012c24fa6d7cc973fa9b4b6e875ca842",
      "parents": [
        "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Wed Jan 26 17:26:22 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 03 09:28:46 2011 -0500"
      },
      "message": "tracepoints: Fix section alignment using pointer array\n\nMake the tracepoints more robust, making them solid enough to handle compiler\nchanges by not relying on anything based on compiler-specific behavior with\nrespect to structure alignment. Implement an approach proposed by David Miller:\nuse an array of const pointers to refer to the individual structures, and export\nthis pointer array through the linker script rather than the structures per se.\nIt will consume 32 extra bytes per tracepoint (24 for structure padding and 8\nfor the pointers), but are less likely to break due to compiler changes.\n\nHistory:\n\ncommit 7e066fb8 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()\nadded the aligned(32) type and variable attribute to the tracepoint structures\nto deal with gcc happily aligning statically defined structures on 32-byte\nmultiples.\n\nOne attempt was to use a 8-byte alignment for tracepoint structures by applying\nboth the variable and type attribute to tracepoint structures definitions and\ndeclarations. It worked fine with gcc 4.5.1, but broke with gcc 4.4.4 and 4.4.5.\n\nThe reason is that the \"aligned\" attribute only specify the _minimum_ alignment\nfor a structure, leaving both the compiler and the linker free to align on\nlarger multiples. Because tracepoint.c expects the structures to be placed as an\narray within each section, up-alignment cause NULL-pointer exceptions due to the\nextra unexpected padding.\n\n(this patch applies on top of -tip)\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c20110126222622.GA10794@Krystal\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "06c3bc655697b19521901f9254eb0bbb2c67e7e8",
      "tree": "f712a3359f9a3a73652bb3316e0281f26f48c1ab",
      "parents": [
        "1e1dbb259c79b38a542c1c4c00fd8dfe936b183b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 02 13:19:48 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:21:33 2011 +0100"
      },
      "message": "sched: Fix update_curr_rt()\n\ncpu_stopper_thread()\n  migration_cpu_stop()\n    __migrate_task()\n      deactivate_task()\n        dequeue_task()\n          dequeue_task_rq()\n            update_curr_rt()\n\nWill call update_curr_rt() on rq-\u003ecurr, which at that time is\nrq-\u003estop. The problem is that rq-\u003estop.prio matches an RT prio and\nthus falsely assumes its a rt_sched_class task.\n\nReported-Debuged-Tested-Acked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: stable@kernel.org # .37\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "542e72fc90f5ed9eecb574f80f70868c7f296093",
      "tree": "b42abb2d44ed771759eee63ce00378df02d689ca",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 26 15:38:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:15:46 2011 +0100"
      },
      "message": "perf: Fix reading in perf_event_read()\n\nIt is quite possible for the event to have been disabled between\nperf_event_read() sending the IPI and the CPU servicing the IPI and\ncalling __perf_event_read(), hence revalidate the state.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4a9ea5ee7c8812a7bf0c3fb725ceeaa3d4c2fcc",
      "tree": "1b25668508fa302a6ada053c895cd55727f798f1",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 27 09:15:30 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 02 21:37:13 2011 -0500"
      },
      "message": "tracing: Replace trace_event struct array with pointer array\n\nCurrently the trace_event structures are placed in the _ftrace_events\nsection, and at link time, the linker makes one large array of all\nthe trace_event structures. On boot up, this array is read (much like\nthe initcall sections) and the events are processed.\n\nThe problem is that there is no guarantee that gcc will place complex\nstructures nicely together in an array format. Two structures in the\nsame file may be placed awkwardly, because gcc has no clue that they\nare suppose to be in an array.\n\nA hack was used previous to force the alignment to 4, to pack the\nstructures together. But this caused alignment issues with other\narchitectures (sparc).\n\nInstead of packing the structures into an array, the structures\u0027 addresses\nare now put into the _ftrace_event section. As pointers are always the\nnatural alignment, gcc should always pack them tightly together\n(otherwise initcall, extable, etc would also fail).\n\nBy having the pointers to the structures in the section, we can still\niterate the trace_events without causing unnecessary alignment problems\nwith other architectures, or depending on the current behaviour of\ngcc that will likely change in the future just to tick us kernel developers\noff a little more.\n\nThe _ftrace_event section is also moved into the .init.data section\nas it is now only needed at boot up.\n\nSuggested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "f1a06390d013244e721372b3f9b66e39b6429c71"
}
