)]}'
{
  "log": [
    {
      "commit": "668ce0ac707719d866af7e432e518af7b4c575ad",
      "tree": "56981174aa46721ef0b4d3710f990153e22dda3a",
      "parents": [
        "a1c0cad352520206305b1a3c2658097721454855",
        "ef1f0982540e5f79c8bbf3675bbc0a9734dba3fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 19:44:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 13 19:44:36 2012 -0700"
      },
      "message": "Merge branch \u0027systemh-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull system.h fixups for less common arch\u0027s from Paul Gortmaker:\n \"Here is what is hopefully the last of the system.h related fixups.\n\n  The fixes for Alpha and ia64 are code relocations consistent with what\n  was done for the more mainstream architectures.  Note that the\n  diffstat lines removed vs lines added are not the same since I\u0027ve\n  fixed some of the whitespace issues in the relocated code blocks.\n  However they are functionally the same.  Compile tested locally, plus\n  these two have been in linux-next for a while.\n\n  There is also a trivial one line system.h related fix for the Tilera\n  arch from Chris Metcalf to fix an implict include..\"\n\n* \u0027systemh-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  irq_work: fix compile failure on tile from missing include\n  ia64: populate the cmpxchg header with appropriate code\n  alpha: fix build failures from system.h dismemberment\n"
    },
    {
      "commit": "ef1f0982540e5f79c8bbf3675bbc0a9734dba3fc",
      "tree": "7865706f7112dbb5c195c41695bbfdcf9e5471ee",
      "parents": [
        "85f8f7759e418c814ee2ceacf73eddb9bed39492"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Apr 11 12:21:39 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Apr 13 13:15:16 2012 -0400"
      },
      "message": "irq_work: fix compile failure on tile from missing include\n\nBuilding with IRQ_WORK configured results in\n\nkernel/irq_work.c: In function ‘irq_work_run’:\nkernel/irq_work.c:110: error: implicit declaration of function ‘irqs_disabled’\n\nThe appropriate header just needs to be included.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "b3dfd76c945b879513b991bac23ffcb97fe88ec2",
      "tree": "fa5044e39dc816293ebf46cbb208443039eec7c5",
      "parents": [
        "9b1ef1de20e2658c77cce89941f45525704ab534",
        "5269a9ab7def9a3116663347d59c4d70afa2d180"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:33:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:33:16 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull a fix for the recent irqdomain bug fixes from Grant Likely:\n \"I flubbed one patch in the last pull request which broke a format\n  string on 64 bit platforms.  Here\u0027s the fix.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irq_domain: fix type mismatch in debugfs output format\n"
    },
    {
      "commit": "5269a9ab7def9a3116663347d59c4d70afa2d180",
      "tree": "e4c93f4f7a1cc8e6c243bce6be7b5c37ece3cc54",
      "parents": [
        "ecca5c3acc0d0933d89abc44e60afb0cc8170e35"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 14:42:15 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 16:25:48 2012 -0600"
      },
      "message": "irq_domain: fix type mismatch in debugfs output format\n\nsizeof(void*) returns an unsigned long, but it was being used as a width parameter to a \"%-*s\" format string which requires an int.  On 64 bit platforms this causes a type mismatch:\n\n    linux/kernel/irq/irqdomain.c:575: warning: field width should have type\n    \u0027int\u0027, but argument 6 has type \u0027long unsigned int\u0027\n\nThis change casts the size to an int so printf gets the right data type.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\n"
    },
    {
      "commit": "ccb1ec95e924a24906ef01ce6d028a8dc13dc87d",
      "tree": "b16a02083ba6843fe3f2513f74a72c95d43ddccb",
      "parents": [
        "4a1d7544fee5e601a4e642ce2720689f90428d65",
        "d48fc63f6f3f485ed5aa9cf019d8e8e3a7d10263"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:16:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 15:16:26 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fixes from Thomas Gleixner:\n \"The itimer removal one is not strictly a fix, but I really wanted to\n  avoid a rebase of the urgent ones.\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"clocksource: Load the ACPI PM clocksource asynchronously\"\n  clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()\n  itimer: Use printk_once instead of WARN_ONCE\n  nohz: Fix stale jiffies update in tick_nohz_restart()\n  tick: Document TICK_ONESHOT config option\n  proc: stats: Use arch_idle_time for idle and iowait times if available\n  itimer: Schedule silent NULL pointer fixup in setitimer() for removal\n"
    },
    {
      "commit": "ecca5c3acc0d0933d89abc44e60afb0cc8170e35",
      "tree": "e765a76f8bf07717b4c446193bc4e2601b4fd038",
      "parents": [
        "174808af90a06ee59ffedd60c00c252f1f887f25",
        "026ee1f66aaa7f01b617a0ba89ac4b531f9603f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:15:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 14:15:21 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge fixes from Andrew Morton.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (14 patches)\n  panic: fix stack dump print on direct call to panic()\n  drivers/rtc/rtc-pl031.c: enable clock on all ST variants\n  Revert \"mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()\"\n  hugetlb: fix race condition in hugetlb_fault()\n  drivers/rtc/rtc-twl.c: use static register while reading time\n  drivers/rtc/rtc-s3c.c: add placeholder for driver private data\n  drivers/rtc/rtc-s3c.c: fix compilation error\n  MAINTAINERS: add PCDP console maintainer\n  memcg: do not open code accesses to res_counter members\n  drivers/rtc/rtc-efi.c: fix section mismatch warning\n  drivers/rtc/rtc-r9701.c: reset registers if invalid values are detected\n  drivers/char/random.c: fix boot id uniqueness race\n  memcg: fix broken boolen expression\n  memcg: fix up documentation on global LRU\n"
    },
    {
      "commit": "026ee1f66aaa7f01b617a0ba89ac4b531f9603f1",
      "tree": "536bca88c7ee8475eb33b0b8a654bd13b8fd64a9",
      "parents": [
        "2f3972168353d355854d6381f1f360ce83b723e5"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Apr 12 12:49:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 13:12:12 2012 -0700"
      },
      "message": "panic: fix stack dump print on direct call to panic()\n\nCommit 6e6f0a1f0fa6 (\"panic: don\u0027t print redundant backtraces on oops\")\ncauses a regression where no stack trace will be printed at all for the\ncase where kernel code calls panic() directly while not processing an\noops, and of course there are 100\u0027s of instances of this type of call.\n\nThe original commit executed the check (!oops_in_progress), but this will\nalways be false because just before the dump_stack() there is a call to\nbust_spinlocks(1), which does the following:\n\n  void __attribute__((weak)) bust_spinlocks(int yes)\n  {\n\tif (yes) {\n\t\t++oops_in_progress;\n\nThe proper way to resolve the problem that original commit tried to\nsolve is to avoid printing a stack dump from panic() when the either of\nthe following conditions is true:\n\n  1) TAINT_DIE has been set (this is done by oops_end())\n     This indicates and oops has already been printed.\n  2) oops_in_progress \u003e 1\n     This guards against the rare case where panic() is invoked\n     a second time, or in between oops_begin() and oops_end()\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.3+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e066489726b52bea419085e5b8929e1e89f57a8",
      "tree": "b144712e5200002b55b45f362ffa1fd53d0389c6",
      "parents": [
        "4abb663b641ee21024906dae45af7de50ebad2d8",
        "6fa6c8e25e95bdc73e92e4c96b8e3299169b616e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 12:49:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 12:49:56 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain bug fixes from Grant Likely:\n \"This branch fixes a bug in irq_create_mapping() where an error return\n  from irq_alloc_desc_from() gets ignored.\n\n  It also removes irq_virq_count to fix a bug on powerpc where the\n  irqdomain code does not find irqs allocated above the CONFIG_NR_IRQS\n  boundary.\n\n  The remaining patches get rid of an completely pointless export and\n  fix some minor bugs in the irqdomain debug output.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irq_domain: Move irq_virq_count into NOMAP revmap\n  irqdomain: Fix debugfs formatting\n  irq_domain: correct the debugfs file name\n  irq: Kill pointless irqd_to_hw export\n  irq/irq_domain: Quit ignoring error returns from irq_alloc_desc_from().\n"
    },
    {
      "commit": "6fa6c8e25e95bdc73e92e4c96b8e3299169b616e",
      "tree": "34dc13fb2448eab4916f55edd10dfa34c36505df",
      "parents": [
        "15e06bf64f686befd2030da867a3dad965b96cc0"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Feb 15 15:06:08 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 00:37:48 2012 -0600"
      },
      "message": "irq_domain: Move irq_virq_count into NOMAP revmap\n\nThis patch replaces the old global setting of irq_virq_count that is only\nused by the NOMAP mapping and instead uses a revmap_data property so that\nthe maximum NOMAP allocation can be set per NOMAP irq_domain.\n\nThere is exactly one user of irq_virq_count in-tree right now: PS3.\nAlso, irq_virq_count is only useful for the NOMAP mapping.  So,\ninstead of having a single global irq_virq_count values, this change\ndrops it entirely and added a max_irq argument to irq_domain_add_nomap().\nThat makes it a property of an individual nomap irq domain instead of\na global system settting.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\n"
    },
    {
      "commit": "79549c6dfda0603dba9a70a53467ce62d9335c33",
      "tree": "88de05761354d81916b6a929ae9ef2fa1b51e3e5",
      "parents": [
        "923e9a1399b620d063cd88537c64561bc3d5f905"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Apr 09 21:03:50 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 11 08:20:11 2012 -0700"
      },
      "message": "cred: copy_process() should clear child-\u003ereplacement_session_keyring\n\nkeyctl_session_to_parent(task) sets -\u003ereplacement_session_keyring,\nit should be processed and cleared by key_replace_session_keyring().\n\nHowever, this task can fork before it notices TIF_NOTIFY_RESUME and\nthe new child gets the bogus -\u003ereplacement_session_keyring copied by\ndup_task_struct(). This is obviously wrong and, if nothing else, this\nleads to put_cred(already_freed_cred).\n\nchange copy_creds() to clear this member. If copy_process() fails\nbefore this point the wrong -\u003ereplacement_session_keyring doesn\u0027t\nmatter, exit_creds() won\u0027t be called.\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15e06bf64f686befd2030da867a3dad965b96cc0",
      "tree": "769d3c6192d1eeff58fd84d5e6c4667f2952d26c",
      "parents": [
        "ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 11 00:26:25 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 11 01:01:45 2012 -0600"
      },
      "message": "irqdomain: Fix debugfs formatting\n\nThis patch fixes the irq_domain_mapping debugfs output to pad pointer\nvalues with leading zeros so that pointer values are displayed\ncorrectly.  Otherwise you get output similar to \"0x 5e0000000000000\".\nAlso, when the irq_domain is set to \u0027null\u0027\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\n"
    },
    {
      "commit": "ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f",
      "tree": "8e3bf52b942d432f8ebb79b8ad3c2eae1c06a744",
      "parents": [
        "a699e4e49ec3fb62c4a44394357d14081df10bef"
      ],
      "author": {
        "name": "Mika Westerberg",
        "email": "mika.westerberg@linux.intel.com",
        "time": "Tue Apr 10 15:25:42 2012 +0300"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Apr 10 22:39:17 2012 -0600"
      },
      "message": "irq_domain: correct the debugfs file name\n\nThe actual name of the irq_domain mapping debugfs file is\n\"irq_domain_mapping\" not \"virq_mapping\".\n\nSigned-off-by: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5b7526e3a640e491075557acaa842c59c652c0c3",
      "tree": "43b3d5d33078b4683482b25559735e1e5d719a72",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Thu Apr 05 16:52:13 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Apr 10 22:39:16 2012 -0600"
      },
      "message": "irq/irq_domain: Quit ignoring error returns from irq_alloc_desc_from().\n\nIn commit 4bbdd45a (irq_domain/powerpc: eliminate irq_map; use\nirq_alloc_desc() instead) code was added that ignores error returns\nfrom irq_alloc_desc_from() by (silently) casting the return value to\nunsigned.  The negitive value error return now suddenly looks like a\nvalid irq number.\n\nCommits cc79ca69 (irq_domain: Move irq_domain code from powerpc to\nkernel/irq) and 1bc04f2c (irq_domain: Add support for base irq and\nhwirq in legacy mappings) move this code to its current location in\nirqdomain.c\n\nThe result of all of this is a null pointer dereference OOPS if one of\nthe error cases is hit.\n\nThe fix: Don\u0027t cast away the negativeness of the return value and then\ncheck for errors.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\n[grant.likely: dropped addition of new \u0027irq\u0027 variable]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "fa4da365bc7772c2cd6d5405bdf151612455f957",
      "tree": "a688173e5ba7428e934dee1ea2905c2bbe92ef50",
      "parents": [
        "9886f444129171569461d8c39983e16f4871e3b4"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Apr 09 15:41:44 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 11:42:07 2012 +0200"
      },
      "message": "clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()\n\nIn the commit 77b0d60c5adf39c74039e2142a1d3cd1e4d53799,\n\"clockevents: Leave the broadcast device in shutdown mode when not needed\",\nwe were bailing out too quickly in tick_broadcast_switch_to_oneshot(),\nwith out tracking the broadcast device mode change to \u0027TICKDEV_MODE_ONESHOT\u0027.\n\nThis breaks the platforms which need broadcast device oneshot services during\ndeep idle states. tick_broadcast_oneshot_control() thinks that it is\nin periodic mode and fails to take proper decisions based on the\nCLOCK_EVT_NOTIFY_BROADCAST_[ENTER, EXIT] notifications during deep\nidle entry/exit.\n\nFix this by tracking the broadcast device mode as \u0027TICKDEV_MODE_ONESHOT\u0027,\nbefore leaving the broadcast HW device in shutdown mode if there are no active\nrequests for the moment.\n\nReported-and-tested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: johnstul@us.ibm.com\nLink: http://lkml.kernel.org/r/1334011304.12400.81.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9886f444129171569461d8c39983e16f4871e3b4",
      "tree": "2ceefb3988e602a58f8055b4ec82b00eb306abf9",
      "parents": [
        "6f103929f8979d2638e58d7f7fda0beefcb8ee7e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 10:50:55 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 11:00:30 2012 +0200"
      },
      "message": "itimer: Use printk_once instead of WARN_ONCE\n\nDavid pointed out, that WARN_ONCE() to report usage of an deprecated\nmisfeature make folks unhappy. Use printk_once() instead.\n\nAndrew told me to stop grumbling and to remove the silly typecast\nwhile touching the file.\n\nReported-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "d6a624eef128c97b35fcea47cd00ef22f005e7aa",
      "tree": "e547bfbbddc2ffa872949cc3bfe95a03d38a3783",
      "parents": [
        "f21fec96ead90eae7bcb3c847e8115c119c5dc62",
        "620f6e8e855d6d447688a5f67a4e176944a084e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:51:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:51:36 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security layer fixlet from James Morris.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:\n  sysctl: fix write access to dmesg_restrict/kptr_restrict\n"
    },
    {
      "commit": "6f103929f8979d2638e58d7f7fda0beefcb8ee7e",
      "tree": "e1ef3fc388c177e8e8ca4b6daa797fe7f9306d84",
      "parents": [
        "3872c48b14259d8c0a00c9fff06a4a4123f7f4eb"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Tue Mar 27 15:09:37 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 06 13:24:17 2012 +0200"
      },
      "message": "nohz: Fix stale jiffies update in tick_nohz_restart()\n\nFix tick_nohz_restart() to not use a stale ktime_t \"now\" value when\ncalling tick_do_update_jiffies64(now).\n\nIf we reach this point in the loop it means that we crossed a tick\nboundary since we grabbed the \"now\" timestamp, so at this point \"now\"\nrefers to a time in the old jiffy, so using the old value for \"now\" is\nincorrect, and is likely to give us a stale jiffies value.\n\nIn particular, the first time through the loop the\ntick_do_update_jiffies64(now) call is always a no-op, since the\ncaller, tick_nohz_restart_sched_tick(), will have already called\ntick_do_update_jiffies64(now) with that \"now\" value.\n\nNote that tick_nohz_stop_sched_tick() already uses the correct\napproach: when we notice we cross a jiffy boundary, grab a new\ntimestamp with ktime_get(), and *then* update jiffies.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Ben Segall \u003cbsegall@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1332875377-23014-1-git-send-email-ncardwell@google.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "620f6e8e855d6d447688a5f67a4e176944a084e8",
      "tree": "2be8f032eefc0d3bdaf9a045bd9263da4a2c6823",
      "parents": [
        "6c216ec636f75d834461be15f83ec41a6759bd2b"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Wed Apr 04 11:40:19 2012 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "james.l.morris@oracle.com",
        "time": "Thu Apr 05 14:51:43 2012 +1000"
      },
      "message": "sysctl: fix write access to dmesg_restrict/kptr_restrict\n\nCommit bfdc0b4 adds code to restrict access to dmesg_restrict,\nhowever, it incorrectly alters kptr_restrict rather than\ndmesg_restrict.\n\nThe original patch from Richard Weinberger\n(https://lkml.org/lkml/2011/3/14/362) alters dmesg_restrict as\nexpected, and so the patch seems to have been misapplied.\n\nThis adds the CAP_SYS_ADMIN check to both dmesg_restrict and\nkptr_restrict, since both are sensitive.\n\nReported-by: Phillip Lougher \u003cplougher@redhat.com\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: James Morris \u003cjames.l.morris@oracle.com\u003e\n"
    },
    {
      "commit": "6c216ec636f75d834461be15f83ec41a6759bd2b",
      "tree": "505ab410c3208e586fd7db0bb97364d8dac490a1",
      "parents": [
        "58bca4a8fa90fcf9069379653b396b2cec642f7f",
        "3751d3e85cf693e10e2c47c03c8caa65e171099b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 17:26:08 2012 -0700"
      },
      "message": "Merge tag \u0027for_linus-3.4-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb\n\nPull KGDB/KDB regression fixes from Jason Wessel:\n - Fix a Smatch warning that appeared in the 3.4 merge window\n - Fix kgdb test suite with SMP for all archs without HW single stepping\n - Fix kgdb sw breakpoints with CONFIG_DEBUG_RODATA\u003dy limitations on x86\n - Fix oops on kgdb test suite with CONFIG_DEBUG_RODATA\n - Fix kgdb test suite with SMP for all archs with HW single stepping\n\n* tag \u0027for_linus-3.4-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:\n  x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()\n  kgdb,debug_core: pass the breakpoint struct instead of address and memory\n  kgdbts: (2 of 2) fix single step awareness to work correctly with SMP\n  kgdbts: (1 of 2) fix single step awareness to work correctly with SMP\n  kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA\n  kdb: Fix smatch warning on dbg_io_ops-\u003eis_console\n"
    },
    {
      "commit": "64ebe987311853ea857a244439de5b947a4b1b07",
      "tree": "b33ab6efd7f118e0f6ab5a6bcbd59ba31a313da5",
      "parents": [
        "a5149bf3fed59b94207809704b5d06fec337a771",
        "c4772d192c70b61d52262b0db76f7abd8aeb51c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 04 14:26:40 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull more power management updates from Rafael Wysocki:\n - Patch series that hopefully fixes races between the freezer and\n   request_firmware() and request_firmware_nowait() for good, with two\n   cleanups from Stephen Boyd on top.\n - Runtime PM fix from Alan Stern preventing tasks from getting stuck\n   indefinitely in the runtime PM wait queue.\n - Device PM QoS update from MyungJoo Ham introducing a new variant of\n   pm_qos_update_request() allowing the callers to specify a timeout.\n\n* tag \u0027pm-for-3.4-part-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / QoS: add pm_qos_update_request_timeout() API\n  firmware_class: Move request_firmware_nowait() to workqueues\n  firmware_class: Reorganize fw_create_instance()\n  PM / Sleep: Mitigate race between the freezer and request_firmware()\n  PM / Sleep: Move disabling of usermode helpers to the freezer\n  PM / Hibernate: Disable usermode helpers right before freezing tasks\n  firmware_class: Do not warn that system is not ready from async loads\n  firmware_class: Split _request_firmware() into three functions, v2\n  firmware_class: Rework usermodehelper check\n  PM / Runtime: don\u0027t forget to wake up waitqueue on failure\n"
    },
    {
      "commit": "95694129b43165911dc4e8a972f0d39ad98d86be",
      "tree": "a7faf4b70c85b457f684cbc1033ac5b79457c2e9",
      "parents": [
        "b1a808ff436343956a6ae63178ea1810c5e5a3a1",
        "80da6a4feeb9e4d6554f771f14f5b994e6c6c7e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 14:41:43 2012 -0700"
      },
      "message": "Merge branch \u0027paul\u0027 (Fixups from Paul Gortmaker)\n\nThis merges some of the fixes from Paul Gortmaker for the header file\ncleanup fallout.\n\nSome of the patches are going through arch maintainer trees, and David\nHowells suggested another be done differently, but this at least fixes a\nfew cases.\n\n* emailed from Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e:\n  asm-generic: add linux/types.h to cmpxchg.h\n  firewire: restore the device.h include in linux/firewire.h\n  frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL\n  parisc: fix missing cmpxchg file error from system.h split\n  blackfin: fix cmpxchg build fails from system.h fallout\n  avr32: fix build failures from mis-naming of atmel_nand.h\n  ARM: mach-msm: fix compile fail from system.h fallout\n  irq_work: fix compile failure on MIPS from system.h split\n"
    },
    {
      "commit": "8f6b7676ceecc1f40df77d5a4d6a8bae87594a2d",
      "tree": "aaac7c2858dab9817af579f2ad39f2f18ce4dbd8",
      "parents": [
        "143418d0c87fda0c587205c45094d8b05222fd49",
        "5219a5342ab13650ae0f0c62319407268c48d0ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 09:40:24 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n - Fix for CPU hotplug hang in padata.\n - Avoid using cpu_active inappropriately in pcrypt and padata.\n - Fix for user-space algorithm lookup hang with IV generators.\n - Fix for netlink dump of algorithms where stuff went missing due to\n   incorrect calculation of message size.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: user - Fix size of netlink dump message\n  crypto: user - Fix lookup of algorithms with IV generator\n  crypto: pcrypt - Use the online cpumask as the default\n  padata: Fix cpu hotplug\n  padata: Use the online cpumask as the default\n  padata: Add a reference to the api documentation\n"
    },
    {
      "commit": "deb74f5ca1f22f9e1c5da93143a250dbb96535af",
      "tree": "ee9eb01e5433ea50f3414a469521a4c1cfaccb7a",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928",
        "615399c84d1b8d8d8752629e5e5ab4e5044d6918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:53:24 2012 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux\n\nPull cpumask cleanups from Rusty Russell:\n \"(Somehow forgot to send this out; it\u0027s been sitting in linux-next, and\n  if you don\u0027t want it, it can sit there another cycle)\"\n\nI\u0027m a sucker for things that actually delete lines of code.\n\nFix up trivial conflict in arch/arm/kernel/kprobes.c, where Rusty fixed\na user of \u0026cpu_online_map to be cpu_online_mask, but that code got\ndeleted by commit b21d55e98ac2 (\"ARM: 7332/1: extract out code patch\nfunction from kprobes\").\n\n* tag \u0027for-linus\u0027 of git://github.com/rustyrussell/linux:\n  cpumask: remove old cpu_*_map.\n  documentation: remove references to cpu_*_map.\n  drivers/cpufreq/db8500-cpufreq: remove references to cpu_*_map.\n  remove references to cpu_*_map in arch/\n"
    },
    {
      "commit": "83e3fa6f0193299f8b7180db588edd5ca61a3b82",
      "tree": "bb7298e580619fd3b7923364e3c4cd1e9d341972",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Apr 01 16:38:37 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 02 08:48:04 2012 -0700"
      },
      "message": "irq_work: fix compile failure on MIPS from system.h split\n\nBuilds of the MIPS platform ip32_defconfig fails as of commit\n0195c00244dc (\"Merge tag \u0027split-asm_system_h ...\") because MIPS xchg()\nmacro uses BUILD_BUG_ON and it was moved in commit b81947c646bf\n(\"Disintegrate asm/system.h for MIPS\").\n\nThe root cause is that the system.h split wasn\u0027t tested on a baseline\nwith commit 6c03438edeb5 (\"kernel.h: doesn\u0027t explicitly use bug.h, so\ndon\u0027t include it.\")\n\nSince this file uses BUG code in several other places besides the xchg\ncall, simply make the inclusion explicit.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f22e08a79f3765fecf060b225a46931c94fb0a92",
      "tree": "2f02777e8893d03289ec0a7f5f414f3ff01c8c37",
      "parents": [
        "f187e9fd68577cdd5f914659b6f7f11124e40485",
        "e3831edd59edf57ca11fc289f08961b20baf5146"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:35:31 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n  sched: Fix __schedule_bug() output when called from an interrupt\n  sched/arch: Introduce the finish_arch_post_lock_switch() scheduler callback\n"
    },
    {
      "commit": "f187e9fd68577cdd5f914659b6f7f11124e40485",
      "tree": "ad0e7422359724f7c7ffaaaa80dd3a7281f02a83",
      "parents": [
        "adb3b1f3fc1c6edb501808ebf80a81e81c52eb73",
        "8ebfdf2babcda5a3b06cc67523bca1f9aed46009"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 13:34:04 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates and fixes from Ingo Molnar:\n \"It\u0027s mostly fixes, but there\u0027s also two late items:\n\n   - preliminary GTK GUI support for perf report\n   - PMU raw event format descriptors in sysfs, to be parsed by tooling\n\n  The raw event format in sysfs is a new ABI.  For example for the \u0027CPU\u0027\n  PMU we have:\n\n    aldebaran:~\u003e ll /sys/bus/event_source/devices/cpu/format/*\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/any\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/cmask\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/edge\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/event\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/inv\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/pc\n    -r--r--r--. 1 root root 4096 Mar 31 10:29 /sys/bus/event_source/devices/cpu/format/umask\n\n  those lists of fields contain a specific format:\n\n    aldebaran:~\u003e cat /sys/bus/event_source/devices/cpu/format/offcore_rsp\n    config1:0-63\n\n  So, those who wish to specify raw events can now use the following\n  event format:\n\n    -e cpu/cmask\u003d1,event\u003d2,umask\u003d3\n\n  Most people will not want to specify any events (let alone raw\n  events), they\u0027ll just use whatever default event the tools use.\n\n  But for more obscure PMU events that have no cross-architecture\n  generic events the above syntax is more usable and a bit more\n  structured than specifying hex numbers.\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)\n  perf tools: Remove auto-generated bison/flex files\n  perf annotate: Fix off by one symbol hist size allocation and hit accounting\n  perf tools: Add missing ref-cycles event back to event parser\n  perf annotate: addr2line wants addresses in same format as objdump\n  perf probe: Finder fails to resolve function name to address\n  tracing: Fix ent_size in trace output\n  perf symbols: Handle NULL dso in dso__name_len\n  perf symbols: Do not include libgen.h\n  perf tools: Fix bug in raw sample parsing\n  perf tools: Fix display of first level of callchains\n  perf tools: Switch module.h into export.h\n  perf: Move mmap page data_head offset assertion out of header\n  perf: Fix mmap_page capabilities and docs\n  perf diff: Fix to work with new hists design\n  perf tools: Fix modifier to be applied on correct events\n  perf tools: Fix various casting issues for 32 bits\n  perf tools: Simplify event_read_id exit path\n  tracing: Fix ftrace stack trace entries\n  tracing: Move the tracing_on/off() declarations into CONFIG_TRACING\n  perf report: Add a simple GTK2-based \u0027perf report\u0027 browser\n  ...\n"
    },
    {
      "commit": "3872c48b14259d8c0a00c9fff06a4a4123f7f4eb",
      "tree": "94e5f5c1898896436e9534aa182d8c3aef255826",
      "parents": [
        "cb85a6ed67e979c59a29b7b4e8217e755b951cf4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 31 12:45:43 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 31 12:45:43 2012 +0200"
      },
      "message": "tick: Document TICK_ONESHOT config option\n\nThis option has been selected from arch code as it was assumed that\nit\u0027s necessary to support oneshot mode clockevent devices. But it\u0027s\njust a core internal helper to compile tick-oneshot.c if NOHZ or\nHIG_RES_TIMERS are selected.\n\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e3831edd59edf57ca11fc289f08961b20baf5146",
      "tree": "70dfabd35517a97a1127df573d3770848f697e55",
      "parents": [
        "1f56ee7b68fecd45d25bdcf2eda7507797594424"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Mar 30 19:40:28 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 10:43:36 2012 +0200"
      },
      "message": "sched: Fix incorrect usage of for_each_cpu_mask() in select_fallback_rq()\n\nThe function for_each_cpu_mask() expects a *pointer* to struct\ncpumask as its second argument, whereas select_fallback_rq()\npasses the value itself.\n\nAnd moreover, for_each_cpu_mask() has been marked as obselete\nin include/linux/cpumask.h. So move to the more appropriate\nfor_each_cpu() variant.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Liu Chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: vapier@gentoo.org\nCc: rusty@rustcorp.com.au\nLink: http://lkml.kernel.org/r/4F75BED4.9050005@linux.vnet.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f558c272386a0f7507cc8de7b6b5afc24d17fa9c",
      "tree": "5929476273509cfb26817fc1e06392e56c872e5f",
      "parents": [
        "3a0d1849432461eec1321f8918c6c13497d390c9",
        "f5cb92ac82d06cb583c1f66666314c5c0a4d7913"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull genirq updates from Thomas Gleixner.\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n  genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n  genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n  genirq: Minor readablity improvement in irq_wake_thread()\n"
    },
    {
      "commit": "3a0d1849432461eec1321f8918c6c13497d390c9",
      "tree": "694bafcc856b38ba99eb2172c8c5b061cfa0d529",
      "parents": [
        "623ff7739e7c00fa3d55dbfd42a492a68298fd7a",
        "ec0c4274e33c0373e476b73e01995c53128f1257"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:07:13 2012 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking updates from Thomas Gleixner.\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  futex: Mark get_robust_list as deprecated\n  futex: Do not leak robust list to unprivileged process\n"
    },
    {
      "commit": "f5cb92ac82d06cb583c1f66666314c5c0a4d7913",
      "tree": "3553fcffceda28462137f73f3f81ccccc19c620b",
      "parents": [
        "241fc640be783f903e74b6d9c68481c01873f758"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Mar 30 23:11:33 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 30 23:13:46 2012 +0200"
      },
      "message": "genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n\nirq_move_masked_irq() checks the return code of\nchip-\u003eirq_set_affinity() only for 0, but IRQ_SET_MASK_OK_NOCOPY is\nalso a valid return code, which is there to avoid a redundant copy of\nthe cpumask. But in case of IRQ_SET_MASK_OK_NOCOPY we not only avoid\nthe redundant copy, we also fail to adjust the thread affinity of an\neventually threaded interrupt handler.\n\nHandle IRQ_SET_MASK_OK (\u003d\u003d0) and IRQ_SET_MASK_OK_NOCOPY(\u003d\u003d1) return\nvalues correctly by checking the valid return values seperately.\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Keping Chen \u003cchenkeping@huawei.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1333120296-13563-2-git-send-email-jiang.liu@huawei.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa2bf9bc6414b6972b9e51903c1ce7b1f057aee2",
      "tree": "71bde0e8c10be9e425a5bba631a0fe033ba2245f",
      "parents": [
        "f52b69f86e27903d6896ed5fa7cd280fec8de532"
      ],
      "author": {
        "name": "Sasikantha babu",
        "email": "sasikanth.v19@gmail.com",
        "time": "Wed Mar 21 20:10:54 2012 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 30 15:43:33 2012 +0200"
      },
      "message": "itimer: Schedule silent NULL pointer fixup in setitimer() for removal\n\nsetitimer() should return -EFAULT if called with an invalid pointer\nfor value. The current code excludes a NULL pointer from this rule and\nsilently uses it to stop the timer. This violates the spec.\n\nWarn about user space apps which rely on that feature and schedule it\nfor removal.\n\n[ tglx: Massaged changelog, warn message and Doc entry ]\n\nSigned-off-by: Sasikantha babu \u003csasikanth.v19@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1332340854-26053-1-git-send-email-sasikanth.v19@gmail.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1338631433d8de7cf85b7e8fcf1a389ad89e7a8f",
      "tree": "9877297064899da2ef7f6f50d16d05a1cf2f1719",
      "parents": [
        "4bde23f8751f388867766b0a62ed1ef8b7e01561",
        "8f121918f2e49f852de1acdc5255cc1ef440d85b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 22:33:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 22:33:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull urgent cgroup fix from Tejun Heo:\n \"Commit 61d1d219c4c0 (\u0027cgroup: remove extra calls to\n  find_existing_css_set\u0027) which was part of the rc1 cgroup pull request\n  made writes to the cgroup \"tasks\" file return an uninitialized retval\n  on success which can cause boot failures with systemd.\n\n  The change stayed in linux-next for quite some time but gcc\n  interestingly failed to emit warning about using uninitialized\n  variable and the problem seems to materialize only for certain build\n  combinations (probably depends on register allocation).\n\n  It\u0027s just missing local variable initialization and the fix is trivial\n  \u0026 safe.  As the problem is critical when it materializes, I\u0027m\n  fast-tracking it.  Also included is Li\u0027s email address change in\n  MAINTAINERS.\"\n\n* \u0027for-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: cgroup_attach_task() could return -errno after success\n  cgroup: update MAINTAINERS entry\n"
    },
    {
      "commit": "8f121918f2e49f852de1acdc5255cc1ef440d85b",
      "tree": "552dbbc407189e45b6941cf117b39681dc1f7e40",
      "parents": [
        "ad50c15919e8aca7ea30f9dcf4bac52448c9ab46"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 22:03:33 2012 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Mar 29 22:03:33 2012 -0700"
      },
      "message": "cgroup: cgroup_attach_task() could return -errno after success\n\n61d1d219c4 \"cgroup: remove extra calls to find_existing_css_set\" made\ncgroup_task_migrate() return void.  An unfortunate side effect was\nthat cgroup_attach_task() was depending on that function\u0027s return\nvalue to clear its @retval on the success path.  On cgroup mounts\nwithout any subsystem with -\u003ecan_attach() callback,\ncgroup_attach_task() ended up returning @retval without initializing\nit on success.\n\nFor some reason, gcc failed to warn about it and it didn\u0027t cause\ncgroup_attach_task() to return non-zero value in many cases, probably\ndue to difference in register allocation.  When the problem\nmaterializes, systemd fails to populate /systemd cgroup mount and\nfails to boot.\n\nFix it by initializing @retval to zero on declaration.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nLKML-Reference: \u003calpine.LNX.2.00.1203282354440.25526@pobox.suse.cz\u003e\nReviewed-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: Li Zefan \u003clizefan@huawei.com\u003e\n"
    },
    {
      "commit": "a591afc01d9e48affbacb365558a31e53c85af45",
      "tree": "9bb91f4eb94ec69fc4706c4944788ec5f3586063",
      "parents": [
        "820d41cf0cd0e94a5661e093821e2e5c6b36a9d8",
        "31796ac4e8f0e88f5c10f1ad6dab8f19bebe44a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 18:12:23 2012 -0700"
      },
      "message": "Merge branch \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x32 support for x86-64 from Ingo Molnar:\n \"This tree introduces the X32 binary format and execution mode for x86:\n  32-bit data space binaries using 64-bit instructions and 64-bit kernel\n  syscalls.\n\n  This allows applications whose working set fits into a 32 bits address\n  space to make use of 64-bit instructions while using a 32-bit address\n  space with shorter pointers, more compressed data structures, etc.\"\n\nFix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}\n\n* \u0027x86-x32-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)\n  x32: Fix alignment fail in struct compat_siginfo\n  x32: Fix stupid ia32/x32 inversion in the siginfo format\n  x32: Add ptrace for x32\n  x32: Switch to a 64-bit clock_t\n  x32: Provide separate is_ia32_task() and is_x32_task() predicates\n  x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls\n  x86/x32: Fix the binutils auto-detect\n  x32: Warn and disable rather than error if binutils too old\n  x32: Only clear TIF_X32 flag once\n  x32: Make sure TS_COMPAT is cleared for x32 tasks\n  fs: Remove missed -\u003efds_bits from cessation use of fd_set structs internally\n  fs: Fix close_on_exec pointer in alloc_fdtable\n  x32: Drop non-__vdso weak symbols from the x32 VDSO\n  x32: Fix coding style violations in the x32 VDSO code\n  x32: Add x32 VDSO support\n  x32: Allow x32 to be configured\n  x32: If configured, add x32 system calls to system call tables\n  x32: Handle process creation\n  x32: Signal-related system calls\n  x86: Add #ifdef CONFIG_COMPAT to \u003casm/sys_ia32.h\u003e\n  ...\n"
    },
    {
      "commit": "12679a2d7e3bfbdc7586e3e86d1ca90c46659363",
      "tree": "d9c00f2e599d1c3e04a349229a6a19906d01f99e",
      "parents": [
        "1c036588772d01655d851f75dffc27c971e072e2",
        "b0df89868006517417251e02cc4ce5d4b0165885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull more ARM updates from Russell King.\n\nThis got a fair number of conflicts with the \u003casm/system.h\u003e split, but\nalso with some other sparse-irq and header file include cleanups.  They\nall looked pretty trivial, though.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (59 commits)\n  ARM: fix Kconfig warning for HAVE_BPF_JIT\n  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds\n  ARM: 7349/1: integrator: convert to sparse irqs\n  ARM: 7259/3: net: JIT compiler for packet filters\n  ARM: 7334/1: add jump label support\n  ARM: 7333/2: jump label: detect %c support for ARM\n  ARM: 7338/1: add support for early console output via semihosting\n  ARM: use set_current_blocked() and block_sigmask()\n  ARM: exec: remove redundant set_fs(USER_DS)\n  ARM: 7332/1: extract out code patch function from kprobes\n  ARM: 7331/1: extract out insn generation code from ftrace\n  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format\n  ARM: 7351/1: ftrace: remove useless memory checks\n  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path\n  ARM: Versatile Express: add NO_IOPORT\n  ARM: get rid of asm/irq.h in asm/prom.h\n  ARM: 7319/1: Print debug info for SIGBUS in user faults\n  ARM: 7318/1: gic: refactor irq_start assignment\n  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop\n  ARM: 7315/1: perf: add support for the Cortex-A7 PMU\n  ...\n"
    },
    {
      "commit": "98b54aa1a2241b59372468bd1e9c2d207bdba54b",
      "tree": "0a6cc3bc8426434a176e0fcb3c2da23d383a5a3b",
      "parents": [
        "23bbd8e346f1ef3fc1219c79cea53d8d52b207d8"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Mar 21 10:17:03 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:25 2012 -0500"
      },
      "message": "kgdb,debug_core: pass the breakpoint struct instead of address and memory\n\nThere is extra state information that needs to be exposed in the\nkgdb_bpt structure for tracking how a breakpoint was installed.  The\ndebug_core only uses the the probe_kernel_write() to install\nbreakpoints, but this is not enough for all the archs.  Some arch such\nas x86 need to use text_poke() in order to install a breakpoint into a\nread only page.\n\nPassing the kgdb_bpt structure to kgdb_arch_set_breakpoint() and\nkgdb_arch_remove_breakpoint() allows other archs to set the type\nvariable which indicates how the breakpoint was installed.\n\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.36\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "78724b8ef83fc2bcfbc0a72a7ad8a3ce5ad25e6a",
      "tree": "f1f9bfae9d197765d361779a458aa1dfdb135193",
      "parents": [
        "1ba0c1720eb0de2d0f3abf84c0b128d10af520d1"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 06:17:17 2012 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Mar 29 17:41:23 2012 -0500"
      },
      "message": "kdb: Fix smatch warning on dbg_io_ops-\u003eis_console\n\nThe Smatch tool warned that the change from commit b8adde8dd\n(kdb: Avoid using dbg_io_ops until it is initialized) should\nadd another null check later in the kdb_printf().\n\nIt is worth noting that the second use of dbg_io_ops-\u003eis_console\nis protected by the KDB_PAGER state variable which would only\nget set when kdb is fully active and initialized.  If we\never encounter changes or defects in the KDB_PAGER state\nwe do not want to crash the kernel in a kdb_printf/printk.\n\nCC: Tim Bird \u003ctim.bird@am.sony.com\u003e\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "7fda0412c5f7afdd1a5ff518f98dee5157266d8a",
      "tree": "d312af46758fa9b59431a479d258b54184a00591",
      "parents": [
        "6b8212a313dae341ef3a2e413dfec5c4dea59617",
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:46:05 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cpusets: Remove an unused variable\n  sched/rt: Improve pick_next_highest_task_rt()\n  sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n  sched/x86/smp: Do not enable IRQs over calibrate_delay()\n  sched: Fix compiler warning about declared inline after use\n  MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS\n"
    },
    {
      "commit": "6b8212a313dae341ef3a2e413dfec5c4dea59617",
      "tree": "bbca09d88f61f999c7714fe82710bdfe6ee0e98b",
      "parents": [
        "bcd550745fc54f789c14e7526e0633222c505faa",
        "8abc3122aa02567bfe626cd13f4d34853c9b1225"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:28:26 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 updates from Ingo Molnar.\n\nThis touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK\nconfig usage.\n\nFixed up trivial conflicts due to just header include changes (removing\nheaders due to cpu_idle() merge clashing with the \u003casm/system.h\u003e split).\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/apic/amd: Be more verbose about LVT offset assignments\n  x86, tls: Off by one limit check\n  x86/ioapic: Add io_apic_ops driver layer to allow interception\n  x86/olpc: Add debugfs interface for EC commands\n  x86: Merge the x86_32 and x86_64 cpu_idle() functions\n  x86/kconfig: Remove CONFIG_TR\u003dy from the defconfigs\n  x86: Stop recursive fault in print_context_stack after stack overflow\n  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ\u003dy\n  x86/apic: Add separate apic_id_valid() functions for selected apic drivers\n  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage\n  x86/kconfig: Update defconfigs\n  x86: Fix excessive MSR print out when show_msr is not specified\n"
    },
    {
      "commit": "bcd550745fc54f789c14e7526e0633222c505faa",
      "tree": "c3fe11a6503b7ffdd4406a9fece5c40b3e2a3f6d",
      "parents": [
        "93f378883cecb9dcb2cf5b51d9d24175906659da",
        "646783a389828e76e813f50791f7999429c821bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ia64: vsyscall: Add missing paranthesis\n  alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n  x86: vdso: Put declaration before code\n  x86-64: Inline vdso clock_gettime helpers\n  x86-64: Simplify and optimize vdso clock_gettime monotonic variants\n  kernel-time: fix s/then/than/ spelling errors\n  time: remove no_sync_cmos_clock\n  time: Avoid scary backtraces when warning of \u003e 11% adj\n  alarmtimer: Make sure we initialize the rtctimer\n  ntp: Fix leap-second hrtimer livelock\n  x86, tsc: Skip refined tsc calibration on systems with reliable TSC\n  rtc: Provide flag for rtc devices that don\u0027t support UIE\n  ia64: vsyscall: Use seqcount instead of seqlock\n  x86: vdso: Use seqcount instead of seqlock\n  x86: vdso: Remove bogus locking in update_vsyscall_tz()\n  time: Remove bogus comments\n  time: Fix change_clocksource locking\n  time: x86: Fix race switching from vsyscall to non-vsyscall clock\n"
    },
    {
      "commit": "092b2fb0766e7a0bf2e50d9cdd7d3b6bb5d12e19",
      "tree": "dafeb26d9e12262c602469a2bc7e5484ab1ce188",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:10:30 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:31:02 2012 -0600"
      },
      "message": "irqdomain: Remove powerpc dependency from debugfs file\n\nThe debugfs code is really generic for all platforms.  This patch removes the\npowerpc-specific directory reference and makes it available to all\narchitectures.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9612090527526a15832480c48b1f4b39e93e8a35",
      "tree": "d34a4459c33251ed9dbcb395eb41dce790b9b75e",
      "parents": [
        "13614e0fb1a8840c134be35c179ff23e23676304"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:44:07 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:46 2012 +0800"
      },
      "message": "padata: Fix cpu hotplug\n\nWe don\u0027t remove the cpu that went offline from our cpumasks\non cpu hotplug. This got lost somewhere along the line, so\nrestore it. This fixes a hang of the padata instance on cpu\nhotplug.\n\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "13614e0fb1a8840c134be35c179ff23e23676304",
      "tree": "e9fb16b0d3840562ebe5b5a8f2eb6e37f9e26a8d",
      "parents": [
        "107f8bdac992356b3a80d41c9f6ff4399159aa81"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:43:21 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:46 2012 +0800"
      },
      "message": "padata: Use the online cpumask as the default\n\nWe use the active cpumask to determine the superset of cpus\nto use for parallelization. However, the active cpumask is\nfor internal usage of the scheduler and therefore not the\nappropriate cpumask for these purposes. So use the online\ncpumask instead.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "107f8bdac992356b3a80d41c9f6ff4399159aa81",
      "tree": "7eae814e5a38514d12aea5aba0896cb6cf40697e",
      "parents": [
        "6a76a6992341faab0ef31e7d97000e0cf336d0ba"
      ],
      "author": {
        "name": "Steffen Klassert",
        "email": "steffen.klassert@secunet.com",
        "time": "Wed Mar 28 08:42:34 2012 +0200"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Mar 29 19:52:45 2012 +0800"
      },
      "message": "padata: Add a reference to the api documentation\n\nAdd a reference to the padata api documentation at Documentation/padata.txt\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1f56ee7b68fecd45d25bdcf2eda7507797594424",
      "tree": "782ec71491cdfb0ce5d5117428be6c3af7070207",
      "parents": [
        "6135fc1eb4b1c9ae5f535507ed59591bab51e630",
        "01f23e1630d944f7085cd8fd5793e31ea91c03d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 12:48:15 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 12:48:22 2012 +0200"
      },
      "message": "Merge branch \u0027sched/arch\u0027 into sched/urgent\n\nMerge reason: It has not gone upstream via the ARM tree, merge it via\n              the scheduler tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec0c4274e33c0373e476b73e01995c53128f1257",
      "tree": "9a73585bde46f22b3896191efe57393d19966b32",
      "parents": [
        "bdbb776f882f5ad431aa1e694c69c1c3d6a4a5b8"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Mar 23 12:08:55 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:37:17 2012 +0200"
      },
      "message": "futex: Mark get_robust_list as deprecated\n\nNotify get_robust_list users that the syscall is going away.\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: kernel-hardening@lists.openwall.com\nCc: spender@grsecurity.net\nLink: http://lkml.kernel.org/r/20120323190855.GA27213@www.outflux.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bdbb776f882f5ad431aa1e694c69c1c3d6a4a5b8",
      "tree": "854b6b5869857d40a02d21bb51b375812bdb2ed0",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Mar 19 16:12:53 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:37:17 2012 +0200"
      },
      "message": "futex: Do not leak robust list to unprivileged process\n\nIt was possible to extract the robust list head address from a setuid\nprocess if it had used set_robust_list(), allowing an ASLR info leak. This\nchanges the permission checks to be the same as those used for similar\ninfo that comes out of /proc.\n\nRunning a setuid program that uses robust futexes would have had:\n  cred-\u003eeuid !\u003d pcred-\u003eeuid\n  cred-\u003eeuid \u003d\u003d pcred-\u003euid\nso the old permissions check would allow it. I\u0027m not aware of any setuid\nprograms that use robust futexes, so this is just a preventative measure.\n\n(This patch is based on changes from grsecurity.)\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Darren Hart \u003cdvhart@linux.intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: kernel-hardening@lists.openwall.com\nCc: spender@grsecurity.net\nLink: http://lkml.kernel.org/r/20120319231253.GA20893@www.outflux.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "241fc640be783f903e74b6d9c68481c01873f758",
      "tree": "253793b9f94721554c3aa2b286ca27052b3390e8",
      "parents": [
        "f3f79e38d51f8a419f4c484a86ece4baea35b993"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Mon Mar 26 15:02:18 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n\nWe respect node affinity of devices already in the irq descriptor\nallocation, but we ignore it for the initial interrupt affinity\nsetup, so the interrupt might be routed to a different node.\n\nRestrict the default affinity mask to the node on which the irq\ndescriptor is allocated.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1332788538-17425-1-git-send-email-prarit@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3f79e38d51f8a419f4c484a86ece4baea35b993",
      "tree": "ea1bd43fbd35efcf914b1717f7eca605478670a9",
      "parents": [
        "69592db298e400a7c175c4dfbe7a086c783f349d"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:35 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n\nThe only place irq_finalize_oneshot() is called with force parameter set\nis the threaded handler error exit path. But IRQTF_RUNTHREAD is dropped\nat this point and irq_wake_thread() is not going to set it again,\nsince PF_EXITING is set for this thread already. So irq_finalize_oneshot()\nwill drop the threads bit in threads_oneshot anyway and hence the force\nparameter is superfluous.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162234.GP24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "69592db298e400a7c175c4dfbe7a086c783f349d",
      "tree": "cd6b3b24af6996612331ebf8cd9fb749c2d19f24",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:13 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:52 2012 +0200"
      },
      "message": "genirq: Minor readablity improvement in irq_wake_thread()\n\nexit_irq_thread() clears IRQTF_RUNTHREAD flag and drops the thread\u0027s bit in\ndesc-\u003ethreads_oneshot then. The bit must not be set again in between and it\ndoes not, since irq_wake_thread() sees PF_EXITING flag first and returns.\n\nDue to above the order or checking PF_EXITING and IRQTF_RUNTHREAD flags in\nirq_wake_thread() is important. This change just makes it more visible in the\nsource code.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162212.GO24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6135fc1eb4b1c9ae5f535507ed59591bab51e630",
      "tree": "d77513f138b94550b27394c907e9caf9f3d990a9",
      "parents": [
        "160594e99dbbb0a5600ad922c630952c7c1c14bf"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Mar 28 17:10:47 2012 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 29 08:34:45 2012 +0200"
      },
      "message": "sched: Fix __schedule_bug() output when called from an interrupt\n\nIf schedule is called from an interrupt handler __schedule_bug()\nwill call show_regs() with the registers saved during the\ninterrupt handling done in do_IRQ(). This means we\u0027ll see the\nregisters and the backtrace for the process that was interrupted\nand not the full backtrace explaining who called schedule().\n\nThis is due to 838225b (\"sched: use show_regs() to improve\n__schedule_bug() output\", 2007-10-24) which improperly assumed\nthat get_irq_regs() would return the registers for the current\nstack because it is being called from within an interrupt\nhandler. Simply remove the show_reg() code so that we dump a\nbacktrace for the interrupt handler that called schedule().\n\n[ I ran across this when I was presented with a scheduling while\n  atomic log with a stacktrace pointing at spin_unlock_irqrestore().\n  It made no sense and I had to guess what interrupt handler could\n  be called and poke around for someone calling schedule() in an\n  interrupt handler. A simple test of putting an msleep() in\n  an interrupt handler works better with this patch because you\n  can actually see the msleep() call in the backtrace. ]\n\nAlso-reported-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Satyam Sharma \u003csatyam@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1332979847-27102-1-git-send-email-sboyd@codeaurora.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5f054e31c63be774bf1ce252f20d56012a00f8a5",
      "tree": "c10cf544a46e55cbf9d0b978e61327bb256c4bae",
      "parents": [
        "88d8cd52bc9dd7696617b31ea91263d6c47f22e4"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Mar 29 15:38:31 2012 +1030"
      },
      "message": "documentation: remove references to cpu_*_map.\n\nThis has been obsolescent for a while, fix documentation and\nmisc comments.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "532bfc851a7475fb6a36c1e953aa395798a7cca7",
      "tree": "a7892e5a31330dd59f31959efbe9fda1803784fd",
      "parents": [
        "0195c00244dc2e9f522475868fa278c473ba7339",
        "8da00edc1069f01c34510fa405dc15d96c090a3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:19:28 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge third batch of patches from Andrew Morton:\n - Some MM stragglers\n - core SMP library cleanups (on_each_cpu_mask)\n - Some IPI optimisations\n - kexec\n - kdump\n - IPMI\n - the radix-tree iterator work\n - various other misc bits.\n\n \"That\u0027ll do for -rc1.  I still have ~10 patches for 3.4, will send\n  those along when they\u0027ve baked a little more.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (35 commits)\n  backlight: fix typo in tosa_lcd.c\n  crc32: add help text for the algorithm select option\n  mm: move hugepage test examples to tools/testing/selftests/vm\n  mm: move slabinfo.c to tools/vm\n  mm: move page-types.c from Documentation to tools/vm\n  selftests/Makefile: make `run_tests\u0027 depend on `all\u0027\n  selftests: launch individual selftests from the main Makefile\n  radix-tree: use iterators in find_get_pages* functions\n  radix-tree: rewrite gang lookup using iterator\n  radix-tree: introduce bit-optimized iterator\n  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty\n  nbd: rename the nbd_device variable from lo to nbd\n  pidns: add reboot_pid_ns() to handle the reboot syscall\n  sysctl: use bitmap library functions\n  ipmi: use locks on watchdog timeout set on reboot\n  ipmi: simplify locking\n  ipmi: fix message handling during panics\n  ipmi: use a tasklet for handling received messages\n  ipmi: increase KCS timeouts\n  ipmi: decrease the IPMI message transaction time in interrupt mode\n  ...\n"
    },
    {
      "commit": "cf3f89214ef6a33fad60856bc5ffd7bb2fc4709b",
      "tree": "d6f5d7eb93bad10cd146a737a3a72e3459ec3e61",
      "parents": [
        "5a04cca6c39cdd0b8c75b0628da634248f381b62"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Mar 28 14:42:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "pidns: add reboot_pid_ns() to handle the reboot syscall\n\nIn the case of a child pid namespace, rebooting the system does not really\nmakes sense.  When the pid namespace is used in conjunction with the other\nnamespaces in order to create a linux container, the reboot syscall leads\nto some problems.\n\nA container can reboot the host.  That can be fixed by dropping the\nsys_reboot capability but we are unable to correctly to poweroff/\nhalt/reboot a container and the container stays stuck at the shutdown time\nwith the container\u0027s init process waiting indefinitively.\n\nAfter several attempts, no solution from userspace was found to reliabily\nhandle the shutdown from a container.\n\nThis patch propose to make the init process of the child pid namespace to\nexit with a signal status set to : SIGINT if the child pid namespace\ncalled \"halt/poweroff\" and SIGHUP if the child pid namespace called\n\"reboot\".  When the reboot syscall is called and we are not in the initial\npid namespace, we kill the pid namespace for \"HALT\", \"POWEROFF\",\n\"RESTART\", and \"RESTART2\".  Otherwise we return EINVAL.\n\nReturning EINVAL is also an easy way to check if this feature is supported\nby the kernel when invoking another \u0027reboot\u0027 option like CAD.\n\nBy this way the parent process of the child pid namespace knows if it\nrebooted or not and can take the right decision.\n\nTest case:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n#include \u003calloca.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003csched.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csignal.h\u003e\n#include \u003csys/reboot.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n\n#include \u003clinux/reboot.h\u003e\n\nstatic int do_reboot(void *arg)\n{\n        int *cmd \u003d arg;\n\n        if (reboot(*cmd))\n                printf(\"failed to reboot(%d): %m\\n\", *cmd);\n}\n\nint test_reboot(int cmd, int sig)\n{\n        long stack_size \u003d 4096;\n        void *stack \u003d alloca(stack_size) + stack_size;\n        int status;\n        pid_t ret;\n\n        ret \u003d clone(do_reboot, stack, CLONE_NEWPID | SIGCHLD, \u0026cmd);\n        if (ret \u003c 0) {\n                printf(\"failed to clone: %m\\n\");\n                return -1;\n        }\n\n        if (wait(\u0026status) \u003c 0) {\n                printf(\"unexpected wait error: %m\\n\");\n                return -1;\n        }\n\n        if (!WIFSIGNALED(status)) {\n                printf(\"child process exited but was not signaled\\n\");\n                return -1;\n        }\n\n        if (WTERMSIG(status) !\u003d sig) {\n                printf(\"signal termination is not the one expected\\n\");\n                return -1;\n        }\n\n        return 0;\n}\n\nint main(int argc, char *argv[])\n{\n        int status;\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_RESTART2, SIGHUP);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_RESTART2) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_HALT, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_HALT) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_POWER_OFF, SIGINT);\n        if (status \u003c 0)\n                return 1;\n        printf(\"reboot(LINUX_REBOOT_CMD_POWERR_OFF) succeed\\n\");\n\n        status \u003d test_reboot(LINUX_REBOOT_CMD_CAD_ON, -1);\n        if (status \u003e\u003d 0) {\n                printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) should have failed\\n\");\n                return 1;\n        }\n        printf(\"reboot(LINUX_REBOOT_CMD_CAD_ON) has failed as expected\\n\");\n\n        return 0;\n}\n\n[akpm@linux-foundation.org: tweak and add comments]\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nTested-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a04cca6c39cdd0b8c75b0628da634248f381b62",
      "tree": "3bb72a3fb05be731f19e97b48d1744783747f43b",
      "parents": [
        "423a5bb49ec530ec8bbfc73fd2ded83da8e58684"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 28 14:42:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "sysctl: use bitmap library functions\n\nUse bitmap_set() instead of using set_bit() for each bit.  This conversion\nis valid because the bitmap is private in the function call and atomic\nbitops were unnecessary.\n\nThis also includes minor change.\n- Use bitmap_copy() for shorter typing\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaa3be6add6f327ab0a633e4fee8e6f2cc8c8a4c",
      "tree": "033e1ac064eb855369246404dd1603b41eb64d27",
      "parents": [
        "d034cfab4f7b9e768c5c1caaa56c5bd4805d2b92"
      ],
      "author": {
        "name": "Zhenzhong Duan",
        "email": "zhenzhong.duan@oracle.com",
        "time": "Wed Mar 28 14:42:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "kexec: add further check to crashkernel\n\nWhen using crashkernel\u003d2M-256M, the kernel doesn\u0027t give any warning.  This\nis misleading sometimes.\n\nSigned-off-by: Zhenzhong Duan \u003czhenzhong.duan@oracle.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d034cfab4f7b9e768c5c1caaa56c5bd4805d2b92",
      "tree": "dd696a4873b3c6207d5818c91bbc92771f0e5d4d",
      "parents": [
        "7d7f98488b203cbf78538698cf5d937f670d96d3"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Wed Mar 28 14:42:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:36 2012 -0700"
      },
      "message": "kexec: crash: don\u0027t save swapper_pg_dir for !CONFIG_MMU configurations\n\nnommu platforms don\u0027t have very interesting swapper_pg_dir pointers and\nusually just #define them to NULL, meaning that we can\u0027t include them in\nthe vmcoreinfo on the kexec crash path.\n\nThis patch only saves the swapper_pg_dir if we have an MMU.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReviewed-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a7e98e024ffa9f7e4554dd720c508015c4a831",
      "tree": "50c09e1a47418ba4bb55b11f756bf4d99cf76123",
      "parents": [
        "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: add func to IPI cpus based on parameter func\n\nAdd the on_each_cpu_cond() function that wraps on_each_cpu_mask() and\ncalculates the cpumask of cpus to IPI by calling a function supplied as a\nparameter in order to determine whether to IPI each specific cpu.\n\nThe function works around allocation failure of cpumask variable in\nCONFIG_CPUMASK_OFFSTACK\u003dy by itereating over cpus sending an IPI a time\nvia smp_call_function_single().\n\nThe function is useful since it allows to seperate the specific code that\ndecided in each case whether to IPI a specific cpu for a specific request\nfrom the common boilerplate code of handling creating the mask, handling\nfailures etc.\n\n[akpm@linux-foundation.org: s/gfpflags/gfp_flags/]\n[akpm@linux-foundation.org: avoid double-evaluation of `info\u0027 (per Michal), parenthesise evaluation of `cond_func\u0027]\n[akpm@linux-foundation.org: s/CPU/CPUs, use all 80 cols in comment]\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nReviewed-by: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fc498f165304dc913f1d13b5ac9ab4c758ee7ab",
      "tree": "c8c23d2255151d593383e3e3e62900073c6afd78",
      "parents": [
        "d15cab975459fb6092eeba1be72c13621337784f"
      ],
      "author": {
        "name": "Gilad Ben-Yossef",
        "email": "gilad@benyossef.com",
        "time": "Wed Mar 28 14:42:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 17:14:35 2012 -0700"
      },
      "message": "smp: introduce a generic on_each_cpu_mask() function\n\nWe have lots of infrastructure in place to partition multi-core systems\nsuch that we have a group of CPUs that are dedicated to specific task:\ncgroups, scheduler and interrupt affinity, and cpuisol\u003d boot parameter.\nStill, kernel code will at times interrupt all CPUs in the system via IPIs\nfor various needs.  These IPIs are useful and cannot be avoided\naltogether, but in certain cases it is possible to interrupt only specific\nCPUs that have useful work to do and not the entire system.\n\nThis patch set, inspired by discussions with Peter Zijlstra and Frederic\nWeisbecker when testing the nohz task patch set, is a first stab at trying\nto explore doing this by locating the places where such global IPI calls\nare being made and turning the global IPI into an IPI for a specific group\nof CPUs.  The purpose of the patch set is to get feedback if this is the\nright way to go for dealing with this issue and indeed, if the issue is\neven worth dealing with at all.  Based on the feedback from this patch set\nI plan to offer further patches that address similar issue in other code\npaths.\n\nThis patch creates an on_each_cpu_mask() and on_each_cpu_cond()\ninfrastructure API (the former derived from existing arch specific\nversions in Tile and Arm) and uses them to turn several global IPI\ninvocation to per CPU group invocations.\n\nCore kernel:\n\non_each_cpu_mask() calls a function on processors specified by cpumask,\nwhich may or may not include the local processor.\n\nYou must not call this function with disabled interrupts or from a\nhardware interrupt handler or from a bottom half handler.\n\narch/arm:\n\nNote that the generic version is a little different then the Arm one:\n\n1. It has the mask as first parameter\n2. It calls the function on the calling CPU with interrupts disabled,\n   but this should be OK since the function is called on the other CPUs\n   with interrupts disabled anyway.\n\narch/tile:\n\nThe API is the same as the tile private one, but the generic version\nalso calls the function on the with interrupts disabled in UP case\n\nThis is OK since the function is called on the other CPUs\nwith interrupts disabled.\n\nSigned-off-by: Gilad Ben-Yossef \u003cgilad@benyossef.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nAcked-by: Michal Nazarewicz \u003cmina86@mina86.org\u003e\nCc: Kosaki Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0195c00244dc2e9f522475868fa278c473ba7339",
      "tree": "f97ca98ae64ede2c33ad3de05ed7bbfa4f4495ed",
      "parents": [
        "f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5",
        "141124c02059eee9dbc5c86ea797b1ca888e77f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 28 15:58:21 2012 -0700"
      },
      "message": "Merge tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system\n\nPull \"Disintegrate and delete asm/system.h\" from David Howells:\n \"Here are a bunch of patches to disintegrate asm/system.h into a set of\n  separate bits to relieve the problem of circular inclusion\n  dependencies.\n\n  I\u0027ve built all the working defconfigs from all the arches that I can\n  and made sure that they don\u0027t break.\n\n  The reason for these patches is that I recently encountered a circular\n  dependency problem that came about when I produced some patches to\n  optimise get_order() by rewriting it to use ilog2().\n\n  This uses bitops - and on the SH arch asm/bitops.h drags in\n  asm-generic/get_order.h by a circuituous route involving asm/system.h.\n\n  The main difficulty seems to be asm/system.h.  It holds a number of\n  low level bits with no/few dependencies that are commonly used (eg.\n  memory barriers) and a number of bits with more dependencies that\n  aren\u0027t used in many places (eg.  switch_to()).\n\n  These patches break asm/system.h up into the following core pieces:\n\n    (1) asm/barrier.h\n\n        Move memory barriers here.  This already done for MIPS and Alpha.\n\n    (2) asm/switch_to.h\n\n        Move switch_to() and related stuff here.\n\n    (3) asm/exec.h\n\n        Move arch_align_stack() here.  Other process execution related bits\n        could perhaps go here from asm/processor.h.\n\n    (4) asm/cmpxchg.h\n\n        Move xchg() and cmpxchg() here as they\u0027re full word atomic ops and\n        frequently used by atomic_xchg() and atomic_cmpxchg().\n\n    (5) asm/bug.h\n\n        Move die() and related bits.\n\n    (6) asm/auxvec.h\n\n        Move AT_VECTOR_SIZE_ARCH here.\n\n  Other arch headers are created as needed on a per-arch basis.\"\n\nFixed up some conflicts from other header file cleanups and moving code\naround that has happened in the meantime, so David\u0027s testing is somewhat\nweakened by that.  We\u0027ll find out anything that got broken and fix it..\n\n* tag \u0027split-asm_system_h-for-linus-20120328\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)\n  Delete all instances of asm/system.h\n  Remove all #inclusions of asm/system.h\n  Add #includes needed to permit the removal of asm/system.h\n  Move all declarations of free_initmem() to linux/mm.h\n  Disintegrate asm/system.h for OpenRISC\n  Split arch_align_stack() out from asm-generic/system.h\n  Split the switch_to() wrapper out of asm-generic/system.h\n  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h\n  Create asm-generic/barrier.h\n  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h\n  Disintegrate asm/system.h for Xtensa\n  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]\n  Disintegrate asm/system.h for Tile\n  Disintegrate asm/system.h for Sparc\n  Disintegrate asm/system.h for SH\n  Disintegrate asm/system.h for Score\n  Disintegrate asm/system.h for S390\n  Disintegrate asm/system.h for PowerPC\n  Disintegrate asm/system.h for PA-RISC\n  Disintegrate asm/system.h for MN10300\n  ...\n"
    },
    {
      "commit": "c4772d192c70b61d52262b0db76f7abd8aeb51c6",
      "tree": "843ed935b04ed2e2ea8abbafa04f65132f47ba5a",
      "parents": [
        "a36cf844c543c6193445a7b1492d16e5a8cf376e"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Wed Mar 28 23:31:24 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:31:24 2012 +0200"
      },
      "message": "PM / QoS: add pm_qos_update_request_timeout() API\n\nThe new API, pm_qos_update_request_timeout() is to provide a timeout\nwith pm_qos_update_request.\n\nFor example, pm_qos_update_request_timeout(req, 100, 1000), means that\nQoS request on req with value 100 will be active for 1000 microseconds.\nAfter 1000 microseconds, the QoS request thru req is reset. If there\nwere another pm_qos_update_request(req, x) during the 1000 us, this\nnew request with value x will override as this is another request on the\nsame req handle. A new request on the same req handle will always\noverride the previous request whether it is the conventional request or\nit is the new timeout request.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mark Gross \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "247bc03742545fec2f79939a3b9f738392a0f7b4",
      "tree": "ea07ff0b82da841ba89968d360d7c2560ae740b4",
      "parents": [
        "1e73203cd1157a03facc41ffb54050f5b28e55bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:28 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:28 2012 +0200"
      },
      "message": "PM / Sleep: Mitigate race between the freezer and request_firmware()\n\nThere is a race condition between the freezer and request_firmware()\nsuch that if request_firmware() is run on one CPU and\nfreeze_processes() is run on another CPU and usermodehelper_disable()\ncalled by it succeeds to grab umhelper_sem for writing before\nusermodehelper_read_trylock() called from request_firmware()\nacquires it for reading, the request_firmware() will fail and\ntrigger a WARN_ON() complaining that it was called at a wrong time.\nHowever, in fact, it wasn\u0027t called at a wrong time and\nfreeze_processes() simply happened to be executed simultaneously.\n\nTo avoid this race, at least in some cases, modify\nusermodehelper_read_trylock() so that it doesn\u0027t fail if the\nfreezing of tasks has just started and hasn\u0027t been completed yet.\nInstead, during the freezing of tasks, it will try to freeze the\ntask that has called it so that it can wait until user space is\nthawed without triggering the scary warning.\n\nFor this purpose, change usermodehelper_disabled so that it can\ntake three different values, UMH_ENABLED (0), UMH_FREEZING and\nUMH_DISABLED.  The first one means that usermode helpers are\nenabled, the last one means \"hard disable\" (i.e. the system is not\nready for usermode helpers to be used) and the second one\nis reserved for the freezer.  Namely, when freeze_processes() is\nstarted, it sets usermodehelper_disabled to UMH_FREEZING which\ntells usermodehelper_read_trylock() that it shouldn\u0027t fail just\nyet and should call try_to_freeze() if woken up and cannot\nreturn immediately.  This way all freezable tasks that happen\nto call request_firmware() right before freeze_processes() is\nstarted and lose the race for umhelper_sem with it will be\nfrozen and will sleep until thaw_processes() unsets\nusermodehelper_disabled.  [For the non-freezable callers of\nrequest_firmware() the race for umhelper_sem against\nfreeze_processes() is unfortunately unavoidable.]\n\nReported-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "1e73203cd1157a03facc41ffb54050f5b28e55bd",
      "tree": "12781ea69aa706291949bb1a10141a8a043e09d9",
      "parents": [
        "7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:21 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:21 2012 +0200"
      },
      "message": "PM / Sleep: Move disabling of usermode helpers to the freezer\n\nThe core suspend/hibernation code calls usermodehelper_disable() to\navoid race conditions between the freezer and the starting of\nusermode helpers and each code path has to do that on its own.\nHowever, it is always called right before freeze_processes()\nand usermodehelper_enable() is always called right after\nthaw_processes().  For this reason, to avoid code duplication and\nto make the connection between usermodehelper_disable() and the\nfreezer more visible, make freeze_processes() call it and remove the\ndirect usermodehelper_disable() and usermodehelper_enable() calls\nfrom all suspend/hibernation code paths.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "7b5179ac14dbad945647ac9e76bbbf14ed9e0dbe",
      "tree": "39213e51f3a19f3198929456f8ab4210a906674d",
      "parents": [
        "9b78c1da60b3c62ccdd1509f0902ad19ceaf776b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:14 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:14 2012 +0200"
      },
      "message": "PM / Hibernate: Disable usermode helpers right before freezing tasks\n\nThere is no reason to call usermodehelper_disable() before creating\nmemory bitmaps in hibernate() and software_resume(), so call it right\nbefore freeze_processes(), in accordance with the other suspend and\nhibernation code.  Consequently, call usermodehelper_enable() right\nafter the thawing of tasks rather than after freeing the memory\nbitmaps.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "9b78c1da60b3c62ccdd1509f0902ad19ceaf776b",
      "tree": "1e662bb29f04c2b875207d907db917476ddce60b",
      "parents": [
        "811fa4004485dec8977176bf605a5b0508ee206c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:02 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:30:02 2012 +0200"
      },
      "message": "firmware_class: Do not warn that system is not ready from async loads\n\nIf firmware is requested asynchronously, by calling\nrequest_firmware_nowait(), there is no reason to fail the request\n(and warn the user) when the system is (presumably temporarily)\nunready to handle it (because user space is not available yet or\nfrozen).  For this reason, introduce an alternative routine for\nread-locking umhelper_sem, usermodehelper_read_lock_wait(), that\nwill wait for usermodehelper_disabled to be unset (possibly with\na timeout) and make request_firmware_work_func() use it instead of\nusermodehelper_read_trylock().\n\nAccordingly, modify request_firmware() so that it uses\nusermodehelper_read_trylock() to acquire umhelper_sem and remove\nthe code related to that lock from _request_firmware().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "fe2e39d8782d885755139304d8dba0b3e5bfa878",
      "tree": "200fb998fe94b9ccd93d07c59656b8f5ab62c5d7",
      "parents": [
        "9a4768d849d28a79566aa37de19b9852d2da8ec4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:45 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 28 23:29:45 2012 +0200"
      },
      "message": "firmware_class: Rework usermodehelper check\n\nInstead of two functions, read_lock_usermodehelper() and\nusermodehelper_is_disabled(), used in combination, introduce\nusermodehelper_read_trylock() that will only return with umhelper_sem\nheld if usermodehelper_disabled is unset (and will return -EAGAIN\notherwise) and make _request_firmware() use it.\n\nRename read_unlock_usermodehelper() to\nusermodehelper_read_unlock() to follow the naming convention of the\nnew function.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae",
      "tree": "c109d45d3fb8ccad461cfe6d9a4aa4d6005b38e1",
      "parents": [
        "49a7f04a4b9d45cd794741ce3d5d66524b37bdd0"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Add #includes needed to permit the removal of asm/system.h\n\nasm/system.h is a cause of circular dependency problems because it contains\ncommonly used primitive stuff like barrier definitions and uncommonly used\nstuff like switch_to() that might require MMU definitions.\n\nasm/system.h has been disintegrated by this point on all arches into the\nfollowing common segments:\n\n (1) asm/barrier.h\n\n     Moved memory barrier definitions here.\n\n (2) asm/cmpxchg.h\n\n     Moved xchg() and cmpxchg() here.  #included in asm/atomic.h.\n\n (3) asm/bug.h\n\n     Moved die() and similar here.\n\n (4) asm/exec.h\n\n     Moved arch_align_stack() here.\n\n (5) asm/elf.h\n\n     Moved AT_VECTOR_SIZE_ARCH here.\n\n (6) asm/switch_to.h\n\n     Moved switch_to() here.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "d550bbd40c0e10aefa05103dadbe0ae42e683707",
      "tree": "c1f32662f605f2b87c73901fbf66d12b2ca69b04",
      "parents": [
        "e839ca528718e68cad32a307dc9aabf01ef3eb05"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Disintegrate asm/system.h for Sparc\n\nDisintegrate asm/system.h for Sparc.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: sparclinux@vger.kernel.org\n"
    },
    {
      "commit": "160594e99dbbb0a5600ad922c630952c7c1c14bf",
      "tree": "4a3e71c4a8df45cb4399c412a63cb292ee7c45e5",
      "parents": [
        "1b028abc779b67b699daff55e27d2432f8d92666"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed Mar 28 13:46:09 2012 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 28 13:40:44 2012 +0200"
      },
      "message": "cpusets: Remove an unused variable\n\nWe don\u0027t use \"cpu\" any more after 2baab4e904 \"sched: Fix\nselect_fallback_rq() vs cpu_active/cpu_online\".\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120328104608.GD29022@elgon.mountain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1b028abc779b67b699daff55e27d2432f8d92666",
      "tree": "0b6deda71cb6ee5a17773716912665b0ad8ddabc",
      "parents": [
        "2baab4e90495ebc9826c93f79d74d6e60a828d24"
      ],
      "author": {
        "name": "Michael J Wang",
        "email": "mjwang@broadcom.com",
        "time": "Mon Mar 19 22:26:19 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Mar 27 14:52:12 2012 +0200"
      },
      "message": "sched/rt: Improve pick_next_highest_task_rt()\n\nAvoid extra work by continuing on to the next rt_rq if the highest\nprio task in current rt_rq is the same priority as our candidate\ntask.\n\nMore detailed explanation:  if next is not NULL, then we have found a\ncandidate task, and its priority is next-\u003eprio.  Now we are looking\nfor an even higher priority task in the other rt_rq\u0027s.  idx is the\nhighest priority in the current candidate rt_rq.  In the current 3.3\ncode, if idx is equal to next-\u003eprio, we would start scanning the tasks\nin that rt_rq and replace the current candidate task with a task from\nthat rt_rq.  But the new task would only have a priority that is equal\nto our previous candidate task, so we have not advanced our goal of\nfinding a higher prio task.  So we should avoid the extra work by\ncontinuing on to the next rt_rq if idx is equal to next-\u003eprio.\n\nSigned-off-by: Michael J Wang \u003cmjwang@broadcom.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/2EF88150C0EF2C43A218742ED384C1BC0FC83D6B@IRVEXCHMB08.corp.ad.broadcom.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2baab4e90495ebc9826c93f79d74d6e60a828d24",
      "tree": "6e6316694a9bc69e517e50b0d01043c4c9e83888",
      "parents": [
        "bc758133ed73d4b06952bec21da23e28e62bf3ba"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 20 15:57:01 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Mar 27 14:50:14 2012 +0200"
      },
      "message": "sched: Fix select_fallback_rq() vs cpu_active/cpu_online\n\nCommit 5fbd036b55 (\"sched: Cleanup cpu_active madness\"), which was\nsupposed to finally sort the cpu_active mess, instead uncovered more.\n\nSince CPU_STARTING is ran before setting the cpu online, there\u0027s a\n(small) window where the cpu has active,!online.\n\nIf during this time there\u0027s a wakeup of a task that used to reside on\nthat cpu select_task_rq() will use select_fallback_rq() to compute an\nalternative cpu to run on since we find !online.\n\nselect_fallback_rq() however will compute the new cpu against\ncpu_active, this means that it can return the same cpu it started out\nwith, the !online one, since that cpu is in fact marked active.\n\nThis results in us trying to scheduling a task on an offline cpu and\ntriggering a WARN in the IPI code.\n\nThe solution proposed by Chuansheng Liu of setting cpu_active in\nset_cpu_online() is buggy, firstly not all archs actually use\nset_cpu_online(), secondly, not all archs call set_cpu_online() with\nIRQs disabled, this means we would introduce either the same race or\nthe race from fd8a7de17 (\"x86: cpu-hotplug: Prevent softirq wakeup on\nwrong CPU\") -- albeit much narrower.\n\n[ By setting online first and active later we have a window of\n  online,!active, fresh and bound kthreads have task_cpu() of 0 and\n  since cpu0 isn\u0027t in tsk_cpus_allowed() we end up in\n  select_fallback_rq() which excludes !active, resulting in a reset\n  of -\u003ecpus_allowed and the thread running all over the place. ]\n\nThe solution is to re-work select_fallback_rq() to require active\n_and_ online. This makes the active,!online case work as expected,\nOTOH archs running CPU_STARTING after setting online are now\nvulnerable to the issue from fd8a7de17 -- these are alpha and\nblackfin.\n\nReported-by: Chuansheng Liu \u003cchuansheng.liu@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: linux-alpha@vger.kernel.org\nLink: http://lkml.kernel.org/n/tip-hubqk1i10o4dpvlm06gq7v6j@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f946eeb9313ff1470758e171a60fe7438a2ded3f",
      "tree": "9daeca7f4230ca680765078a0b32c98df409934d",
      "parents": [
        "d53799be6758841e1ffb1fd3780f73d0ffe44432"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Mon Jan 30 23:07:22 2012 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:53 2012 +1030"
      },
      "message": "module: Remove module size limit\n\nModule size was limited to 64MB, this was legacy limitation due to vmalloc()\nwhich was removed a while ago.\n\nLimiting module size to 64MB is both pointless and affects real world use\ncases.\n\nCc: Tim Abbott \u003ctim.abbott@oracle.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d53799be6758841e1ffb1fd3780f73d0ffe44432",
      "tree": "aad25045e0bcfe4b4e612d09a0c3abe3beb7e761",
      "parents": [
        "026cee0086fe1df4cf74691cf273062cc769617d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:52 2012 +1030"
      },
      "message": "module: move __module_get and try_module_get() out of line.\n\nWith the preempt, tracepoint and everything, it\u0027s getting a bit\nchubby.  For an Ubuntu-based config:\n\nBefore:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56199906        3870760\t1606616\t61677282\t3ad1ee2\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8509342\t 850368\t3358720\t12718430\t c2115e\tvmlinux\n\nAfter:\n\t$ size -t `find * -name \u0027*.ko\u0027` | grep TOTAL\n\t56183760\t3867892\t1606616\t61658268\t3acd49c\t(TOTALS)\n\t$ size vmlinux\n\t   text\t   data\t    bss\t    dec\t    hex\tfilename\n\t8501842\t 849088\t3358720\t12709650\t c1ef12\tvmlinux\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (made all out-of-line)\n"
    },
    {
      "commit": "026cee0086fe1df4cf74691cf273062cc769617d",
      "tree": "22735ecd2132de4570fbad81e5716f7fee3448d5",
      "parents": [
        "8b8252813dee8e8cd453bb219731c36b268c69a7"
      ],
      "author": {
        "name": "Pawel Moll",
        "email": "pawel.moll@arm.com",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "params: \u003clevel\u003e_initcall-like kernel parameters\n\nThis patch adds a set of macros that can be used to declare\nkernel parameters to be parsed _before_ initcalls at a chosen\nlevel are executed.  We rename the now-unused \"flags\" field of\nstruct kernel_param as the level.  It\u0027s signed, for when we\nuse this for early params as well, in future.\n\nLinker macro collating init calls had to be modified in order\nto add additional symbols between levels that are later used\nby the init code to split the calls into blocks.\n\nSigned-off-by: Pawel Moll \u003cpawel.moll@arm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "8b8252813dee8e8cd453bb219731c36b268c69a7",
      "tree": "0e39d722a48b084d7fa84e2470cf1b33c71a0134",
      "parents": [
        "02608bef8f774c058779546926889a2f2717a499"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:51 2012 +1030"
      },
      "message": "module_param: remove support for bool parameters which are really int.\n\nmodule_param(bool) used to counter-intuitively take an int.  In\nfddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy\ntrick.\n\nThis eliminates that code (though leaves the flags field in the struct,\nfor impending use).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "02608bef8f774c058779546926889a2f2717a499",
      "tree": "fdbdd5918c0d9a9f142c6c88535a2b18f13ce02c",
      "parents": [
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Dave Young",
        "email": "dyoung@redhat.com",
        "time": "Wed Feb 01 10:33:14 2012 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 26 12:50:50 2012 +1030"
      },
      "message": "module: add kernel param to force disable module load\n\nSometimes we need to test a kernel of same version with code or config\noption changes.\n\nWe already have sysctl to disable module load, but add a kernel\nparameter will be more convenient.\n\nSince modules_disabled is int, so here use bint type in core_param.\nTODO: make sysctl accept bool and change modules_disabled to bool\n\nSigned-off-by: Dave Young \u003cdyoung@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
      "tree": "9a2c085e1fce41012bb0f2a340f6ceaaf616b7a0",
      "parents": [
        "ed2d265d1266736bd294332d7f649003943ae36e",
        "8bc3bcc93a2b4e47d5d410146f6546bca6171663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:24:31 2012 -0700"
      },
      "message": "Merge tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:\n \"Fix up files in fs/ and lib/ dirs to only use module.h if they really\n  need it.\n\n  These are trivial in scope vs the work done previously.  We now have\n  things where any few remaining cleanups can be farmed out to arch or\n  subsystem maintainers, and I have done so when possible.  What is\n  remaining here represents the bits that don\u0027t clearly lie within a\n  single arch/subsystem boundary, like the fs dir and the lib dir.\n\n  Some duplicate includes arising from overlapping fixes from\n  independent subsystem maintainer submissions are also quashed.\"\n\nFix up trivial conflicts due to clashes with other include file cleanups\n(including some due to the previous bug.h cleanup pull).\n\n* tag \u0027module-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  lib: reduce the use of module.h wherever possible\n  fs: reduce the use of module.h wherever possible\n  includecheck: delete any duplicate instances of module.h\n"
    },
    {
      "commit": "c5e14e763046b11dd8bf57b5dc9f3ab444af8e60",
      "tree": "8f3c68218ef4ffadeb5c0620b9d2fe6e1fd17281",
      "parents": [
        "68fe7b23d559763a2e19e5fc1cf7036e4aaecb10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 24 12:46:23 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 24 12:46:23 2012 +0100"
      },
      "message": "alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n\nrtc_timer_init() is not available when CONFIG_RTC_CLASS\u003dn. Provide a\nproper wrapper in the RTC section of alarmtimer.c\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
      "tree": "de5fab4234ea646edbbac28f3d7dfb28f28bb601",
      "parents": [
        "04a54d27ce9698d108d29c8a6a50c28f7446336b"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Mar 23 15:41:20 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:46:59 2012 +0100"
      },
      "message": "perf: Move mmap page data_head offset assertion out of header\n\nHaving the build time assertion in header is making the perf\nbuild fail on x86 with:\n\n  ../../include/linux/perf_event.h:411:32: error: variably modified \\\n\t\t‘__assert_mmap_data_head_offset’ at file scope [-Werror]\n\nI\u0027m moving the build time validation out of the header, because\nI think it\u0027s better than to lessen the perf build warn/error\ncheck.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nCc: cjashfor@linux.vnet.ibm.com\nCc: fweisbec@gmail.com\nLink: http://lkml.kernel.org/r/1332513680-7870-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "04a54d27ce9698d108d29c8a6a50c28f7446336b",
      "tree": "95041020d6fd5e283e81f7c12c2fd4433b6af8e5",
      "parents": [
        "c7206205d00ab375839bd6c7ddb247d600693c09",
        "01de982abf8c9e10fc3089e10585cd2cc914bdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
      "tree": "1cbfd86070f724d5ffe53146d4c67edf14cccf98",
      "parents": [
        "dae430c6f6e5d0b98c238c340a41a39e221e8940",
        "4e474a00d7ff746ed177ddae14fa8b2d4bad7a00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 18:08:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl\n\nPull sysctl updates from Eric Biederman:\n\n - Rewrite of sysctl for speed and clarity.\n\n   Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and\n   are no longer bottlenecks in the process of adding and removing\n   network devices.\n\n   sysctl is now focused on being a filesystem instead of system call\n   and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully\n   this means the code is now approachable.\n\n   Much thanks is owed to Lucian Grinjincu for keeping at this until\n   something was found that was usable.\n\n - The recent proc_sys_poll oops found by the fuzzer during hibernation\n   is fixed.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)\n  sysctl: protect poll() in entries that may go away\n  sysctl: Don\u0027t call sysctl_follow_link unless we are a link.\n  sysctl: Comments to make the code clearer.\n  sysctl: Correct error return from get_subdir\n  sysctl: An easier to read version of find_subdir\n  sysctl: fix memset parameters in setup_sysctl_set()\n  sysctl: remove an unused variable\n  sysctl: Add register_sysctl for normal sysctl users\n  sysctl: Index sysctl directories with rbtrees.\n  sysctl: Make the header lists per directory.\n  sysctl: Move sysctl_check_dups into insert_header\n  sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy\n  sysctl: Replace root_list with links between sysctl_table_sets.\n  sysctl: Add sysctl_print_dir and use it in get_subdir\n  sysctl: Stop requiring explicit management of sysctl directories\n  sysctl: Add a root pointer to ctl_table_set\n  sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry\n  sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.\n  sysctl: Normalize the root_table data structure.\n  sysctl: Factor out insert_header and erase_header\n  ...\n"
    },
    {
      "commit": "1cc684ab75123efe7ff446eb821d44375ba8fa30",
      "tree": "165069093fc048b979ed38e537b19febdc7889d3",
      "parents": [
        "3e63a93b987685f02421e18b2aa452d20553a88b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: make __request_module() killable\n\nAs Tetsuo Handa pointed out, request_module() can stress the system\nwhile the oom-killed caller sleeps in TASK_UNINTERRUPTIBLE.\n\nThe task T uses \"almost all\" memory, then it does something which\ntriggers request_module().  Say, it can simply call sys_socket().  This\nin turn needs more memory and leads to OOM.  oom-killer correctly\nchooses T and kills it, but this can\u0027t help because it sleeps in\nTASK_UNINTERRUPTIBLE and after that oom-killer becomes \"disabled\" by the\nTIF_MEMDIE task T.\n\nMake __request_module() killable.  The only necessary change is that\ncall_modprobe() should kmalloc argv and module_name, they can\u0027t live in\nthe stack if we use UMH_KILLABLE.  This memory is freed via\ncall_usermodehelper_freeinfo()-\u003ecleanup.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e63a93b987685f02421e18b2aa452d20553a88b",
      "tree": "4674115a6be71dbd2a78a411cb3617842acd8c8e",
      "parents": [
        "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:42 2012 -0700"
      },
      "message": "kmod: introduce call_modprobe() helper\n\nNo functional changes.  Move the call_usermodehelper code from\n__request_module() into the new simple helper, call_modprobe().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b9bd473e3b8a8c6c4ae99be475e6e9b27568555",
      "tree": "2dde14aa393ca0dfe32265576783a8219217c8fc",
      "parents": [
        "9d944ef32e83405a07376f112e9f02161d3e9731"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: ____call_usermodehelper() doesn\u0027t need do_exit()\n\nMinor cleanup.  ____call_usermodehelper() can simply return, no need to\ncall do_exit() explicitely.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d944ef32e83405a07376f112e9f02161d3e9731",
      "tree": "24170ff64fb83221da133e2afb53f58e840a6eee",
      "parents": [
        "d0bd587a80960d7ba7e0c8396e154028c9045c54"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: kill umh_wait, renumber UMH_* constants\n\nNo functional changes.  It is not sane to use UMH_KILLABLE with enum\numh_wait, but obviously we do not want another argument in\ncall_usermodehelper_* helpers.  Kill this enum, use the plain int.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0bd587a80960d7ba7e0c8396e154028c9045c54",
      "tree": "3765f8eccdc5f982ba173a7a05d8981d573b9486",
      "parents": [
        "b3449922502f5a161ee2b5022a33aec8472fbf18"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: implement UMH_KILLABLE\n\nImplement UMH_KILLABLE, should be used along with UMH_WAIT_EXEC/PROC.\nThe caller must ensure that subprocess_info-\u003epath/etc can not go away\nuntil call_usermodehelper_freeinfo().\n\ncall_usermodehelper_exec(UMH_KILLABLE) does\nwait_for_completion_killable.  If it fails, it uses\nxchg(\u0026sub_info-\u003ecomplete, NULL) to serialize with umh_complete() which\ndoes the same xhcg() to access sub_info-\u003ecomplete.\n\nIf call_usermodehelper_exec wins, it can safely return.  umh_complete()\nshould get NULL and call call_usermodehelper_freeinfo().\n\nOtherwise we know that umh_complete() was already called, in this case\ncall_usermodehelper_exec() falls back to wait_for_completion() which\nshould succeed \"very soon\".\n\nNote: UMH_NO_WAIT \u003d\u003d -1 but it obviously should not be used with\nUMH_KILLABLE.  We delay the neccessary cleanup to simplify the back\nporting.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3449922502f5a161ee2b5022a33aec8472fbf18",
      "tree": "4fc28a0b52e61af3fdb47f3ae0770e112a92dfbc",
      "parents": [
        "70834d3070c3f3015ab5c05176d54bd4a0100546"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "usermodehelper: introduce umh_complete(sub_info)\n\nPreparation.  Add the new trivial helper, umh_complete().  Currently it\nsimply does complete(sub_info-\u003ecomplete).\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a02d6fd643cbd4c559113b35b31d3b04e4ec60c7",
      "tree": "77bb1bca3380e8a8187bbeb25af6a03307401887",
      "parents": [
        "d2d393099de21eda91c5ec6a05d60e5dee4d5175"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/\n\nChange zap_pid_ns_processes() to use SEND_SIG_FORCED, it looks more\nclear compared to SEND_SIG_NOINFO which relies on from_ancestor_ns logic\nsend_signal().\n\nIt is also more efficient if we need to kill a lot of tasks because it\ndoesn\u0027t alloc sigqueue.\n\nWhile at it, add the __fatal_signal_pending(task) check as a minor\noptimization.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "def8cf72562e17ec8316ce0cb5697c7afd6400e3",
      "tree": "de0ee350a81685eddadcbfc8d29545e0f7a01d05",
      "parents": [
        "629d362b9950166c6fac2aa8425db34d824bb043"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths\n\nCosmetic, rename the from_ancestor_ns argument in prepare_signal()\npaths.  After the previous change it doesn\u0027t match the reality.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "629d362b9950166c6fac2aa8425db34d824bb043",
      "tree": "9f109337c786caff4bfcf7a57516fe961fe769fc",
      "parents": [
        "43aca3246cb7f736b20c11da9ce932a124a2a85a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Mar 23 15:02:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE\n\nforce_sig_info() and friends have the special semantics for synchronous\nsignals, this interface should not be used if the target is not current.\nAnd it needs the fixes, in particular the clearing of SIGNAL_UNKILLABLE\nis not exactly right.\n\nHowever there are callers which have to use force_ exactly because it\nclears SIGNAL_UNKILLABLE and thus it can kill the CLONE_NEWPID tasks,\nalthough this is almost always is wrong by various reasons.\n\nWith this patch SEND_SIG_FORCED ignores SIGNAL_UNKILLABLE, like we do if\nthe signal comes from the ancestor namespace.\n\nThis makes the naming in prepare_signal() paths insane, fixed by the\nnext cleanup.\n\nNote: this only affects SIGKILL/SIGSTOP, but this is enough for\nforce_sig() abusers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee00560c7dac1dbbf048446a8489550d0a5765b7",
      "tree": "e2a07e3ee58daa2a915634b18bb14d6c75c3e006",
      "parents": [
        "5cdf389aee90109e2e3d88085dea4dd5508a3be7"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:41 2012 -0700"
      },
      "message": "ptrace: remove PTRACE_SEIZE_DEVEL bit\n\nPTRACE_SEIZE code is tested and ready for production use, remove the\ncode which requires special bit in data argument to make PTRACE_SEIZE\nwork.\n\nStrace team prepares for a new release of strace, and we would like to\nship the code which uses PTRACE_SEIZE, preferably after this change goes\ninto released kernel.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa9147c98f27550bd39416eca5a5844e54bced26",
      "tree": "d73386b9f58034ea3332c5359c04cfc13c085a7f",
      "parents": [
        "86b6c1f301faf085de5a3f9ce16b8de6e69c729b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: make PTRACE_SEIZE set ptrace options specified in \u0027data\u0027 parameter\n\nThis can be used to close a few corner cases in strace where we get\nunwanted racy behavior after attach, but before we have a chance to set\noptions (the notorious post-execve SIGTRAP comes to mind), and removes\nthe need to track \"did we set opts for this task\" state in strace\ninternals.\n\nWhile we are at it:\n\nMake it possible to extend SEIZE in the future with more functionality\nby passing non-zero \u0027addr\u0027 parameter.  To that end, error out if \u0027addr\u0027\nis non-zero.  PTRACE_ATTACH did not (and still does not) have such\ncheck, and users (strace) do pass garbage there...  let\u0027s avoid\nrepeating this mistake with SEIZE.\n\nSet all task-\u003eptrace bits in one operation - before this change, we were\nadding PT_SEIZED and PT_PTRACE_CAP with task-\u003eptrace |\u003d BIT ops.  This\nwas probably ok (not a bug), but let\u0027s be on a safer side.\n\nChanges since v2: use (unsigned long) casts instead of (long) ones, move\nPTRACE_SEIZE_DEVEL-related code to separate lines of code.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "86b6c1f301faf085de5a3f9ce16b8de6e69c729b",
      "tree": "115a168d533a54f4e3dc1ed195c58b65a71d8627",
      "parents": [
        "8c5cf9e5c50dc902713897e10201aa71f3546aa1"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: simplify PTRACE_foo constants and PTRACE_SETOPTIONS code\n\nExchange PT_TRACESYSGOOD and PT_PTRACE_CAP bit positions, which makes\nPT_option bits contiguous and therefore makes code in\nptrace_setoptions() much simpler.\n\nEvery PTRACE_O_TRACEevent is defined to (1 \u003c\u003c PTRACE_EVENT_event)\ninstead of using explicit numeric constants, to ensure we don\u0027t mess up\nrelationship between bit positions and event ids.\n\nPT_EVENT_FLAG_SHIFT was not particularly useful, PT_OPT_FLAG_SHIFT with\nvalue of PT_EVENT_FLAG_SHIFT-1 is easier to use.\n\nPT_TRACE_MASK constant is nuked, the only its use is replaced by\n(PTRACE_O_MASK \u003c\u003c PT_OPT_FLAG_SHIFT).\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c5cf9e5c50dc902713897e10201aa71f3546aa1",
      "tree": "9d5590690c0bf2b596697768972b8d42de2e8a28",
      "parents": [
        "b1845ff53f1a9eadba005ae53dfe60ab00dfe83b"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Fri Mar 23 15:02:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "ptrace: don\u0027t modify flags on PTRACE_SETOPTIONS failure\n\nOn ptrace(PTRACE_SETOPTIONS, pid, 0, \u003copts\u003e), we used to set those\noption bits which are known, and then fail with -EINVAL if there are\nsome unknown bits in \u003copts\u003e.\n\nThis is inconsistent with typical error handling, which does not change\nany state if input is invalid.\n\nThis patch changes PTRACE_SETOPTIONS behavior so that in this case, we\nreturn -EINVAL and don\u0027t change any bits in task-\u003eptrace.\n\nIt\u0027s very unlikely that there is userspace code in the wild which will\nbe affected by this change: it should have the form\n\n    ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_BOGUSOPT)\n\nwhere PTRACE_O_BOGUSOPT is a constant unknown to the kernel.  But kernel\nheaders, naturally, don\u0027t contain any PTRACE_O_BOGUSOPTs, thus the only\nway userspace can use one if it defines one itself.  I can\u0027t see why\nanyone would do such a thing deliberately.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pedro Alves \u003cpalves@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "b60f796c4ca72545327a069f12938360d833cce7"
}
