)]}'
{
  "log": [
    {
      "commit": "cb16e95fa2996743a6e80a665ed2ed0590bd38cf",
      "tree": "7128a7d03a94a68dd9550f33ac66876bf6854ad0",
      "parents": [
        "256c53a65128cbc8a766b1503f3f25a52a8d07cb"
      ],
      "author": {
        "name": "Petr Holasek",
        "email": "pholasek@redhat.com",
        "time": "Wed Mar 23 16:43:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:51 2011 -0700"
      },
      "message": "sysctl: add some missing input constraint checks\n\nAdd boundaries of allowed input ranges for: dirty_expire_centisecs,\ndrop_caches, overcommit_memory, page-cluster and panic_on_oom.\n\nSigned-off-by: Petr Holasek \u003cpholasek@redhat.com\u003e\nAcked-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "256c53a65128cbc8a766b1503f3f25a52a8d07cb",
      "tree": "aa15c1cd93ad2d99609016fa0bcf46f305d64d58",
      "parents": [
        "814ecf6e5b7854504ae83255173e53836c5d8420"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@kernel.org",
        "time": "Wed Mar 23 16:43:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:51 2011 -0700"
      },
      "message": "sysctl_check: drop dead code\n\nDrop dead code.\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\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": "814ecf6e5b7854504ae83255173e53836c5d8420",
      "tree": "0e6ba9405264833b672b5b640aadc93e4050d56d",
      "parents": [
        "ad4ac17ad1e2f0bd0ce38b2585c5d7fa2b0780dc"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@kernel.org",
        "time": "Wed Mar 23 16:43:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:50 2011 -0700"
      },
      "message": "sysctl_check: drop table-\u003eprocname checks\n\nSince the for loop checks for the table-\u003eprocname drop useless\ntable-\u003eprocname checks inside the loop body\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\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": "ad4ac17ad1e2f0bd0ce38b2585c5d7fa2b0780dc",
      "tree": "cfc612adbeb9a5d0a6b0e1ee35d14eb963058e77",
      "parents": [
        "c1256ebe6a10bb3e104ecb2d1a458f9907ee49fb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "[error27@gmail.com]",
        "time": "Wed Mar 23 16:43:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:44 2011 -0700"
      },
      "message": "rapidio: fix potential null deref on failure path\n\nIf rio is not a switch then \"rswitch\" is null.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1256ebe6a10bb3e104ecb2d1a458f9907ee49fb",
      "tree": "d34852c275d6a47d63487ce2338401708d5bcab3",
      "parents": [
        "569fccb6b48878d654310e1ffaf9a5a6e46b3144"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:43 2011 -0700"
      },
      "message": "rapidio: remove mport resource reservation from common RIO code\n\nRemoves resource reservation from the common sybsystem initialization code\nand make it part of mport driver initialization.  This resolves conflict\nwith resource reservation by device specific mport drivers.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "569fccb6b48878d654310e1ffaf9a5a6e46b3144",
      "tree": "20e6ded48adf7b36e9cfe71b8a0ed3721b977669",
      "parents": [
        "2f809985d2cbc78078b8da1cbed1f1ce1f4a0d5f"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:43 2011 -0700"
      },
      "message": "rapidio: modify mport ID assignment\n\nChanges mport ID and host destination ID assignment to implement unified\nmethod common to all mport drivers.  Makes \"riohdid\u003d\" kernel command line\nparameter common for all architectures with support for more that one host\ndestination ID assignment.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f809985d2cbc78078b8da1cbed1f1ce1f4a0d5f",
      "tree": "6ce67e43f25700ca08f84e4a87b74c0be0d7ee7f",
      "parents": [
        "388b78adc9899f0299128610f566051d0b1a57f6"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:42 2011 -0700"
      },
      "message": "rapidio: modify subsystem and driver initialization sequence\n\nSubsystem initialization sequence modified to support presence of multiple\nRapidIO controllers in the system.  The new sequence is compatible with\ninitialization of PCI devices.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "388b78adc9899f0299128610f566051d0b1a57f6",
      "tree": "f64e7151235c82ae3652fc5b4ca23c2a017ff464",
      "parents": [
        "f8f0626989c85b3d8bd67eff29d9dd3d14a5e71f"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:42 2011 -0700"
      },
      "message": "rapidio: modify configuration to support PCI-SRIO controller\n\n1. Add an option to include RapidIO support if the PCI is available.\n2. Add FSL_RIO configuration option to enable controller selection.\n3. Add RapidIO support option into x86 and MIPS architectures.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nAcked-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8f0626989c85b3d8bd67eff29d9dd3d14a5e71f",
      "tree": "1132c3ca38b6f68c00864df0ded229c45230d4c5",
      "parents": [
        "e15b4d687f3015aa7953687e5a80f1cc4ba9b736"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:41 2011 -0700"
      },
      "message": "rapidio: add architecture specific callbacks\n\nThis set of patches eliminates RapidIO dependency on PowerPC architecture\nand makes it available to other architectures (x86 and MIPS).  It also\nenables support of new platform independent RapidIO controllers such as\nPCI-to-SRIO and PCI Express-to-SRIO.\n\nThis patch:\n\nExtend number of mport callback functions to eliminate direct linking of\narchitecture specific mport operations.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e15b4d687f3015aa7953687e5a80f1cc4ba9b736",
      "tree": "f3a9d41eb37ee53da3794ab0b0a28212c7b9b9f6",
      "parents": [
        "cd8b974fad4f993bde74d820f83bd0a88ad82491"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:43:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:41 2011 -0700"
      },
      "message": "rapidio: add RapidIO documentation\n\nAdd RapidIO documentation files as it was discussed earlier (see thread\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d129202338918062\u0026w\u003d2)\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd8b974fad4f993bde74d820f83bd0a88ad82491",
      "tree": "fc68e756681d2fa1857a6ab56284d7e50db3ed3a",
      "parents": [
        "cfaf346cb2741ca648d83527df173b759381e607"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Wed Mar 23 16:42:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:41 2011 -0700"
      },
      "message": "rapidio: add new sysfs attributes\n\nAdd new sysfs attributes.\n\n1. Routing information required to to reach the RIO device:\ndestid - device destination ID (real for for endpoint, route for switch)\nhopcount - hopcount for maintenance requests (switches only)\n\n2. device linking information:\nlprev - name of device that precedes the given device in the enumeration\n        or discovery order (displayed along with of the port to which it\n        is attached).\nlnext - names of devices (with corresponding port numbers) that are\n        attached to the given device as next in the enumeration or\n        discovery order (switches only)\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfaf346cb2741ca648d83527df173b759381e607",
      "tree": "578b3d6ce766950fb20f29839c6fbae5aad41a36",
      "parents": [
        "115bcd156a7c4b4dad950f3bd2e4d023688c2ee7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 23 16:42:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:40 2011 -0700"
      },
      "message": "drivers/char/mem.c: clean up the code\n\nReduce the lines of code and simplify the logic.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@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": "115bcd156a7c4b4dad950f3bd2e4d023688c2ee7",
      "tree": "2124bc65ab61f8e72b4bfd959970ccc2b8a90949",
      "parents": [
        "d9d691f584bd012d235c35279c043a2ccd23d7d7"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Mar 23 16:42:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:39 2011 -0700"
      },
      "message": "drivers/staging/tty/specialix.c: convert func_enter to func_exit\n\nConvert calls to func_enter on leaving a function to func_exit.\n\nThe semantic patch that fixes this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\n@@\n\n- func_enter();\n+ func_exit();\n  return...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Roger Wolff \u003cR.E.Wolff@BitWizard.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9d691f584bd012d235c35279c043a2ccd23d7d7",
      "tree": "9094c048d6df951f14e2fb1cc790366791fdd7d5",
      "parents": [
        "73210a135b9dd53ba59beb4ced5a55633ae65b2f"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Mar 23 16:42:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:39 2011 -0700"
      },
      "message": "drivers/tty/bfin_jtag_comm.c: avoid calling put_tty_driver on NULL\n\nput_tty_driver calls tty_driver_kref_put on its argument, and then\ntty_driver_kref_put calls kref_put on the address of a field of this\nargument.  kref_put checks for NULL, but in this case the field is likely\nto have some offset and so the result of taking its address will not be\nNULL.  Labels are added to be able to skip over the call to put_tty_driver\nwhen the argument will be NULL.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression *x;\n@@\n\n*if (x \u003d\u003d NULL)\n{ ...\n* put_tty_driver(x);\n  ...\n  return ...;\n}\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Torben Hohn \u003ctorbenh@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73210a135b9dd53ba59beb4ced5a55633ae65b2f",
      "tree": "23d1ffa9f18bbd0c26aabcd874af9b21788241b6",
      "parents": [
        "0dcf334c44d99cd08515f4fc5cc9075abd92b2ff"
      ],
      "author": {
        "name": "Niranjana Vishwanathapura",
        "email": "nvishwan@codeaurora.org",
        "time": "Wed Mar 23 16:42:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:38 2011 -0700"
      },
      "message": "drivers/char: add MSM smd_pkt driver\n\nAdd smd_pkt driver which provides device interface to smd packet ports.\n\nSigned-off-by: Niranjana Vishwanathapura \u003cnvishwan@codeaurora.org\u003e\nCc: Brian Swetland \u003cswetland@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: David Brown \u003cdavidb@codeaurora.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0dcf334c44d99cd08515f4fc5cc9075abd92b2ff",
      "tree": "c0bdffa37435f5a0aec884dcf598bfab0f11149c",
      "parents": [
        "5883f57ca0008ffc93e09cbb9847a1928e50c6f3"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Wed Mar 23 16:42:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:38 2011 -0700"
      },
      "message": "drivers/char/ipmi/ipmi_si_intf.c: fix cleanup_one_si section mismatch\n\ncommit d2478521afc2022 (\"char/ipmi: fix OOPS caused by\npnp_unregister_driver on unregistered driver\") introduced a section\nmismatch by calling __exit cleanup_ipmi_si from __devinit init_ipmi_si.\n\nRemove __exit annotation from cleanup_ipmi_si.\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nAcked-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5883f57ca0008ffc93e09cbb9847a1928e50c6f3",
      "tree": "f7559549b81f1648b089ddfaa202644bf353b3b0",
      "parents": [
        "312ec7e50c4d3f40b3762af651d1aa79a67f556a"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Mar 23 16:42:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:37 2011 -0700"
      },
      "message": "proc: protect mm start_code/end_code in /proc/pid/stat\n\nWhile mm-\u003estart_stack was protected from cross-uid viewing (commit\nf83ce3e6b02d5 (\"proc: avoid information leaks to non-privileged\nprocesses\")), the start_code and end_code values were not.  This would\nallow the text location of a PIE binary to leak, defeating ASLR.\n\nNote that the value \"1\" is used instead of \"0\" for a protected value since\n\"ps\", \"killall\", and likely other readers of /proc/pid/stat, take\nstart_code of \"0\" to mean a kernel thread and will misbehave.  Thanks to\nBrad Spengler for pointing this out.\n\nAddresses CVE-2011-0726\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Brad Spengler \u003cspender@grsecurity.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "312ec7e50c4d3f40b3762af651d1aa79a67f556a",
      "tree": "98112d9c80aacd011e313268b5f5d8caf5b5b727",
      "parents": [
        "fc3d8767b2b6de955579852d7a150f1734265eaf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 23 16:42:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:37 2011 -0700"
      },
      "message": "proc: make struct proc_dir_entry::namelen unsigned int\n\n1. namelen is declared \"unsigned short\" which hints for \"maybe space savings\".\n   Indeed in 2.4 struct proc_dir_entry looked like:\n\n        struct proc_dir_entry {\n                unsigned short low_ino;\n                unsigned short namelen;\n\n   Now, low_ino is \"unsigned int\", all savings were gone for a long time.\n   \"struct proc_dir_entry\" is not that countless to worry about it\u0027s size,\n   anyway.\n\n2. converting from unsigned short to int/unsigned int can only create\n   problems, we better play it safe.\n\nSpace is not really conserved, because of natural alignment for the next\nfield.  sizeof(struct proc_dir_entry) remains the same.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "fc3d8767b2b6de955579852d7a150f1734265eaf",
      "tree": "282762d459af3ebdf0bf8661a9422d55fc74dbb1",
      "parents": [
        "0db0c01b53a1a421513f91573241aabafb87802a"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Mar 23 16:42:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "procfs: fix some wrong error code usage\n\n[root@wei 1]# cat /proc/1/mem\ncat: /proc/1/mem: No such process\n\nerror code -ESRCH is wrong in this situation.  Return -EPERM instead.\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0db0c01b53a1a421513f91573241aabafb87802a",
      "tree": "beb48c1fe733509945d6cfda2f830ebe3104aa02",
      "parents": [
        "51e031496d50f87ff519a63cfd4fc2f415f03336"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Wed Mar 23 16:42:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "procfs: fix /proc/\u003cpid\u003e/maps heap check\n\nThe current code fails to print the \"[heap]\" marking if the heap is split\ninto multiple mappings.\n\nFix the check so that the marking is displayed in all possible cases:\n\t1. vma matches exactly the heap\n\t2. the heap vma is merged e.g. with bss\n\t3. the heap vma is splitted e.g. due to locked pages\n\nTest cases. In all cases, the process should have mapping(s) with\n[heap] marking:\n\n\t(1) vma matches exactly the heap\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tint main (void)\n\t{\n\t\tif (sbrk(4096) !\u003d (void *)-1) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test1\n\tcheck /proc/553/maps\n\t[1] + Stopped                    ./test1\n\t# cat /proc/553/maps | head -4\n\t00008000-00009000 r-xp 00000000 01:00 3113640    /test1\n\t00010000-00011000 rw-p 00000000 01:00 3113640    /test1\n\t00011000-00012000 rw-p 00000000 00:00 0          [heap]\n\t4006f000-40070000 rw-p 00000000 00:00 0\n\n\t(2) the heap vma is merged\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tchar foo[4096] \u003d \"foo\";\n\tchar bar[4096];\n\n\tint main (void)\n\t{\n\t\tif (sbrk(4096) !\u003d (void *)-1) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test2\n\tcheck /proc/556/maps\n\t[2] + Stopped                    ./test2\n\t# cat /proc/556/maps | head -4\n\t00008000-00009000 r-xp 00000000 01:00 3116312    /test2\n\t00010000-00012000 rw-p 00000000 01:00 3116312    /test2\n\t00012000-00014000 rw-p 00000000 00:00 0          [heap]\n\t4004a000-4004b000 rw-p 00000000 00:00 0\n\n\t(3) the heap vma is splitted (this fails without the patch)\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/mman.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tint main (void)\n\t{\n\t\tif ((sbrk(4096) !\u003d (void *)-1) \u0026\u0026 !mlockall(MCL_FUTURE) \u0026\u0026\n\t\t    (sbrk(4096) !\u003d (void *)-1)) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test3\n\tcheck /proc/559/maps\n\t[1] + Stopped                    ./test3\n\t# cat /proc/559/maps|head -4\n\t00008000-00009000 r-xp 00000000 01:00 3119108    /test3\n\t00010000-00011000 rw-p 00000000 01:00 3119108    /test3\n\t00011000-00012000 rw-p 00000000 00:00 0          [heap]\n\t00012000-00013000 rw-p 00000000 00:00 0          [heap]\n\nIt looks like the bug has been there forever, and since it only results in\nsome information missing from a procfile, it does not fulfil the -stable\n\"critical issue\" criteria.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51e031496d50f87ff519a63cfd4fc2f415f03336",
      "tree": "75c177b8aeba82fffb80960eed1c77bb4188c362",
      "parents": [
        "523fb486bfd94e3a3b16a42bcb21b1959cf14df8"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 23 16:42:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "proc: hide kernel addresses via %pK in /proc/\u003cpid\u003e/stack\n\nThis file is readable for the task owner.  Hide kernel addresses from\nunprivileged users, leave them function names and offsets.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "523fb486bfd94e3a3b16a42bcb21b1959cf14df8",
      "tree": "34c1b15a9bc55ef7a3bafb87cce3d3d184d78906",
      "parents": [
        "ee24d3797780eee6ffe581a7b78d27896f9b494a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 23 16:42:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:35 2011 -0700"
      },
      "message": "cpuset: hold callback_mutex in cpuset_post_clone()\n\nChaning cpuset-\u003emems/cpuset-\u003ecpus should be protected under\ncallback_mutex.\n\ncpuset_clone() doesn\u0027t follow this rule. It\u0027s ok because it\u0027s\ncalled when creating and initializing a cgroup, but we\u0027d better\nhold the lock to avoid subtil break in the future.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee24d3797780eee6ffe581a7b78d27896f9b494a",
      "tree": "8034dac124ab8f0a29bc6f238c030915b2e08398",
      "parents": [
        "c8163ca8afcac0fc54593fc60d1e1110edbd0eb2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 23 16:42:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:35 2011 -0700"
      },
      "message": "cpuset: fix unchecked calls to NODEMASK_ALLOC()\n\nThose functions that use NODEMASK_ALLOC() can\u0027t propagate errno\nto users, but will fail silently.\n\nFix it by using a static nodemask_t variable for each function, and\nthose variables are protected by cgroup_mutex;\n\n[akpm@linux-foundation.org: fix comment spelling, strengthen cgroup_lock comment]\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8163ca8afcac0fc54593fc60d1e1110edbd0eb2",
      "tree": "55a363ed73b91d8350d2df7083abf49c5c97b20d",
      "parents": [
        "9303e0c4814d2a6afca878cc35433291e862169c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 23 16:42:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:34 2011 -0700"
      },
      "message": "cpuset: remove unneeded NODEMASK_ALLOC() in cpuset_attach()\n\noldcs-\u003emems_allowed is not modified during cpuset_attach(), so we don\u0027t\nhave to copy it to a buffer allocated by NODEMASK_ALLOC().  Just pass it\nto cpuset_migrate_mm().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9303e0c4814d2a6afca878cc35433291e862169c",
      "tree": "786866f6f0639edcc2996d4157ea7128b2400898",
      "parents": [
        "f9434ad1552427fab49336e1a6e3ef121895b9d1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Mar 23 16:42:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:34 2011 -0700"
      },
      "message": "cpuset: remove unneeded NODEMASK_ALLOC() in cpuset_sprintf_memlist()\n\nIt\u0027s not necessary to copy cpuset-\u003emems_allowed to a buffer allocated by\nNODEMASK_ALLOC().  Just pass it to nodelist_scnprintf().\n\nAs spotted by Paul, a side effect is we fix a bug that the function can\nreturn -ENOMEM but the caller doesn\u0027t expect negative return value.\nTherefore change the return value of cpuset_sprintf_cpulist() and\ncpuset_sprintf_memlist() from int to size_t.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9434ad1552427fab49336e1a6e3ef121895b9d1",
      "tree": "5284bccbf71e601d056d138e894c27726047dc82",
      "parents": [
        "5a6475a4e162200f43855e2d42bbf55bcca1a9f2"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Mar 23 16:42:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:33 2011 -0700"
      },
      "message": "memcg: give current access to memory reserves if it\u0027s trying to die\n\nWhen a memcg is oom and current has already received a SIGKILL, then give\nit access to memory reserves with a higher scheduling priority so that it\nmay quickly exit and free its memory.\n\nThis is identical to the global oom killer and is done even before\nchecking for panic_on_oom: a pending SIGKILL here while panic_on_oom is\nselected is guaranteed to have come from userspace; the thread only needs\naccess to memory reserves to exit and thus we don\u0027t unnecessarily panic\nthe machine until the kernel has no last resort to free memory.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a6475a4e162200f43855e2d42bbf55bcca1a9f2",
      "tree": "361ef686ef833cd1560e884ca1420d512e4d06bb",
      "parents": [
        "6cfddb261555dd0c0529a5fb7cf8bc5b85ad95a5"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Mar 23 16:42:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:33 2011 -0700"
      },
      "message": "memcg: fix leak on wrong LRU with FUSE\n\nfs/fuse/dev.c::fuse_try_move_page() does\n\n   (1) remove a page by -\u003esteal()\n   (2) re-add the page to page cache\n   (3) link the page to LRU if it was not on LRU at (1)\n\nThis implies the page is _on_ LRU when it\u0027s added to radix-tree.  So, the\npage is added to memory cgroup while it\u0027s on LRU.  because LRU is lazy and\nno one flushs it.\n\nThis is the same behavior as SwapCache and needs special care as\n - remove page from LRU before overwrite pc-\u003emem_cgroup.\n - add page to LRU after overwrite pc-\u003emem_cgroup.\n\nAnd we need to taking care of pagevec.\n\nIf PageLRU(page) is set before we add PCG_USED bit, the page will not be\nadded to memcg\u0027s LRU (in short period).  So, regardlress of PageLRU(page)\nvalue before commit_charge(), we need to check PageLRU(page) after\ncommit_charge().\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d30432\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nReported-by: Daniel Poelzleithner \u003cpoelzi@poelzi.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cfddb261555dd0c0529a5fb7cf8bc5b85ad95a5",
      "tree": "d6c966290c7a8224171c850098767a6fbfa5747b",
      "parents": [
        "dde79e005a769d800166687c9e00d50d93e411ff"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Mar 23 16:42:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:33 2011 -0700"
      },
      "message": "memcg: page_cgroup array is never stored on reserved pages\n\nKAMEZAWA Hiroyuki noted that free_pages_cgroup doesn\u0027t have to check for\nPageReserved because we never store the array on reserved pages (neither\nalloc_pages_exact nor vmalloc use those pages).\n\nSo we can replace the check by a BUG_ON.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "dde79e005a769d800166687c9e00d50d93e411ff",
      "tree": "a38166f535b48063bd680deb64edbedf4395cfed",
      "parents": [
        "4be4489feae6da890765cc1bdc1af5e4f8c4b75f"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Mar 23 16:42:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:32 2011 -0700"
      },
      "message": "page_cgroup: reduce allocation overhead for page_cgroup array for CONFIG_SPARSEMEM\n\nCurrently we are allocating a single page_cgroup array per memory section\n(stored in mem_section-\u003ebase) when CONFIG_SPARSEMEM is selected.  This is\ncorrect but memory inefficient solution because the allocated memory\n(unless we fall back to vmalloc) is not kmalloc friendly:\n\n        - 32b - 16384 entries (20B per entry) fit into 327680B so the\n          524288B slab cache is used\n        - 32b with PAE - 131072 entries with 2621440B fit into 4194304B\n        - 64b - 32768 entries (40B per entry) fit into 2097152 cache\n\nThis is ~37% wasted space per memory section and it sumps up for the whole\nmemory.  On a x86_64 machine it is something like 6MB per 1GB of RAM.\n\nWe can reduce the internal fragmentation by using alloc_pages_exact which\nallocates PAGE_SIZE aligned blocks so we will get down to \u003c4kB wasted\nmemory per section which is much better.\n\nWe still need a fallback to vmalloc because we have no guarantees that we\nwill have a continuous memory of that size (order-10) later on during the\nhotplug events.\n\n[hannes@cmpxchg.org: do not define unused free_page_cgroup() without memory hotplug]\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4be4489feae6da890765cc1bdc1af5e4f8c4b75f",
      "tree": "c7c1154aaba8e59523024c119fdf769284023a35",
      "parents": [
        "7a159cc9d7987cdb4853f8711f5f89e01cfffe42"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 23 16:42:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:32 2011 -0700"
      },
      "message": "mm/memcontrol.c: suppress uninitialized-var warning with older gcc\u0027s\n\nmm/memcontrol.c: In function \u0027mem_cgroup_force_empty\u0027:\nmm/memcontrol.c:2280: warning: \u0027flags\u0027 may be used uninitialized in this function\n\nIt\u0027s a false positive.\n\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a159cc9d7987cdb4853f8711f5f89e01cfffe42",
      "tree": "027e8468d40bfdb51ad9694ec1d5256bb2fdb36f",
      "parents": [
        "e9f8974f2f559b00c87ccfba67bca3903f913d50"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:31 2011 -0700"
      },
      "message": "memcg: use native word page statistics counters\n\nThe statistic counters are in units of pages, there is no reason to make\nthem 64-bit wide on 32-bit machines.\n\nMake them native words.  Since they are signed, this leaves 31 bit on\n32-bit machines, which can represent roughly 8TB assuming a page size of\n4k.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9f8974f2f559b00c87ccfba67bca3903f913d50",
      "tree": "d19f8f7d15eb56e7af98c7ad63db8e86d5873fff",
      "parents": [
        "7ec99d6213b579a84c85ad37f2aa8ded4857c53c"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:31 2011 -0700"
      },
      "message": "memcg: break out event counters from other stats\n\nFor increasing and decreasing per-cpu cgroup usage counters it makes sense\nto use signed types, as single per-cpu values might go negative during\nupdates.  But this is not the case for only-ever-increasing event\ncounters.\n\nAll the counters have been signed 64-bit so far, which was enough to count\nevents even with the sign bit wasted.\n\nThis patch:\n- divides s64 counters into signed usage counters and unsigned\n  monotonically increasing event counters.\n- converts unsigned event counters into \u0027unsigned long\u0027 rather than\n  \u0027u64\u0027.  This matches the type used by the /proc/vmstat event counters.\n\nThe next patch narrows the signed usage counters type (on 32-bit CPUs,\nthat is).\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ec99d6213b579a84c85ad37f2aa8ded4857c53c",
      "tree": "d05bb74c5ca30650ff0622cd1ffd2fd6ddecebd6",
      "parents": [
        "7ffd4ca7a2cdd7a18f0b499a4e9e0e7cf36ba018"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:30 2011 -0700"
      },
      "message": "memcg: unify charge/uncharge quantities to units of pages\n\nThere is no clear pattern when we pass a page count and when we pass a\nbyte count that is a multiple of PAGE_SIZE.\n\nWe never charge or uncharge subpage quantities, so convert it all to page\ncounts.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@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": "7ffd4ca7a2cdd7a18f0b499a4e9e0e7cf36ba018",
      "tree": "1a2678ce91b9dfb2118d19e0ec457ca5582793f9",
      "parents": [
        "11c9ea4e80fc3be83485667204c68d0a732f3757"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:30 2011 -0700"
      },
      "message": "memcg: convert uncharge batching from bytes to page granularity\n\nWe never uncharge subpage quantities.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@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": "11c9ea4e80fc3be83485667204c68d0a732f3757",
      "tree": "71f68fb56e427c3ebe12e205e6ea56d72e7bd6ea",
      "parents": [
        "e7018b8d27e0c9aa2200e5b393e0fe9093c6565c"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:29 2011 -0700"
      },
      "message": "memcg: convert per-cpu stock from bytes to page granularity\n\nWe never keep subpage quantities in the per-cpu stock.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@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": "e7018b8d27e0c9aa2200e5b393e0fe9093c6565c",
      "tree": "13a4d92cd78bc6f97d9a2b6d77880c9ea5d67aa1",
      "parents": [
        "bf1ff2635a5fda207fc870df348bfc766e8dcd4d"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:29 2011 -0700"
      },
      "message": "memcg: keep only one charge cancelling function\n\nWe have two charge cancelling functions: one takes a page count, the other\na page size.  The second one just divides the parameter by PAGE_SIZE and\nthen calls the first one.  This is trivial, no need for an extra function.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@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": "bf1ff2635a5fda207fc870df348bfc766e8dcd4d",
      "tree": "d4085b3bdbe608f6c8f708cb93080051b341d7fe",
      "parents": [
        "4dc03de1b29901b61cb27e4cab44a7f578dc0fc9"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:29 2011 -0700"
      },
      "message": "memcg: remove memcg-\u003ereclaim_param_lock\n\nThe reclaim_param_lock is only taken around single reads and writes to\ninteger variables and is thus superfluous.  Drop it.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@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": "4dc03de1b29901b61cb27e4cab44a7f578dc0fc9",
      "tree": "4edca28cf1636015eacd8012023804e4f27b2e34",
      "parents": [
        "6b3ae58efca06623c197fd6d91ded4aa3a8fe039"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:28 2011 -0700"
      },
      "message": "memcg: charged pages always have valid per-memcg zone info\n\npage_cgroup_zoneinfo() will never return NULL for a charged page, remove\nthe check for it in mem_cgroup_get_reclaim_stat_from_page().\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@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": "6b3ae58efca06623c197fd6d91ded4aa3a8fe039",
      "tree": "6460e4e1ce206d391b862a3d398a9e22e33ecb3c",
      "parents": [
        "5564e88ba6fd2f6dcd83a592771810cd84b5ae80"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:28 2011 -0700"
      },
      "message": "memcg: remove direct page_cgroup-to-page pointer\n\nIn struct page_cgroup, we have a full word for flags but only a few are\nreserved.  Use the remaining upper bits to encode, depending on\nconfiguration, the node or the section, to enable page_cgroup-to-page\nlookups without a direct pointer.\n\nThis saves a full word for every page in a system with memory cgroups\nenabled.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5564e88ba6fd2f6dcd83a592771810cd84b5ae80",
      "tree": "e2b3a0835067825308a254c7531c891d4d69e701",
      "parents": [
        "de3638d9cdc89ac899225996b8dcedbcbc53bdd2"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:27 2011 -0700"
      },
      "message": "memcg: condense page_cgroup-to-page lookup points\n\nThe per-cgroup LRU lists string up \u0027struct page_cgroup\u0027s.  To get from\nthose structures to the page they represent, a lookup is required.\nCurrently, the lookup is done through a direct pointer in struct\npage_cgroup, so a lot of functions down the callchain do this lookup by\nthemselves instead of receiving the page pointer from their callers.\n\nThe next patch removes this pointer, however, and the lookup is no longer\nthat straight-forward.  In preparation for that, this patch only leaves\nthe non-optional lookups when coming directly from the LRU list and passes\nthe page down the stack.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "de3638d9cdc89ac899225996b8dcedbcbc53bdd2",
      "tree": "86293e32728fdd5696cd321bc65aec09c89d17f3",
      "parents": [
        "97a6c37b34f46feed2544bd40891ee6dd0fd1554"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:27 2011 -0700"
      },
      "message": "memcg: fold __mem_cgroup_move_account into caller\n\nIt is one logical function, no need to have it split up.\n\nAlso, get rid of some checks from the inner function that ensured the\nsanity of the outer function.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "97a6c37b34f46feed2544bd40891ee6dd0fd1554",
      "tree": "6135189ba1f589d7a3b10c5e24da9a42ea9036f5",
      "parents": [
        "ad324e94475a04cfcdfdb11ad20f8ea81268e411"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:26 2011 -0700"
      },
      "message": "memcg: change page_cgroup_zoneinfo signature\n\nInstead of passing a whole struct page_cgroup to this function, let it\ntake only what it really needs from it: the struct mem_cgroup and the\npage.\n\nThis has the advantage that reading pc-\u003emem_cgroup is now done at the same\nplace where the ordering rules for this pointer are enforced and\nexplained.\n\nIt is also in preparation for removing the pc-\u003epage backpointer.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "ad324e94475a04cfcdfdb11ad20f8ea81268e411",
      "tree": "4326bb602a3528071ffd6f3030c3a82c76a3454e",
      "parents": [
        "f212ad7cf9c73f8a7fa160e223dcb3f074441a72"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:26 2011 -0700"
      },
      "message": "memcg: no uncharged pages reach page_cgroup_zoneinfo\n\nThis patch series removes the direct page pointer from struct page_cgroup,\nwhich saves 20% of per-page memcg memory overhead (Fedora and Ubuntu\nenable memcg per default, openSUSE apparently too).\n\nThe node id or section number is encoded in the remaining free bits of\npc-\u003eflags which allows calculating the corresponding page without the\nextra pointer.\n\nI ran, what I think is, a worst-case microbenchmark that just cats a large\nsparse file to /dev/null, because it means that walking the LRU list on\nbehalf of per-cgroup reclaim and looking up pages from page_cgroups is\nhappening constantly and at a high rate.  But it made no measurable\ndifference.  A profile reported a 0.11% share of the new\nlookup_cgroup_page() function in this benchmark.\n\nThis patch:\n\nAll callsites check PCG_USED before passing pc-\u003emem_cgroup, so the latter\nis never NULL.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "f212ad7cf9c73f8a7fa160e223dcb3f074441a72",
      "tree": "95789ef7ce662e86a3e4aded5dfb97c51dc7b0a0",
      "parents": [
        "af4a662144884a7dbb19acbef70878b3b955f928"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Wed Mar 23 16:42:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:25 2011 -0700"
      },
      "message": "memcg: add memcg sanity checks at allocating and freeing pages\n\nAdd checks at allocating or freeing a page whether the page is used (iow,\ncharged) from the view point of memcg.\n\nThis check may be useful in debugging a problem and we did similar checks\nbefore the commit 52d4b9ac(memcg: allocate all page_cgroup at boot).\n\nThis patch adds some overheads at allocating or freeing memory, so it\u0027s\nenabled only when CONFIG_DEBUG_VM is enabled.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "af4a662144884a7dbb19acbef70878b3b955f928",
      "tree": "f16b04ed13de1ad1938af551e406879b90d4b0ca",
      "parents": [
        "c14f35c70e068392ccae0b2d6f755baea5eed4d6"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:25 2011 -0700"
      },
      "message": "memcg: remove NULL check from lookup_page_cgroup() result\n\nThe page_cgroup array is set up before even fork is initialized.  I\nseriously doubt that this code executes before the array is alloc\u0027d.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "c14f35c70e068392ccae0b2d6f755baea5eed4d6",
      "tree": "1e3265ba63a859ee0b45ae89303afea4de19012c",
      "parents": [
        "3403968d7a7dc373901cad0cad56b3afcb09cc50"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:24 2011 -0700"
      },
      "message": "memcg: remove impossible conditional when committing\n\nNo callsite ever passes a NULL pointer for a struct mem_cgroup * to the\ncommitting function.  There is no need to check for it.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "3403968d7a7dc373901cad0cad56b3afcb09cc50",
      "tree": "9c73d17914dab16fd90dcbae4bac303a98987da0",
      "parents": [
        "9d11ea9f163a14920487bdda77461e64d600fd48"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:24 2011 -0700"
      },
      "message": "memcg: remove unused page flag bitfield defines\n\nThese definitions have been unused since \u00274b3bde4 memcg: remove the\noverhead associated with the root cgroup\u0027.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "9d11ea9f163a14920487bdda77461e64d600fd48",
      "tree": "9435e30836ee97f3e8c235451bc944cdc8a345c4",
      "parents": [
        "b7c6167848fa36e32f1874b95c1edc02881cd040"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:23 2011 -0700"
      },
      "message": "memcg: simplify the way memory limits are checked\n\nSince transparent huge pages, checking whether memory cgroups are below\ntheir limits is no longer enough, but the actual amount of chargeable\nspace is important.\n\nTo not have more than one limit-checking interface, replace\nmemory_cgroup_check_under_limit() and memory_cgroup_check_margin() with a\nsingle memory_cgroup_margin() that returns the chargeable space and leaves\nthe comparison to the callsite.\n\nSoft limits are now checked the other way round, by using the already\nexisting function that returns the amount by which soft limits are\nexceeded: res_counter_soft_limit_excess().\n\nAlso remove all the corresponding functions on the res_counter side that\nare now no longer used.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "b7c6167848fa36e32f1874b95c1edc02881cd040",
      "tree": "d160acb871f2be4e0e7095c662b647e12a199dac",
      "parents": [
        "56039efa18f2530fc23e8ef19e716b65ee2a1d1e"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Mar 23 16:42:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:23 2011 -0700"
      },
      "message": "memcg: soft limit reclaim should end at limit not below\n\nSoft limit reclaim continues until the usage is below the current soft\nlimit, but the documented semantics are actually that soft limit reclaim\nwill push usage back until the soft limits are met again.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "56039efa18f2530fc23e8ef19e716b65ee2a1d1e",
      "tree": "a61cbd2f760e93363657622de2cd1591db028458",
      "parents": [
        "6c191cd01a935e5b53ef43c9403c771bb7a32b60"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Mar 23 16:42:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:22 2011 -0700"
      },
      "message": "memcg: fix ugly initialization of return value is in caller\n\nRemove initialization of vaiable in caller of memory cgroup function.\nActually, it\u0027s return value of memcg function but it\u0027s initialized in\ncaller.\n\nSome memory cgroup uses following style to bring the result of start\nfunction to the end function for avoiding races.\n\n   mem_cgroup_start_A(\u0026(*ptr))\n   /* Something very complicated can happen here. */\n   mem_cgroup_end_A(*ptr)\n\nIn some calls, *ptr should be initialized to NULL be caller.  But it\u0027s\nugly.  This patch fixes that *ptr is initialized by _start function.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@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": "6c191cd01a935e5b53ef43c9403c771bb7a32b60",
      "tree": "70c49b4cb52406ea1d8c60f73ad7733f60f9cee9",
      "parents": [
        "61f2e7b0f474225b4226772830ae4b29a3a21f8d"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Mar 23 16:42:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:22 2011 -0700"
      },
      "message": "memcg: res_counter_read_u64(): fix potential races on 32-bit machines\n\nres_counter_read_u64 reads u64 value without lock.  It\u0027s dangerous in a\n32bit environment.  Add locking.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Greg Thelen \u003cgthelen@google.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "61f2e7b0f474225b4226772830ae4b29a3a21f8d",
      "tree": "52f880fe6feec8efe5e5e028a3e0637629a500b7",
      "parents": [
        "3fca5af7860f87eb2cd706c2d7dda4ad03230a07"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:22 2011 -0700"
      },
      "message": "bitops: remove minix bitops from asm/bitops.h\n\nminix bit operations are only used by minix filesystem and useless by\nother modules.  Because byte order of inode and block bitmaps is different\non each architecture like below:\n\nm68k:\n\tbig-endian 16bit indexed bitmaps\n\nh8300, microblaze, s390, sparc, m68knommu:\n\tbig-endian 32 or 64bit indexed bitmaps\n\nm32r, mips, sh, xtensa:\n\tbig-endian 32 or 64bit indexed bitmaps for big-endian mode\n\tlittle-endian bitmaps for little-endian mode\n\nOthers:\n\tlittle-endian bitmaps\n\nIn order to move minix bit operations from asm/bitops.h to architecture\nindependent code in minix filesystem, this provides two config options.\n\nCONFIG_MINIX_FS_BIG_ENDIAN_16BIT_INDEXED is only selected by m68k.\nCONFIG_MINIX_FS_NATIVE_ENDIAN is selected by the architectures which use\nnative byte order bitmaps (h8300, microblaze, s390, sparc, m68knommu,\nm32r, mips, sh, xtensa).  The architectures which always use little-endian\nbitmaps do not select these options.\n\nFinally, we can remove minix bit operations from asm/bitops.h for all\narchitectures.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3fca5af7860f87eb2cd706c2d7dda4ad03230a07",
      "tree": "f89b0df7317c250ccd6998fa2b1fa2f91ade4353",
      "parents": [
        "f312eff8164879e04923d41e9dd23e7850937d85"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:21 2011 -0700"
      },
      "message": "m68k: remove inline asm from minix_find_first_zero_bit\n\nAs a preparation for moving minix bit operations from asm/bitops.h to\narchitecture independent code in minix filesystem, this removes inline asm\nfrom minix_find_first_zero_bit() for m68k.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f312eff8164879e04923d41e9dd23e7850937d85",
      "tree": "9f4f6fd00ebf12afd5b070c44d12b55a29440360",
      "parents": [
        "bb5cda3d706f44e5696533c9a7353c458f2871e0"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:21 2011 -0700"
      },
      "message": "bitops: remove ext2 non-atomic bitops from asm/bitops.h\n\nAs the result of conversions, there are no users of ext2 non-atomic bit\noperations except for ext2 filesystem itself.  Now we can put them into\narchitecture independent code in ext2 filesystem, and remove from\nasm/bitops.h for all architectures.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb5cda3d706f44e5696533c9a7353c458f2871e0",
      "tree": "ad720028d76caf0f6ce69fd7f52086972177757b",
      "parents": [
        "6b33aff368def952be78102c0935ebd219f9a748"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:20 2011 -0700"
      },
      "message": "dm: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Alasdair Kergon \u003cagk@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": "6b33aff368def952be78102c0935ebd219f9a748",
      "tree": "d8f06ac51fb13bf34d1fc3791db02761c8662a22",
      "parents": [
        "3cdc7125c364b2baad8aba69c058b26d3dca5f52"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:20 2011 -0700"
      },
      "message": "md: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cdc7125c364b2baad8aba69c058b26d3dca5f52",
      "tree": "a26cc3fc4b4102f645da3971bea46a73e897ae36",
      "parents": [
        "9ad1e1e405fb2c1ff35f2ec67cc6ba4c6765f192"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:19 2011 -0700"
      },
      "message": "ufs: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ad1e1e405fb2c1ff35f2ec67cc6ba4c6765f192",
      "tree": "668dff5e8992b5d28e644e156a3f75287fac9b2d",
      "parents": [
        "b9b9144a5336f0d85428e2870e1010641f27b3f4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:19 2011 -0700"
      },
      "message": "udf: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9b9144a5336f0d85428e2870e1010641f27b3f4",
      "tree": "f009d3b0beb33aa5a58c4434a9f61e53689958ad",
      "parents": [
        "a49ebbabb084d345991b72818a119616431416f2"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:18 2011 -0700"
      },
      "message": "reiserfs: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\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": "a49ebbabb084d345991b72818a119616431416f2",
      "tree": "9e89ac864c70ccd83c9f83df5c94d7466c28b394",
      "parents": [
        "c4354d0d6812ad6729ac33d3c8bc64585cfdb890"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:18 2011 -0700"
      },
      "message": "nilfs2: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4354d0d6812ad6729ac33d3c8bc64585cfdb890",
      "tree": "e4cc200aeae32e65578702b8f20e22b0b9047a72",
      "parents": [
        "50e0168cc3406fc1a04d57eb08f500a173d1660d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ocfs2: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50e0168cc3406fc1a04d57eb08f500a173d1660d",
      "tree": "19f8e15048c37bfface138e19eb93855e02c266c",
      "parents": [
        "0795ccea24714c790187e3d4f23c8e5be515f42d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ext4: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0795ccea24714c790187e3d4f23c8e5be515f42d",
      "tree": "643e48522c01936d3a203fdf45e0373cfb4e7a20",
      "parents": [
        "e1dc1c81b9d1c823f2a529b9b9cf8bf5dacbce6a"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:17 2011 -0700"
      },
      "message": "ext3: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Andreas Dilger \u003cadilger.kernel@dilger.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1dc1c81b9d1c823f2a529b9b9cf8bf5dacbce6a",
      "tree": "fe680c335b011615572390ebf224887e556c9469",
      "parents": [
        "cd7e48c5de223f400bbfe52dc531a70f7b668e8c"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:16 2011 -0700"
      },
      "message": "rds: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Andy Grover \u003candy.grover@oracle.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd7e48c5de223f400bbfe52dc531a70f7b668e8c",
      "tree": "fa231c42d2e79f5e959ca1ccc6b6087337980be4",
      "parents": [
        "c56530055a7c16eed03d31bedd0a49976923f8cf"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:16 2011 -0700"
      },
      "message": "kvm: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@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": "c56530055a7c16eed03d31bedd0a49976923f8cf",
      "tree": "89e06e8c617e9aa1930a3f219046a86618d97e90",
      "parents": [
        "861b5ae7cde96ca081914e21dedfa7e8a38da622"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:15 2011 -0700"
      },
      "message": "asm-generic: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "861b5ae7cde96ca081914e21dedfa7e8a38da622",
      "tree": "376cae55475cce2bb45b96213b1f91b330db0448",
      "parents": [
        "c1e6ca7a501f0139e5ec2a01f8420eeb21c97a52"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:15 2011 -0700"
      },
      "message": "bitops: introduce little-endian bitops for most architectures\n\nIntroduce little-endian bit operations to the big-endian architectures\nwhich do not have native little-endian bit operations and the\nlittle-endian architectures.  (alpha, avr32, blackfin, cris, frv, h8300,\nia64, m32r, mips, mn10300, parisc, sh, sparc, tile, x86, xtensa)\n\nThese architectures can just include generic implementation\n(asm-generic/bitops/le.h).\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1e6ca7a501f0139e5ec2a01f8420eeb21c97a52",
      "tree": "538f5424eedda1039dec6d6cc5f81cbee16e2e1b",
      "parents": [
        "0664996b7c2fdb1b7f90954469cc242274abd7db"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:14 2011 -0700"
      },
      "message": "m68knommu: introduce little-endian bitops\n\nIntroduce little-endian bit operations by renaming native ext2 bit\noperations.  The ext2 bit operations are kept as wrapper macros using\nlittle-endian bit operations to maintain bisectability until the\nconversions are finished.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0664996b7c2fdb1b7f90954469cc242274abd7db",
      "tree": "21bcf25afb94791f87fc5aa8c7e79ac1a8845ad8",
      "parents": [
        "3f5527fe7e0fb50556b97b8addbe3832985f793e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:14 2011 -0700"
      },
      "message": "bitops: introduce CONFIG_GENERIC_FIND_BIT_LE\n\nThis introduces CONFIG_GENERIC_FIND_BIT_LE to tell whether to use generic\nimplementation of find_*_bit_le() in lib/find_next_bit.c or not.\n\nFor now we select CONFIG_GENERIC_FIND_BIT_LE for all architectures which\nenable CONFIG_GENERIC_FIND_NEXT_BIT.\n\nBut m68knommu wants to define own faster find_next_zero_bit_le() and\ncontinues using generic find_next_{,zero_}bit().\n(CONFIG_GENERIC_FIND_NEXT_BIT and !CONFIG_GENERIC_FIND_BIT_LE)\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f5527fe7e0fb50556b97b8addbe3832985f793e",
      "tree": "c4716151c4db4f436f19e0e6d9de4db3ef2c0308",
      "parents": [
        "f6b57e322f85f9d69db15ca112ee33cab33041b8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:13 2011 -0700"
      },
      "message": "m68k: introduce little-endian bitops\n\nIntroduce little-endian bit operations by renaming native ext2 bit\noperations and changing find_*_bit_le() to take a \"void *\".  The ext2 bit\noperations are kept as wrapper macros using little-endian bit operations\nto maintain bisectability until the conversions are finished.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6b57e322f85f9d69db15ca112ee33cab33041b8",
      "tree": "b532c0f0088bece8af632ac5273672f79f5cb127",
      "parents": [
        "50b9b475c5b3e6649c22e1d39ab3ced3dbf21758"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:13 2011 -0700"
      },
      "message": "arm: introduce little-endian bitops\n\nIntroduce little-endian bit operations by renaming native ext2 bit\noperations.  The ext2 and minix bit operations are kept as wrapper macros\nusing little-endian bit operations to maintain bisectability until the\nconversions are finished.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50b9b475c5b3e6649c22e1d39ab3ced3dbf21758",
      "tree": "4072a30d4a95585e72377b99da3e86ceb62ac6e5",
      "parents": [
        "f57d7ff1b8798eccbc778552df34ed9f154ecebb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:12 2011 -0700"
      },
      "message": "s390: introduce little-endian bitops\n\nIntroduce little-endian bit operations by renaming native ext2 bit\noperations.  The ext2 bit operations are kept as wrapper macros using\nlittle-endian bit operations to maintain bisectability until the\nconversions are finished.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f57d7ff1b8798eccbc778552df34ed9f154ecebb",
      "tree": "cbd0d81ae617d35b737714d33b7921be415d9830",
      "parents": [
        "a56560b3b233238e85205d4e8d7bded904ac2306"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:12 2011 -0700"
      },
      "message": "powerpc: introduce little-endian bitops\n\nIntroduce little-endian bit operations by renaming existing powerpc native\nlittle-endian bit operations and changing them to take any pointer types.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56560b3b233238e85205d4e8d7bded904ac2306",
      "tree": "3965be2ab5fcf6c70fc09604861c14ef554915e8",
      "parents": [
        "c4945b9ed472e8796e352f10df9dbc2841ba7b61"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:12 2011 -0700"
      },
      "message": "asm-generic: change little-endian bitops to take any pointer types\n\nThis makes the little-endian bitops take any pointer types by changing the\nprototypes and adding casts in the preprocessor macros.\n\nThat would seem to at least make all the filesystem code happier, and they\ncan continue to do just something like\n\n  #define ext2_set_bit __test_and_set_bit_le\n\n(or whatever the exact sequence ends up being).\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4945b9ed472e8796e352f10df9dbc2841ba7b61",
      "tree": "6e2fa896f3a153d3bb16e7a07c87620cabf1ebd6",
      "parents": [
        "63ab595fb6b34234f116f05f95dc752dd5f8affb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:11 2011 -0700"
      },
      "message": "asm-generic: rename generic little-endian bitops functions\n\nAs a preparation for providing little-endian bitops for all architectures,\nThis renames generic implementation of little-endian bitops.  (remove\n\"generic_\" prefix and postfix \"_le\")\n\ns/generic_find_next_le_bit/find_next_bit_le/\ns/generic_find_next_zero_le_bit/find_next_zero_bit_le/\ns/generic_find_first_zero_le_bit/find_first_zero_bit_le/\ns/generic___test_and_set_le_bit/__test_and_set_bit_le/\ns/generic___test_and_clear_le_bit/__test_and_clear_bit_le/\ns/generic_test_le_bit/test_bit_le/\ns/generic___set_le_bit/__set_bit_le/\ns/generic___clear_le_bit/__clear_bit_le/\ns/generic_test_and_set_le_bit/test_and_set_bit_le/\ns/generic_test_and_clear_le_bit/test_and_clear_bit_le/\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63ab595fb6b34234f116f05f95dc752dd5f8affb",
      "tree": "37bf0cd86463e24df2f0162190be38e75c4af7b6",
      "parents": [
        "12ce22423abacca70bf1dfbcb8543b3e2b74aad4"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:11 2011 -0700"
      },
      "message": "bitops: merge little and big endian definisions in asm-generic/bitops/le.h\n\nThis patch series introduces little-endian bit operations in asm/bitops.h\nfor all architectures and converts all ext2 non-atomic and minix bit\noperations to use little-endian bit operations.  It enables us to remove\next2 non-atomic and minix bit operations from asm/bitops.h.  The reason\nthey should be removed from asm/bitops.h is as follows:\n\nFor ext2 non-atomic bit operations, they are used for little-endian byte\norder bitmap access by some filesystems and modules.  But using ext2_*()\nfunctions on a module other than ext2 filesystem makes some feel strange.\n\nFor minix bit operations, they are only used by minix filesystem and are\nuseless by other modules.  Because byte order of inode and block bitmap is\n\nThis patch:\n\nIn order to make the forthcoming changes smaller, this merges macro\ndefinisions in asm-generic/bitops/le.h for big-endian and little-endian as\nmuch as possible.\n\nThis also removes unused BITOP_WORD macro.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12ce22423abacca70bf1dfbcb8543b3e2b74aad4",
      "tree": "0b88b1e70187c59994c2e0ef0dcc3e6ba888c858",
      "parents": [
        "5140a357ea77527f4a93c5846217417658fdb35d"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:10 2011 -0700"
      },
      "message": "rds: stop including asm-generic/bitops/le.h directly\n\nasm-generic/bitops/le.h is only intended to be included directly from\nasm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h\nwhich implements generic ext2 or minix bit operations.\n\nThis stops including asm-generic/bitops/le.h directly and use ext2\nnon-atomic bit operations instead.\n\nIt seems odd to use ext2_*_bit() on rds, but it will replaced with\n__{set,clear,test}_bit_le() after introducing little endian bit operations\nfor all architectures.  This indirect step is necessary to maintain\nbisectability for some architectures which have their own little-endian\nbit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Andy Grover \u003candy.grover@oracle.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5140a357ea77527f4a93c5846217417658fdb35d",
      "tree": "a7df66f84e40d739dc00c50976954adbc4d6a761",
      "parents": [
        "135a9fcf45f8d41b4ab008114792f4f6c6572675"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:10 2011 -0700"
      },
      "message": "kvm: stop including asm-generic/bitops/le.h directly\n\nasm-generic/bitops/le.h is only intended to be included directly from\nasm-generic/bitops/ext2-non-atomic.h or asm-generic/bitops/minix-le.h\nwhich implements generic ext2 or minix bit operations.\n\nThis stops including asm-generic/bitops/le.h directly and use ext2\nnon-atomic bit operations instead.\n\nIt seems odd to use ext2_set_bit() on kvm, but it will replaced with\n__set_bit_le() after introducing little endian bit operations for all\narchitectures.  This indirect step is necessary to maintain bisectability\nfor some architectures which have their own little-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@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": "135a9fcf45f8d41b4ab008114792f4f6c6572675",
      "tree": "aac70afe1c2e456f14ca52c34dccbb758fdc8b13",
      "parents": [
        "f48fea035b439fa0c75138d0a113ef409dc9caa0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 23 16:41:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:09 2011 -0700"
      },
      "message": "fs/adfs/adfs.h: fix unsigned comparison\n\nfs/adfs/adfs.h: In function \u0027append_filetype_suffix\u0027:\nfs/adfs/adfs.h:115: warning: comparison is always false due to limited range of data type\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Stuart Swales \u003cstuart.swales.croftnuisk@gmail.com\u003e\nCc: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f48fea035b439fa0c75138d0a113ef409dc9caa0",
      "tree": "ee9172f4661331f6b454c5eb561c0caf8ed95d96",
      "parents": [
        "968b503e69a6b90aa4a3b9162960f605b6abd821"
      ],
      "author": {
        "name": "Luck, Tony",
        "email": "tony.luck@intel.com",
        "time": "Wed Mar 23 16:41:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:09 2011 -0700"
      },
      "message": "ia64: fix build breakage in asm/thread_info.h\n\nIn commit 504f52b5439aaf26d3e2c1d45ec10fce38c8dd27\n    mm: NUMA aware alloc_task_struct_node()\n\nEric Dumazet forgot a \"\\\".  Add it.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "968b503e69a6b90aa4a3b9162960f605b6abd821",
      "tree": "b11144867500373dc33b1d85413dbf575e849c90",
      "parents": [
        "4bbba111d94781d34081c37856bbc5eb33f6c72a"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Mar 23 18:16:55 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:45:06 2011 -0700"
      },
      "message": "Revert \"drm/i915: Don\u0027t save/restore hardware status page address register\"\n\nThis reverts commit a7a75c8f70d6f6a2f16c9f627f938bbee2d32718.\n\nThere are two different variations on how Intel hardware addresses the\n\"Hardware Status Page\". One as a location in physical memory and the\nother as an offset into the virtual memory of the GPU, used in more\nrecent chipsets. (The HWS itself is a cacheable region of memory which\nthe GPU can write to without requiring CPU synchronisation, used for\nupdating various details of hardware state, such as the position of\nthe GPU head in the ringbuffer, the last breadcrumb seqno, etc).\n\nThese two types of addresses were updated in different locations of code\n- one inline with the ringbuffer initialisation, and the other during\ndevice initialisation. (The HWS page is logically associated with\nthe rings, and there is one HWS page per ring.) During resume, only the\nringbuffers were being re-initialised along with the virtual HWS page,\nleaving the older physical address HWS untouched. This then caused a\nhang on the older gen3/4 (915GM, 945GM, 965GM) the first time we tried\nto synchronise the GPU as the breadcrumbs were never being updated.\n\nReported-and-tested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nReported-by: Jan Niehusmann \u003cjan@gondor.com\u003e\nReported-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nReported-and-tested-by: Michael \"brot\" Groh \u003cbrot@minad.de\u003e\nCc: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bbba111d94781d34081c37856bbc5eb33f6c72a",
      "tree": "b4d5358f92e6a0f695f34bef41f3df9158398f21",
      "parents": [
        "2130781e2aaab66e5a9f2fdc8af35da0153f405c",
        "ce24f58a1187ca3058d72c3f897e3b574209ab20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 07:58:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 07:58:09 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side\n  ASoC: Support !REGULATOR build for sgtl5000\n  ALSA: hda - VIA: Fix VT1708 can\u0027t build up Headphone control issue\n  ALSA: hda - VIA: Correct stream names for VT1818S\n  ALSA: hda - VIA: Fix codec type for VT1708BCE at the right timing\n  ALSA: hda - VIA: Fix invalid A-A path volume adjust issue\n  ALSA: hda - VIA: Add missing support for VT1718S in A-A path\n  ALSA: hda - VIA: Fix independent headphone no sound issue\n  ALSA: hda - VIA: Fix stereo mixer recording no sound issue\n  ALSA: hda - Set EAPD for Realtek ALC665\n  ALSA: usb - Remove trailing spaces from USB card name strings\n  sound: read i_size with i_size_read()\n  ASoC: Remove bogus check for register validity in debugfs write\n  ASoC: mini2440: Fix uda134x codec problem.\n"
    },
    {
      "commit": "2130781e2aaab66e5a9f2fdc8af35da0153f405c",
      "tree": "ccd654b948587a39b219f74e6cfd73ef6daa3658",
      "parents": [
        "04948c7f80b9446009c1c4791bb93e79729724fb"
      ],
      "author": {
        "name": "Cesar Eduardo Barros",
        "email": "cesarb@cesarb.net",
        "time": "Tue Mar 22 23:03:13 2011 -0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 07:54:22 2011 -0700"
      },
      "message": "sys_swapon: fix inode locking\n\nA conflict between 52c50567d8ab (\"mm: swap: unlock swapfile inode mutex\nbefore closing file on bad swapfiles\") and 83ef99befc32 (\"sys_swapon:\nremove did_down variable\") caused a double unlock of the inode mutex\n(once in bad_swap: before the filp_close, once at the end just before\nreturning).\n\nThe patch which added the extra unlock cleared did_down to avoid\nunlocking twice, but the other patch removed the did_down variable.\n\nTo fix, set inode to NULL after the first unlock, since it will be used\nafter that point only for the final unlock.\n\nWhile checking this patch, I found a path which could unlock without\nlocking, in case the same inode was added as a swapfile twice. To fix,\nmove the setting of the inode variable further down, to just before\nclaim_swapfile, which will lock the inode before doing anything else.\n\nCc: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Cesar Eduardo Barros \u003ccesarb@cesarb.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04948c7f80b9446009c1c4791bb93e79729724fb",
      "tree": "3ee9859148561fdf7cb4f52afe17db594104ea83",
      "parents": [
        "6447f55da90b77faec1697d499ed7986bb4f6de6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 23 08:24:58 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 07:48:42 2011 -0700"
      },
      "message": "smp: add missing init.h include\n\nCommit 34db18a054c6 (\"smp: move smp setup functions to kernel/smp.c\")\ncauses this build error on s390 because of a missing init.h include:\n\n  CC      arch/s390/kernel/asm-offsets.s\n  In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/spinlock.h:14:0,\n  from include/linux/spinlock.h:87,\n  from include/linux/seqlock.h:29,\n  from include/linux/time.h:8,\n  from include/linux/timex.h:56,\n  from include/linux/sched.h:57,\n  from arch/s390/kernel/asm-offsets.c:10:\n  include/linux/smp.h:117:20: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027setup_nr_cpu_ids\u0027\n  include/linux/smp.h:118:20: error: expected \u0027\u003d\u0027, \u0027,\u0027, \u0027;\u0027, \u0027asm\u0027 or \u0027__attribute__\u0027 before \u0027smp_init\u0027\n\nFix it by adding the include statement.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce24f58a1187ca3058d72c3f897e3b574209ab20",
      "tree": "f84384469aca4c6660c4f12bee3e99deb16221ec",
      "parents": [
        "5a8826463c19b0d1a2fc60b2adac0ec318047844",
        "333802e90d3f0366c4a1cb767e2783d2e1df73a8"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 23 12:05:01 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 23 12:05:01 2011 +0100"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into for-linus\n"
    },
    {
      "commit": "5a8826463c19b0d1a2fc60b2adac0ec318047844",
      "tree": "413c2369d166805aa5906d713fdd462bf9f58ce6",
      "parents": [
        "ee3c35c0827de02de414d08b2ddcbb910c2263ab"
      ],
      "author": {
        "name": "David Henningsson",
        "email": "david.henningsson@canonical.com",
        "time": "Wed Mar 23 08:35:07 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Mar 23 09:22:02 2011 +0100"
      },
      "message": "ALSA: HDA: Realtek: Avoid unnecessary volume control index on Surround/Side\n\nSimilar to commit 7e59e097c09b82760bb0fe08b0fa2b704d76c3f4, this patch\navoids unnecessary volume control indices for more\nRealtek auto-parsers, e g the ALC66x family, on the \"Surround\" and \"Side\"\ncontrols.\nThese indices cause these volume controls to be ignored by PulseAudio and\nvmaster and should be removed whenever possible.\n\nCc: stable@kernel.org\nReported-by: Jan Losinski \u003closinski@wh2.tu-dresden.de\u003e\nSigned-off-by: David Henningsson \u003cdavid.henningsson@canonical.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "6447f55da90b77faec1697d499ed7986bb4f6de6",
      "tree": "2d360d48121bdaa354d1ef19fed48467d08dfb1f",
      "parents": [
        "c50e3f512a5a15a73acd94e6ec8ed63cd512e04f",
        "3ea205c449d2b5996d0256aa8b2894f7aea228a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:53:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:53:13 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (66 commits)\n  avr32: at32ap700x: fix typo in DMA master configuration\n  dmaengine/dmatest: Pass timeout via module params\n  dma: let IMX_DMA depend on IMX_HAVE_DMA_V1 instead of an explicit list of SoCs\n  fsldma: make halt behave nicely on all supported controllers\n  fsldma: reduce locking during descriptor cleanup\n  fsldma: support async_tx dependencies and automatic unmapping\n  fsldma: fix controller lockups\n  fsldma: minor codingstyle and consistency fixes\n  fsldma: improve link descriptor debugging\n  fsldma: use channel name in printk output\n  fsldma: move related helper functions near each other\n  dmatest: fix automatic buffer unmap type\n  drivers, pch_dma: Fix warning when CONFIG_PM\u003dn.\n  dmaengine/dw_dmac fix: use readl \u0026 writel instead of __raw_readl \u0026 __raw_writel\n  avr32: at32ap700x: Specify DMA Flow Controller, Src and Dst msize\n  dw_dmac: Setting Default Burst length for transfers as 16.\n  dw_dmac: Allow src/dst msize \u0026 flow controller to be configured at runtime\n  dw_dmac: Changing type of src_master and dest_master to u8.\n  dw_dmac: Pass Channel Priority from platform_data\n  dw_dmac: Pass Channel Allocation Order from platform_data\n  ...\n"
    },
    {
      "commit": "c50e3f512a5a15a73acd94e6ec8ed63cd512e04f",
      "tree": "7f8e4ef42dd0c946ba7d4d6b001133db83e15a4a",
      "parents": [
        "565d76cb7d5fd7cb010fd690602280a69ab116ef"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Mar 22 16:35:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "bloat-o-meter: include read-only data section in report\n\nI\u0027m not sure why the read-only data section is excluded from the report,\nit seems as relevant as the other data sections (b and d).\n\nI\u0027ve stripped the symbols starting with __mod_ as they can have their\nnames dynamically generated and thus comparison between binaries is not\npossible.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "565d76cb7d5fd7cb010fd690602280a69ab116ef",
      "tree": "beff4279da00976e10145820c22e699192056973",
      "parents": [
        "b12d12596992f608f5506a8dabe4d1299594bd1e"
      ],
      "author": {
        "name": "Jim Keniston",
        "email": "jkenisto@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:35:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "zlib: slim down zlib_deflate() workspace when possible\n\nInstead of always creating a huge (268K) deflate_workspace with the\nmaximum compression parameters (windowBits\u003d15, memLevel\u003d8), allow the\ncaller to obtain a smaller workspace by specifying smaller parameter\nvalues.\n\nFor example, when capturing oops and panic reports to a medium with\nlimited capacity, such as NVRAM, compression may be the only way to\ncapture the whole report.  In this case, a small workspace (24K works\nfine) is a win, whether you allocate the workspace when you need it (i.e.,\nduring an oops or panic) or at boot time.\n\nI\u0027ve verified that this patch works with all accepted values of windowBits\n(positive and negative), memLevel, and compression level.\n\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b12d12596992f608f5506a8dabe4d1299594bd1e",
      "tree": "aca8883d4660d3dec0590de162c5b9fa7e457ee1",
      "parents": [
        "e91f90bb0bb10be9cc8efd09a3cf4ecffcad0db1"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Tue Mar 22 16:35:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "fs/devpts/inode.c: correctly check d_alloc_name() return code in devpts_pty_new()\n\nd_alloc_name return NULL in case error, but we expect errno in\ndevpts_pty_new.\n\nAddresses http://bugzilla.openvz.org/show_bug.cgi?id\u003d1758\n\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e91f90bb0bb10be9cc8efd09a3cf4ecffcad0db1",
      "tree": "bd9c134e875a3a96a5f96bbde9a112c180ba3d4f",
      "parents": [
        "77d1c8eb8a8e0989f4c46e9a40bbd4185d34974e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 22 16:35:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "aio: wake all waiters when destroying ctx\n\nThe test program below will hang because io_getevents() uses\nadd_wait_queue_exclusive(), which means the wake_up() in io_destroy() only\nwakes up one of the threads.  Fix this by using wake_up_all() in the aio\ncode paths where we want to make sure no one gets stuck.\n\n\t// t.c -- compile with gcc -lpthread -laio t.c\n\n\t#include \u003clibaio.h\u003e\n\t#include \u003cpthread.h\u003e\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\n\tstatic const int nthr \u003d 2;\n\n\tvoid *getev(void *ctx)\n\t{\n\t\tstruct io_event ev;\n\t\tio_getevents(ctx, 1, 1, \u0026ev, NULL);\n\t\tprintf(\"io_getevents returned\\n\");\n\t\treturn NULL;\n\t}\n\n\tint main(int argc, char *argv[])\n\t{\n\t\tio_context_t ctx \u003d 0;\n\t\tpthread_t thread[nthr];\n\t\tint i;\n\n\t\tio_setup(1024, \u0026ctx);\n\n\t\tfor (i \u003d 0; i \u003c nthr; ++i)\n\t\t\tpthread_create(\u0026thread[i], NULL, getev, ctx);\n\n\t\tsleep(1);\n\n\t\tio_destroy(ctx);\n\n\t\tfor (i \u003d 0; i \u003c nthr; ++i)\n\t\t\tpthread_join(thread[i], NULL);\n\n\t\treturn 0;\n\t}\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77d1c8eb8a8e0989f4c46e9a40bbd4185d34974e",
      "tree": "ee3906e330cba9035d8e1dde527a31fcada9c2a1",
      "parents": [
        "da23ef0549d4205ca9b576cf6cce9a80d0c3e43a"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Tue Mar 22 16:35:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "pps: remove unreachable code\n\nRemove code enabled only when CONFIG_PREEMPT_RT is turned on because it is\nnot used in the vanilla kernel.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da23ef0549d4205ca9b576cf6cce9a80d0c3e43a",
      "tree": "476939ca9c146ebc20ac627098690b1e2026827a",
      "parents": [
        "7a9730af9c596749425a98eba136152e5be4602a"
      ],
      "author": {
        "name": "Stuart Swales",
        "email": "stuart.swales.croftnuisk@gmail.com",
        "time": "Tue Mar 22 16:35:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "adfs: add hexadecimal filetype suffix option\n\nADFS (FileCore) storage complies with the RISC OS filetype specification\n(12 bits of file type information is stored in the file load address,\nrather than using a file extension).  The existing driver largely ignores\nthis information and does not present it to the end user.\n\nIt is desirable that stored filetypes be made visible to the end user to\nfacilitate a precise copy of data and metadata from a hard disc (or image\nthereof) into a RISC OS emulator (such as RPCEmu) or to a network share\nwhich can be accessed by real Acorn systems.\n\nThis patch implements a per-mount filetype suffix option (use -o\nftsuffix\u003d1) to present any filetype as a ,xyz hexadecimal suffix on each\nfile.  This type suffix is compatible with that used by RISC OS systems\nthat access network servers using NFS client software and by RPCemu\u0027s host\nfiling system.\n\nSigned-off-by: Stuart Swales \u003cstuart.swales.croftnuisk@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a9730af9c596749425a98eba136152e5be4602a",
      "tree": "1a7f03d7541768a9d2b4b25fab2ee07eec37c268",
      "parents": [
        "2f09719af705db56032ae480a2d9c32c2a3fcbd3"
      ],
      "author": {
        "name": "Stuart Swales",
        "email": "stuart.swales.croftnuisk@gmail.com",
        "time": "Tue Mar 22 16:35:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "adfs: improve timestamp precision\n\nADFS (FileCore) storage complies with the RISC OS timestamp specification\n(40-bit centiseconds since 01 Jan 1900 00:00:00).  It is desirable that\nstored timestamp precision be maintained to facilitate a precise copy of\ndata and metadata from a hard disc (or image thereof) into a RISC OS\nemulator (such as RPCEmu).\n\nThis patch implements a full-precision conversion from ADFS to Unix\ntimestamp as the existing driver, for ease of calculation with old 32-bit\ncompilers, uses the common trick of shifting the 40-bits representing\ncentiseconds around into 32-bits representing seconds thereby losing\nprecision.\n\nSigned-off-by: Stuart Swales\u003cstuart.swales.croftnuisk@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f09719af705db56032ae480a2d9c32c2a3fcbd3",
      "tree": "20fc7dc5c6955a943e01e78cfcdf77d1ab3e6027",
      "parents": [
        "12da58b0c89e27617aaedde7dcf99a8690875e91"
      ],
      "author": {
        "name": "Stuart Swales",
        "email": "stuart.swales.croftnuisk@gmail.com",
        "time": "Tue Mar 22 16:35:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "adfs: fix E+/F+ dir size \u003e 2048 crashing kernel\n\nKernel crashes in fs/adfs module when accessing directories with a large\nnumber of objects on mounted Acorn ADFS E+/F+ format discs (or images) as\nthe existing code writes off the end of the fixed array of struct\nbuffer_head pointers.\n\nAdditionally, each directory access that didn\u0027t crash would leak a buffer\nas nr_buffers was not adjusted correctly for E+/F+ discs (was always left\nas one less than required).\n\nThe patch fixes this by allocating a dynamically-sized set of struct\nbuffer_head pointers if necessary for the E+/F+ case (many directories\nstill do in fact fit in 2048 bytes) and sets the correct nr_buffers so\nthat all buffers are released.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d26072\n\nTested by tar\u0027ing the contents of my RISC PC\u0027s E+ format 20Gb HDD which\ncontains a number of large directories that previously crashed the kernel.\n\nSigned-off-by: Stuart Swales \u003cstuart.swales.croftnuisk@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12da58b0c89e27617aaedde7dcf99a8690875e91",
      "tree": "67efcc8e3267e8bdaa07c72ab081d66e2b9cc0c3",
      "parents": [
        "e06c374400148849cbf496fce7a28680c3604457"
      ],
      "author": {
        "name": "Chen Gong",
        "email": "gong.chen@linux.intel.com",
        "time": "Tue Mar 22 16:35:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "Documentation/vm/page-types.c: auto debugfs mount for hwpoison operation\n\npage-types.c doesn\u0027t supply a way to specify the debugfs path and the\noriginal debugfs path is not usual on most machines.  This patch supplies\na way to auto mount debugfs if needed.\n\nThis patch is heavily inspired by tools/perf/utils/debugfs.c\n\n[akpm@linux-foundation.org: make functions static]\n[akpm@linux-foundation.org: fix debugfs_mount() signature]\nSigned-off-by: Chen Gong \u003cgong.chen@linux.intel.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReviewed-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e06c374400148849cbf496fce7a28680c3604457",
      "tree": "2035c81451a9893ade2a5c3e7deab162d6d29072",
      "parents": [
        "38829dc9d7b46b195ab99d62c8c53c21a7adc36b"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "lists@nerdbynature.de",
        "time": "Tue Mar 22 16:35:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "Documentation/Changes: minor corrections\n\nI noticed the \u0027mcelog\u0027 program had no comment and then ended up \"fixing\"\na few more things:\n\n  * reiserfsck -V does not print \"reiserfsprogs\" (any more?)\n  * is \"udevinfo\" still shipped? udevd certainly is\n  * grub2 doesn\u0027t have a \u0027grub\u0027 binary\n  * add a \"# how to get the mcelog version\" comment\n\nSigned-off-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38829dc9d7b46b195ab99d62c8c53c21a7adc36b",
      "tree": "ff38cc7aa7965af81e2d5ee5f21e2724489269ec",
      "parents": [
        "0bc825d240abcaf5ed6e9d59b44215b51718ef5b"
      ],
      "author": {
        "name": "Harry Wei",
        "email": "jiaweiwei.xiyou@gmail.com",
        "time": "Tue Mar 22 16:35:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:16 2011 -0700"
      },
      "message": "Documentation/CodingStyle: flesh out if-else examples\n\nThere is a missing case for \"Chapter 3: Placing Braces and Spaces\".  We\noften know we should not use braces where a single statement.  The first\ncase is:\n\n\tif (condition)\n\t\taction();\n\nAnother case is:\n\n\tif (condition)\n\t\tdo_this();\n\telse\n\t\tdo_that();\n\nHowever, I can not find a description of the second case.\n\nSigned-off-by: Harry Wei \u003charryxiyou@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc825d240abcaf5ed6e9d59b44215b51718ef5b",
      "tree": "823301d79af115aa1e055c636c61de174f413835",
      "parents": [
        "1c00f0161f5e5bf1a441ea834c923f4102456489"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Tue Mar 22 16:35:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:16 2011 -0700"
      },
      "message": "codafs: fix compile warning when CONFIG_SYSCTL\u003dn\n\nWhen CONFIG_SYSCTL\u003dn, we get the following warning:\n\nfs/coda/sysctl.c:18: warning: `coda_tabl\u0027 defined but not used\n\nFix the warning by making sure coda_table and it\u0027s callee function are in\nthe same context.  Also clean up the code by removing extra #ifdef.\n\n[akpm@linux-foundation.org: remove unneeded stub macros]\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c00f0161f5e5bf1a441ea834c923f4102456489",
      "tree": "8d8bebdfe155d5afd60b412e5985691276b38baf",
      "parents": [
        "8df3bd9e18cdc3539edea550be34605a240e15d4"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:34:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:16 2011 -0700"
      },
      "message": "x86: allow CONFIG_ISA_DMA_API to be disabled\n\nNot all 64-bit systems require ISA-style DMA, so allow it to be\nconfigurable.  x86 utilizes the generic ISA DMA allocator from\nkernel/dma.c, so require it only when CONFIG_ISA_DMA_API is enabled.\n\nDisabling CONFIG_ISA_DMA_API is dependent on x86_64 since those machines\ndo not have ISA slots and benefit the most from disabling the option (and\non CONFIG_EXPERT as required by H.  Peter Anvin).\n\nWhen disabled, this also avoids declaring claim_dma_lock(),\nrelease_dma_lock(), request_dma(), and free_dma() since those interfaces\nwill no longer be provided.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8df3bd9e18cdc3539edea550be34605a240e15d4"
}
