)]}'
{
  "log": [
    {
      "commit": "704f15ddb5fc2a7f25a12eb0913302d8ad9ffab3",
      "tree": "ef17a945288c333c345643325783f374e10a4020",
      "parents": [
        "5bf54a9758c230d9e957e7b4f3a41c226660dd49"
      ],
      "author": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Thu May 26 16:25:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:33 2011 -0700"
      },
      "message": "flex_array: avoid divisions when accessing elements\n\nOn most architectures division is an expensive operation and accessing an\nelement currently requires four of them.  This performance penalty\neffectively precludes flex arrays from being used on any kind of fast\npath.  However, two of these divisions can be handled at creation time and\nthe others can be replaced by a reciprocal divide, completely avoiding\nreal divisions on access.\n\n[eparis@redhat.com: rebase on top of changes to support 0 len elements]\n[eparis@redhat.com: initialize part_nr when array fits entirely in base]\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0798b1dbfbd9ff2a370c5968c5f0621ef0075fe0",
      "tree": "c7f61ab9683786a070da0933b9981fc74a4d865f",
      "parents": [
        "ad363e0916423b2e6cdfcdc30ae707ec709f0a65",
        "6738d3210aabe3016a1b03cd98a7fc479c229197"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 15:35:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 15:35:32 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (26 commits)\n  arch/tile: prefer \"tilepro\" as the name of the 32-bit architecture\n  compat: include aio_abi.h for aio_context_t\n  arch/tile: cleanups for tilegx compat mode\n  arch/tile: allocate PCI IRQs later in boot\n  arch/tile: support signal \"exception-trace\" hook\n  arch/tile: use better definitions of xchg() and cmpxchg()\n  include/linux/compat.h: coding-style fixes\n  tile: add an RTC driver for the Tilera hypervisor\n  arch/tile: finish enabling support for TILE-Gx 64-bit chip\n  compat: fixes to allow working with tile arch\n  arch/tile: update defconfig file to something more useful\n  tile: do_hardwall_trap: do not play with task-\u003esighand\n  tile: replace mm-\u003ecpu_vm_mask with mm_cpumask()\n  tile,mn10300: add device parameter to dma_cache_sync()\n  audit: support the \"standard\" \u003casm-generic/unistd.h\u003e\n  arch/tile: clarify flush_buffer()/finv_buffer() function names\n  arch/tile: kernel-related cleanups from removing static page size\n  arch/tile: various header improvements for building drivers\n  arch/tile: disable GX prefetcher during cache flush\n  arch/tile: tolerate disabling CONFIG_BLK_DEV_INITRD\n  ...\n"
    },
    {
      "commit": "5ca43f6c3b365024d889bc77064bb331f5a72a45",
      "tree": "c22cf20dc33d85770b88c117fd67b33c7bd7099d",
      "parents": [
        "c84598bbfa756b7d042da31aa4e198ae866a6c7d"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 24 17:13:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:54 2011 -0700"
      },
      "message": "lib: consolidate DEBUG_STACK_USAGE option\n\nMost arches define CONFIG_DEBUG_STACK_USAGE exactly the same way.  Move it\nto lib/Kconfig.debug so each arch doesn\u0027t have to define it.  This\nobviously makes the option generic, but that\u0027s fine because the config is\nalready used in generic code.\n\nIt\u0027s not obvious to me that sysrq-P actually does anything caution by\nkeeping the most inclusive wording.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Richard Weinberger \u003crichard@nod.at\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: Lennox Wu \u003clennox.wu@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.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": "3c8f370ded3483b27f1218ff0051fcf0c7a2facd",
      "tree": "da0bcb089d586737ddf14e6d610ded5d3134e8d9",
      "parents": [
        "6aae6e0304d33e537298867dafb2703ec58c2e4f"
      ],
      "author": {
        "name": "Jean-Christophe PLAGNIOL-VILLARD",
        "email": "plagnioj@jcrosoft.com",
        "time": "Tue May 24 17:13:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:54 2011 -0700"
      },
      "message": "lib/genalloc.c: add support for specifying the physical address\n\nSo we can specify the virtual address as the base of the pool chunk and\nthen get physical addresses for hardware IP.\n\nFor example on at91 we will use this on spi, uart or macb\n\nSigned-off-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nCc: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nCc: Patrice VILCHEZ \u003cpatrice.vilchez@atmel.com\u003e\nCc: Jes Sorensen \u003cjes@wildopensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44ec7abe359204cc9186e32d31ef5b34c8d17274",
      "tree": "0a00cefe04db51828a11d2fe28fc75e763bda5f1",
      "parents": [
        "c196e32a111b0ee356d67acceb938ae0b5e63ef0"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 24 17:13:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:53 2011 -0700"
      },
      "message": "lib: consolidate DEBUG_PER_CPU_MAPS\n\nDEBUG_PER_CPU_MAPS is used in lib/cpumask.c as well as in\ninlcude/linux/cpumask.h and thus it has outgrown its use within x86 and\npowerpc alone.  Any arch with SMP support may want to get some more\ndebugging, so make this option generic.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: 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": "c196e32a111b0ee356d67acceb938ae0b5e63ef0",
      "tree": "8759b68d81eb693e391dee8f85a8d418ea5656a6",
      "parents": [
        "a08aa355af18c53f17f499c1cc6e2af66a77ba9b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue May 24 17:13:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:52 2011 -0700"
      },
      "message": "lib: add kstrto*_from_user()\n\nThere is quite a lot of code which does copy_from_user() + strict_strto*()\nor simple_strto*() combo in slightly different ways.\n\nBefore doing conversions all over tree, let\u0027s get final API correct.\n\nEnter kstrtoull_from_user() and friends.\n\nTypical code which uses them looks very simple:\n\n\tTYPE val;\n\tint rv;\n\n\trv \u003d kstrtoTYPE_from_user(buf, count, 0, \u0026val);\n\tif (rv \u003c 0)\n\t\treturn rv;\n\t[use val]\n\treturn count;\n\nThere is a tiny semantic difference from the plain kstrto*() API -- the\nlatter allows any amount of leading zeroes, while the former copies data\ninto buffer on stack and thus allows leading zeroes as long as it fits\ninto buffer.\n\nThis shouldn\u0027t be a problem for typical usecase \"echo 42 \u003e /proc/x\".\n\nThe point is to make reading one integer from userspace _very_ simple and\nvery bug free.\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": "a08aa355af18c53f17f499c1cc6e2af66a77ba9b",
      "tree": "1eea598cd9000361a30ddf521bca0022aee7d52b",
      "parents": [
        "4440673a95e63ad888a41db596edaa0c55d3a332"
      ],
      "author": {
        "name": "Ilia Mirkin",
        "email": "imirkin@alum.mit.edu",
        "time": "Tue May 24 17:13:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:52 2011 -0700"
      },
      "message": "lru_cache: use correct type in sizeof for allocation\n\nThis has no actual effect, since sizeof(struct hlist_head) \u003d\u003d\nsizeof(struct hlist_head *), but it\u0027s still the wrong type to use.\n\nThe semantic match that finds this problem:\n// \u003csmpl\u003e\n@@\ntype T;\nidentifier x;\n@@\nT *x;\n...\n* x \u003d kzalloc(... * sizeof(T*) * ..., ...);\n// \u003c/smpl\u003e\n\n[akpm@linux-foundation.org: use kcalloc()]\nSigned-off-by: Ilia Mirkin \u003cimirkin@alum.mit.edu\u003e\nAcked-by: Lars Ellenberg \u003clars@linbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9be9b90d6dc5e712ca5d6109691a8de753ce7f1",
      "tree": "1ba560ac75dd1a2575ee5ec95f91a9d549467361",
      "parents": [
        "746a2a838deec3ef86ef6b7c3edd4207b9a351aa"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue May 24 17:13:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:47 2011 -0700"
      },
      "message": "lib/vsprintf.c: fix interaction of kasprintf() and vsnprintf() when using %pV\n\nOtherwise, the warning at the top of vsnprintf() gets triggered by\nkvasprintf()\u0027s first invocation (with NULL buffer and zero size) of\nvsnprintf().\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b060420a596095869a6d7849caa798d23839cd1",
      "tree": "ebbbc25555d0358f73527f114f78691ac849ce3e",
      "parents": [
        "e50c1f609c63223adaa38f5a79b18759a00adf72"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue May 24 17:13:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:45 2011 -0700"
      },
      "message": "bitmap, irq: add smp_affinity_list interface to /proc/irq\n\nManually adjusting the smp_affinity for IRQ\u0027s becomes unwieldy when the\ncpu count is large.\n\nSetting smp affinity to cpus 256 to 263 would be:\n\n\techo 000000ff,00000000,00000000,00000000,00000000,00000000,00000000,00000000 \u003e smp_affinity\n\ninstead of:\n\n\techo 256-263 \u003e smp_affinity_list\n\nThink about what it looks like for cpus around say, 4088 to 4095.\n\nWe already have many alternate \"list\" interfaces:\n\n/sys/devices/system/cpu/cpuX/indexY/shared_cpu_list\n/sys/devices/system/cpu/cpuX/topology/thread_siblings_list\n/sys/devices/system/cpu/cpuX/topology/core_siblings_list\n/sys/devices/system/node/nodeX/cpulist\n/sys/devices/pci***/***/local_cpulist\n\nAdd a companion interface, smp_affinity_list to use cpu lists instead of\ncpu maps.  This conforms to other companion interfaces where both a map\nand a list interface exists.\n\nThis required adding a bitmap_parselist_user() function in a manner\nsimilar to the bitmap_parse_user() function.\n\n[akpm@linux-foundation.org: make __bitmap_parselist() static]\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andy Shevchenko \u003candy.shevchenko@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": "7bf02ea22c6cdd09e2d3f1d3c3fe366b834ae9af",
      "tree": "c1c8aa415910e0f0deea1181759ddd2b5d6067fb",
      "parents": [
        "851cc856d73d1185243c149ed0c0839df8a1b2fe"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue May 24 17:11:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:03 2011 -0700"
      },
      "message": "arch, mm: filter disallowed nodes from arch specific show_mem functions\n\nArchitectures that implement their own show_mem() function did not pass\nthe filter argument to show_free_areas() to appropriately avoid emitting\nthe state of nodes that are disallowed in the current context.  This patch\nnow passes the filter argument to show_free_areas() so those nodes are now\navoided.\n\nThis patch also removes the show_free_areas() wrapper around\n__show_free_areas() and converts existing callers to pass an empty filter.\n\nia64 emits additional information for each node, so skip_free_areas_zone()\nmust be made global to filter disallowed nodes and it is converted to use\na nid argument rather than a zone for this use case.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fenghua Yu \u003cfenghua.yu@intel.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: James Bottomley \u003cjejb@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7b57551bbda1390959207f79f2038aa7adb72ae",
      "tree": "d591a08e7e45615b51d8b5ee1634a29920f62c3f",
      "parents": [
        "434d42cfd05a7cc452457a81d2029540cba12150",
        "7a627e3b9a2bd0f06945bbe64bcf403e788ecf6e"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 24 23:20:19 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue May 24 23:20:19 2011 +1000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into for-linus\n\nConflicts:\n\tlib/flex_array.c\n\tsecurity/selinux/avc.c\n\tsecurity/selinux/hooks.c\n\tsecurity/selinux/ss/policydb.c\n\tsecurity/smack/smack_lsm.c\n\nManually resolve conflicts.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "6595b4a940c4c447b619ab5268378ed03e632694",
      "tree": "e604f97bf8e947fca3dca4c5101d6ffdc432466d",
      "parents": [
        "cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923",
        "5db1256a5131d3b133946fa02ac9770a784e6eb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:29:29 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  seqlock: Don\u0027t smp_rmb in seqlock reader spin loop\n  watchdog, hung_task_timeout: Add Kconfig configurable default\n  lockdep: Remove cmpxchg to update nr_chain_hlocks\n  lockdep: Print a nicer description for simple irq lock inversions\n  lockdep: Replace \"Bad BFS generated tree\" message with something less cryptic\n  lockdep: Print a nicer description for irq inversion bugs\n  lockdep: Print a nicer description for simple deadlocks\n  lockdep: Print a nicer description for normal deadlocks\n  lockdep: Print a nicer description for irq lock inversions\n"
    },
    {
      "commit": "cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923",
      "tree": "6354f5685db502e748b801873ed07ba1a7fa1f09",
      "parents": [
        "51509a283a908d73b20371addc67ee3ae7189934",
        "86b9523ab1517f6edeb87295329c901930d3732d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:28:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:28:58 2011 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, gart: Rename pci-gart_64.c to amd_gart_64.c\n  x86/amd-iommu: Use threaded interupt handler\n  arch/x86/kernel/pci-iommu_table.c: Convert sprintf_symbol to %pS\n  x86/amd-iommu: Add support for invalidate_all command\n  x86/amd-iommu: Add extended feature detection\n  x86/amd-iommu: Add ATS enable/disable code\n  x86/amd-iommu: Add flag to indicate IOTLB support\n  x86/amd-iommu: Flush device IOTLB if ATS is enabled\n  x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver\n  PCI: Move ATS declarations in seperate header file\n  dma-debug: print information about leaked entry\n  x86/amd-iommu: Flush all internal TLBs when IOMMUs are enabled\n  x86/amd-iommu: Rename iommu_flush_device\n  x86/amd-iommu: Improve handling of full command buffer\n  x86/amd-iommu: Rename iommu_flush* to domain_flush*\n  x86/amd-iommu: Remove command buffer resetting logic\n  x86/amd-iommu: Cleanup completion-wait handling\n  x86/amd-iommu: Cleanup inv_pages command handling\n  x86/amd-iommu: Move inv-dte command building to own function\n  x86/amd-iommu: Move compl-wait command building to own function\n"
    },
    {
      "commit": "83d7e948754cf021ed7343b122940fcc27c1bd88",
      "tree": "f04ba1ecb4fa337fc2bbd49b44df07775e4636ff",
      "parents": [
        "fce4a1dda2f1a9a25b3e5b7cd951070e0b42a818",
        "9b090f2da85bd0df5e1a1ecfe4120b7b50358f48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:44:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:44:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm:\n  kmemleak: Initialise kmemleak after debug_objects_mem_init()\n  kmemleak: Select DEBUG_FS unconditionally in DEBUG_KMEMLEAK\n  kmemleak: Do not return a pointer to an object that kmemleak did not get\n"
    },
    {
      "commit": "fce4a1dda2f1a9a25b3e5b7cd951070e0b42a818",
      "tree": "03a3f76c5b3d4f3b05dff44c307dbbb64ec5c510",
      "parents": [
        "e1f2084ed200eb31f2c9d1efe70569c76889c980",
        "6f6c3c33c027f2c83d53e8562cd9daa73fe8108b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:40:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 16:40:47 2011 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://git.linux-mips.org/pub/scm/upstream-linus: (48 commits)\n  MIPS: Move arch_get_unmapped_area and gang to new file.\n  MIPS: Cleanup arch_get_unmapped_area\n  MIPS: Octeon: Don\u0027t request interrupts for unused IPI mailbox bits.\n  Octeon: Fix interrupt irq settings for performance counters.\n  MIPS: Fix build warnings on defconfigs\n  MIPS: Lemote 2F, Malta: Fix build warning\n  MIPS: Set ELF AT_PLATFORM string for Loongson2 processors\n  MIPS: Set ELF AT_PLATFORM string for BMIPS processors\n  MIPS: Introduce set_elf_platform() helper function\n  MIPS: JZ4740: setup: Autodetect physical memory.\n  MIPS: BCM47xx: Fix MAC address parsing.\n  MIPS: BCM47xx: Extend the filling of SPROM from NVRAM\n  MIPS: BCM47xx: Register SSB fallback sprom callback\n  MIPS: BCM47xx: Extend bcm47xx_fill_sprom with prefix.\n  SSB: Change fallback sprom to callback mechanism.\n  MIPS: Alchemy: Clean up GPIO registers and accessors\n  MIPS: Alchemy: Cleanup DMA addresses\n  MIPS: Alchemy: Rewrite ethernet platform setup\n  MIPS: Alchemy: Rewrite UART setup and constants.\n  MIPS: Alchemy: Convert dbdma.c to syscore_ops\n  ...\n"
    },
    {
      "commit": "79e0d9bd262bdd36009e8092e57e34dc5e22a1c7",
      "tree": "f61d4ea8f69202b96a0ad4c6f845eee13496b536",
      "parents": [
        "52c3ce4ec5601ee383a14f1485f6bac7b278896e"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Apr 27 17:06:19 2011 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu May 19 17:36:27 2011 +0100"
      },
      "message": "kmemleak: Select DEBUG_FS unconditionally in DEBUG_KMEMLEAK\n\nIn the past DEBUG_FS used to depend on SYSFS and DEBUG_KMEMLEAK selected\nit conditionally. This is no longer the case, so always select DEBUG_FS\nvia DEBUG_KMEMLEAK.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "c0a5afb9bcf6b5aa5685e4fcf1282cad5fab3d91",
      "tree": "b8dbf6e0ec776690ff039e0c5999d2ce15963db1",
      "parents": [
        "9b130f8004e51c65b20b0f0e17cdee073a719047"
      ],
      "author": {
        "name": "Maxin John",
        "email": "maxin.john@gmail.com",
        "time": "Tue Mar 29 00:15:55 2011 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu May 19 09:55:41 2011 +0100"
      },
      "message": "MIPS: Enable kmemleak for MIPS\n\nSigned-off-by: Maxin B. John \u003cmaxin.john@gmail.com\u003e\nTo: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nCc: naveen yadav \u003cyad.naveen@gmail.com\u003e\nCc: linux-mips@linux-mips.org\nCc: linux-kernel@vger.kernel.org\nCc: linux-mm@kvack.org\nPatchwork: https://patchwork.linux-mips.org/patch/2244/\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "d0f1fed29e6e73d9d17f4c91a5896a4ce3938d45",
      "tree": "d44eae96f46e728cb9d87bca1b2494022bf590a9",
      "parents": [
        "6845756b29e4c4e7db41e2d75cafa9d091bc1c07"
      ],
      "author": {
        "name": "Jonathan Cameron",
        "email": "jic23@cam.ac.uk",
        "time": "Tue Apr 19 12:43:45 2011 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:28 2011 +0930"
      },
      "message": "Add a strtobool function matching semantics of existing in kernel equivalents\n\nThis is a rename of the usr_strtobool proposal, which was a renamed,\nrelocated and fixed version of previous kstrtobool RFC\n\nSigned-off-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1a94dc35bc5c166d89913dc01a49d27a3c21a455",
      "tree": "575196f1d0b9528b7d63b9bff692dd81e1aeac0f",
      "parents": [
        "f02e8a6596b7dc9b2171f7ff5654039ef0950cdc"
      ],
      "author": {
        "name": "Tim Abbott",
        "email": "tabbott@ksplice.com",
        "time": "Thu Apr 14 20:00:19 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu May 19 16:55:27 2011 +0930"
      },
      "message": "lib: Add generic binary search function to the kernel.\n\nThere a large number hand-coded binary searches in the kernel (run\n\"git grep search | grep binary\" to find many of them).  Since in my\nexperience, hand-coding binary searches can be error-prone, it seems\nworth cleaning this up by providing a generic binary search function.\n\nThis generic binary search implementation comes from Ksplice.  It has\nthe same basic API as the C library bsearch() function.  Ksplice uses\nit in half a dozen places with 4 different comparison functions, and I\nthink our code is substantially cleaner because of this.\n\nSigned-off-by: Tim Abbott \u003ctabbott@ksplice.com\u003e\nExtra-bikeshedding-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nExtra-bikeshedding-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nExtra-bikeshedding-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "411f05f123cbd7f8aa1edcae86970755a6e2a9d9",
      "tree": "63fa10cd8d895c36bbbacd8c5b38b25e3e1f3448",
      "parents": [
        "ca1376d10810bc2c20c8d0821a9ee04ca2507c01"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 23:00:28 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 12 15:18:16 2011 -0700"
      },
      "message": "vsprintf: Turn kptr_restrict off by default\n\nkptr_restrict has been triggering bugs in apps such as perf, and it also makes\nthe system less useful by default, so turn it off by default.\n\nThis is how we generally handle security features that remove functionality,\nsuch as firewall code or SELinux - they have to be configured and activated\nfrom user-space.\n\nDistributions can turn kptr_restrict on again via this line in\n/etc/sysctrl.conf:\n\nkernel.kptr_restrict \u003d 1\n\n( Also mark the variable __read_mostly while at it, as it\u0027s typically modified\n  only once per bootup, or not at all. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "604c307bf47350c74bb36507b86a08726c7c2075",
      "tree": "74a04255ea9105c3b29e3e9dfcacf66db984c7ee",
      "parents": [
        "e969687595c27e02e02be0c9363261826123ba77",
        "ba4b87ad5497cba555954885db99c99627f93748",
        "fd7b5535e10ce820f030842da3f289f80ec0d4f3",
        "58fc7f1419560efa9c426b829c195050e0147d7f"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue May 10 10:25:23 2011 +0200"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue May 10 10:25:23 2011 +0200"
      },
      "message": "Merge branches \u0027dma-debug/next\u0027, \u0027amd-iommu/command-cleanups\u0027, \u0027amd-iommu/ats\u0027 and \u0027amd-iommu/extended-features\u0027 into iommu/2.6.40\n\nConflicts:\n\tarch/x86/include/asm/amd_iommu_types.h\n\tarch/x86/kernel/amd_iommu.c\n\tarch/x86/kernel/amd_iommu_init.c\n"
    },
    {
      "commit": "fc2ecf7ec76c5ee150b83dcefc863fa03fd365fb",
      "tree": "2fcdfaf97cf5b9d7a1cfce9e2c8c041c38ea7dfe",
      "parents": [
        "5ece5bab3ed8594ce2c85c6c6e6b82109db36ca7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Feb 23 09:42:14 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: Enable DEBUG_OBJECTS_RCU_HEAD from !PREEMPT\n\nThe prohibition of DEBUG_OBJECTS_RCU_HEAD from !PREEMPT was due to the\nfixup actions.  So just produce a warning from !PREEMPT.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a00e0d714fbded07a7a2254391ce9ed5a5cb9d82",
      "tree": "7c213dbf1e2561655d07749b6d689027460fb8cc",
      "parents": [
        "0ee5623f9a6e52df90a78bd21179f8ab370e102e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 08 17:14:39 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: Remove conditional compilation for RCU CPU stall warnings\n\nThe RCU CPU stall warnings can now be controlled using the\nrcu_cpu_stall_suppress boot-time parameter or via the same parameter\nfrom sysfs.  There is therefore no longer any reason to have\nkernel config parameters for this feature.  This commit therefore\nremoves the RCU_CPU_STALL_DETECTOR and RCU_CPU_STALL_DETECTOR_RUNNABLE\nkernel config parameters.  The RCU_CPU_STALL_TIMEOUT parameter remains\nto allow the timeout to be tuned and the RCU_CPU_STALL_VERBOSE parameter\nremains to allow task-stall information to be suppressed if desired.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "aaeb012fe4700cb808562c2daf7ccc464e7f18cf",
      "tree": "c46c547b8cc287acad328c2c937485349a0df456",
      "parents": [
        "d07bd86d82622247dba8cc29974d3860f857ea33"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Mon May 02 16:52:19 2011 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed May 04 14:41:28 2011 -0400"
      },
      "message": "audit: support the \"standard\" \u003casm-generic/unistd.h\u003e\n\nMany of the syscalls mentioned in the audit code are not present\nfor architectures that implement only the \"standard\" set of\nLinux syscalls (e.g. openat, but not open, etc.).  This change\nadds proper #ifdefs for all those syscalls.\n\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "6f239284542bae297d27355d06afbb8df23c5db9",
      "tree": "b0ba42fb54cd05178c61584e0913be38a57f0384",
      "parents": [
        "609cfda586c7fe3e5d1a02c51edb587506294167",
        "bf69d41d198138e3c601e9a6645f4f1369aff7e0"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed May 04 11:59:34 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed May 04 11:59:34 2011 +1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/selinux into for-linus\n"
    },
    {
      "commit": "646032e3b05b32d3f20cb108a030593d9d792eb5",
      "tree": "1ced1d6ba3628d76ae389175b0f2c24711358d84",
      "parents": [
        "3fd9952df4964fac7d5868ba48eadcc9dae3ba46"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Sun May 01 19:38:42 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:46:12 2011 -0700"
      },
      "message": "XZ decompressor: Fix decoding of empty LZMA2 streams\n\nThe old code considered valid empty LZMA2 streams to be corrupt.\nNote that a typical empty .xz file has no LZMA2 data at all,\nand thus most .xz files having no uncompressed data are handled\ncorrectly even without this fix.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf69d41d198138e3c601e9a6645f4f1369aff7e0",
      "tree": "6cd3c35430f616732caa0096bd7791b56c8bd3ab",
      "parents": [
        "5d30b10bd68df007e7ae21e77d1e0ce184b53040"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 16:12:54 2011 -0400"
      },
      "message": "flex_arrays: allow zero length flex arrays\n\nJust like kmalloc will allow one to allocate a 0 length segment of memory\nflex arrays should do the same thing.  It should bomb if you try to use\nsomething, but it should at least allow the allocation.\n\nThis is needed because when SELinux switched to using flex_arrays in 2.6.38\nthe inability to allocate a 0 length array resulted in SELinux policy load\nreturning -ENOSPC when previously it worked.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "5d30b10bd68df007e7ae21e77d1e0ce184b53040",
      "tree": "61d97a80d0fac7c6dfd97db7040fedd75771adda",
      "parents": [
        "cb1e922fa104bb0bb3aa5fc6ca7f7e070f3b55e9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 16:12:47 2011 -0400"
      },
      "message": "flex_array: flex_array_prealloc takes a number of elements, not an end\n\nChange flex_array_prealloc to take the number of elements for which space\nshould be allocated instead of the last (inclusive) element. Users\nand documentation are updated accordingly.  flex_arrays got introduced before\nthey had users.  When folks started using it, they ended up needing a\ndifferent API than was coded up originally.  This swaps over to the API that\nfolks apparently need.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "a8d05c81fb238bbb18878ccfae7599ca79448dd3",
      "tree": "b66baaf076be8f830cc07fb02ad22e2b3a9dd3e2",
      "parents": [
        "150cdf6ec0ede8d9f102f1817212447727dcf08c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:56:07 2011 -0400"
      },
      "message": "flex_array: allow 0 length elements\n\nflex_arrays are supposed to be a replacement for:\nkmalloc(num_elements * sizeof(element))\n\nIf kmalloc is given 0 num_elements or a 0 size element it will happily return\nZERO_SIZE_PTR.  Which looks like a valid allocation, but which will explode if\nsomething actually try to use it.  The current flex_array code will return an\nequivalent result if num_elements is 0, but will fail to work if\nsizeof(element) is 0.  This patch allows allocation to work even for 0 size\nelements.  It will cause flex_arrays to explode though if they are used.\nImitating the kmalloc behavior.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "150cdf6ec0ede8d9f102f1817212447727dcf08c",
      "tree": "4044554d4a6824c3ca9a13cad911019b21b8e9d2",
      "parents": [
        "5a3ea8782c63d3501cb764c176f153c0d9a400e1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:56:07 2011 -0400"
      },
      "message": "flex_arrays: allow zero length flex arrays\n\nJust like kmalloc will allow one to allocate a 0 length segment of memory\nflex arrays should do the same thing.  It should bomb if you try to use\nsomething, but it should at least allow the allocation.\n\nThis is needed because when SELinux switched to using flex_arrays in 2.6.38\nthe inability to allocate a 0 length array resulted in SELinux policy load\nreturning -ENOSPC when previously it worked.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "5a3ea8782c63d3501cb764c176f153c0d9a400e1",
      "tree": "3ff57105c8c3f3ad696b29511d1cf69f434caeab",
      "parents": [
        "562abf624175e3f8487b7f064e516805e437e597"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:56:06 2011 -0400"
      },
      "message": "flex_array: flex_array_prealloc takes a number of elements, not an end\n\nChange flex_array_prealloc to take the number of elements for which space\nshould be allocated instead of the last (inclusive) element. Users\nand documentation are updated accordingly.  flex_arrays got introduced before\nthey had users.  When folks started using it, they ended up needing a\ndifferent API than was coded up originally.  This swaps over to the API that\nfolks apparently need.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "e11feaa1192a079ba8e88a12121e9b12d55d4239",
      "tree": "41d7c546af7663132a12951f4ba9392942cde5db",
      "parents": [
        "e0944ee63f7249802be74454cef81c97630ae1cd"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Apr 27 14:27:24 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 09:13:17 2011 +0200"
      },
      "message": "watchdog, hung_task_timeout: Add Kconfig configurable default\n\nThis patch allows the default value for sysctl_hung_task_timeout_secs\nto be set at build time. The feature carries virtually no overhead,\nso it makes sense to keep it enabled. On heavily loaded systems, though,\nit can end up triggering stack traces when there is no bug other than\nthe system being underprovisioned. We use this patch to keep the hung task\nfacility available but disabled at boot-time.\n\nThe default of 120 seconds is preserved. As a note, commit e162b39a may\nhave accidentally reverted commit fb822db4, which raised the default from\n120 seconds to 480 seconds.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nAcked-by: Mandeep Singh Baines \u003cmsb@google.com\u003e\nLink: http://lkml.kernel.org/r/4DB8600C.8080000@suse.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    },
    {
      "commit": "78be959e38567f0e020848179a5d64d2b064391a",
      "tree": "2b6b42edb8ba4f717db5d7a140c77d4993934f0d",
      "parents": [
        "01eda2e0c0cf035308308a19581e4979285b51ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 14 15:22:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "kstrtox: simpler code in _kstrtoull()\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": "01eda2e0c0cf035308308a19581e4979285b51ec",
      "tree": "eceb069a21aa22a46c1a3523a004ff38916164d5",
      "parents": [
        "592ce316395abc6b4e96c1ac198e5f347bb5d578"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 14 15:22:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:54 2011 -0700"
      },
      "message": "kstrtox: fix compile warnings in test\n\nFix the following warnings:\n\n    CC [M]  lib/test-kstrtox.o\n  lib/test-kstrtox.c: In function \u0027test_kstrtou64_ok\u0027:\n  lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90\n\t...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@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": "99172a2f9edb3517f610fb93356a6a6a0c30f0c8",
      "tree": "8c6101e354093463ab5b78877ef0d3b903874d3a",
      "parents": [
        "205a44a436e2af83ce9b88144f0eacbb16f8e915"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Mar 18 11:33:08 2011 -0600"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Apr 10 17:01:04 2011 +0200"
      },
      "message": "add printk.time\u003d1 boot-time hint to Kconfig.debug help text\n\nCite Documentation/kernel-parameters.txt for an alternative to\nbuilding with PRINTK_TIME compiled in.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "ba4b87ad5497cba555954885db99c99627f93748",
      "tree": "c83af58e944639ea32418a84491469ddf3722b1c",
      "parents": [
        "6221f222c0ebf1acdf7abcf927178f40e1a65e2a"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Mar 31 08:08:09 2011 -0400"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Apr 07 16:31:19 2011 +0200"
      },
      "message": "dma-debug: print information about leaked entry\n\nWhen driver leak dma mapping, print additional information about one of\nleaked entries, to to help investigate problem. Patch should be useful\nfor debugging drivers, which maps many different class of buffers.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ba1835eb30a80a0e8a1c33724735f3a99a957cff",
      "tree": "8ff962d903dcf0c49d6547703e61b7e0f3a56680",
      "parents": [
        "5a3016a61530ea171c1b8ab23d7f651de919e39f"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 06 07:49:04 2011 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Apr 06 07:49:04 2011 -0700"
      },
      "message": "vsprintf: make comment about vs{n,cn,}printf more understandable\n\n\"You probably want ... instead.\" sounds like a recommendation better\nnot to use the v... functions.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "9718269a7f5f6f3d723dd34e05269579a3ccfc1e",
      "tree": "c9b5d2691c04fc13d6cd716a986279e44d0463d4",
      "parents": [
        "f65e51d740688b8a0ad15cbde34974e6c4559972"
      ],
      "author": {
        "name": "Daniel Baluta",
        "email": "dbaluta@ixiacom.com",
        "time": "Mon Apr 04 15:06:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:47 2011 -0700"
      },
      "message": "kemleak-test: build as module only\n\nmm/kmemleak-test.c is used to provide an example of how kmemleak\ntool works.\n\nMemory is leaked at module unload-time, so building the test\nin kernel (Y) makes the leaks impossible and the test useless.\n\nQualify DEBUG_KMEMLEAK_TEST config symbol with \"depends on m\",\nto restrict module-only building.\n\nSigned-off-by: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a17d47300b4042a3893217c0c3f2d806fe1faa3b",
      "tree": "91964353354d358cbafc350421e2bddb9455c73c",
      "parents": [
        "04a6553f0766df3f56830c89b7da2f618b7ef0b0",
        "7bf7e370d5919112c223a269462cd0b546903829"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:40:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:40:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus-1\u0027 of git://git.infradead.org/mtd-2.6\n\n* \u0027for-linus-1\u0027 of git://git.infradead.org/mtd-2.6: (49 commits)\n  mtd: mtdswap: fix compilation warning\n  mtdswap: kill strict error handling option\n  mtd: nand: enable software BCH ECC in nand simulator\n  mtd: nand: add software BCH ECC support\n  mtd: fix printf format warnings, mostly lack of %zd for size_t, in mtdswap\n  mtd: sm_rtl: check kmalloc return value\n  mtd: cfi: add support for AMIC flashes (e.g. A29L160AT)\n  lib: add shared BCH ECC library\n  mtd: mxc_nand: fix OOB corruption when page size \u003e 2KiB\n  mtd: DaVinci: Removed header file that is not required\n  mtd: pxa3xx_nand: clean the keep configure code\n  mtd: pxa3xx_nand: mtd scan id process could be defined by driver itself\n  mtd: pxa3xx_nand: unify prepare command\n  mtd: pxa3xx_nand: discard wait_for_event,write_cmd,__readid function\n  mtd: pxa3xx_nand: rework irq logic\n  mtd: pxa3xx_nand: make scan procedure more clear\n  mtd: speedtest: fix integer overflow\n  mtd: mxc_nand: fix read past buffer end\n  mtd: omap3: nand: report corrected ecc errors\n  jffs2: remove a trailing white space in commentaries\n  ...\n"
    },
    {
      "commit": "94df491c4a01b39d81279a68386158eb02656712",
      "tree": "ba431d9d74f11a7117883df54908ea39e4ef7c5c",
      "parents": [
        "26ff6801f751cd47e44c2e9507ec08b447f2d2b9",
        "29096202176ceaa5016a17ea2dd1aea19a4e90e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix WARN_ON() test for UP\n  WARN_ON_SMP(): Allow use in if() statements on UP\n  x86, dumpstack: Use %pB format specifier for stack trace\n  vsprintf: Introduce %pB format specifier\n  lockdep: Remove unused \u0027factor\u0027 variable from lockdep_stats_show()\n"
    },
    {
      "commit": "7bf7e370d5919112c223a269462cd0b546903829",
      "tree": "03ccc715239df14ae168277dbccc9d9cf4d8a2c8",
      "parents": [
        "68b1a1e786f29c900fa1c516a402e24f0ece622a",
        "d39dd11c3e6a7af5c20bfac40594db36cf270f42"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)\n  [media] rc: update for bitop name changes\n  fs: simplify iget \u0026 friends\n  fs: pull inode-\u003ei_lock up out of writeback_single_inode\n  fs: rename inode_lock to inode_hash_lock\n  fs: move i_wb_list out from under inode_lock\n  fs: move i_sb_list out from under inode_lock\n  fs: remove inode_lock from iput_final and prune_icache\n  fs: Lock the inode LRU list separately\n  fs: factor inode disposal\n  fs: protect inode-\u003ei_state with inode-\u003ei_lock\n  lib, arch: add filter argument to show_mem and fix private implementations\n  SLUB: Write to per cpu data when allocating it\n  slub: Fix debugobjects with lockless fastpath\n  autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()\n  autofs4 - remove autofs4_lock\n  autofs4 - fix d_manage() return on rcu-walk\n  autofs4 - fix autofs4_expire_indirect() traversal\n  autofs4 - fix dentry leak in autofs4_expire_direct()\n  autofs4 - reinstate last used update on access\n  vfs - check non-mountpoint dentry might block in __follow_mount_rcu()\n  ...\n\nNOTE!\n\nThis merge commit was created to fix compilation error. The block\ntree was merged upstream and removed the \u0027elv_queue_empty()\u0027\nfunction which the new \u0027mtdswap\u0027 driver is using. So a simple\nmerge of the mtd tree with upstream does not compile. And the\nmtd tree has already be published, so re-basing it is not an option.\n\nTo fix this unfortunate situation, I had to merge upstream into the\nmtd-2.6.git tree without committing, put the fixup patch on top of\nthis, and then commit this. The result is that we do not have commits\nwhich do not compile.\n\nIn other words, this merge commit \"merges\" 3 things: the MTD tree, the\nupstream tree, and the fixup patch.\n"
    },
    {
      "commit": "b2b755b5f10eb32fbdc73a9907c07006b17f714b",
      "tree": "444c7a93cc6c3dd109a4b23f1f76cdc38cf5eb10",
      "parents": [
        "e285c1746accb80620e511f9c72e9893beeedc0e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Mar 24 15:18:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 17:49:37 2011 -0700"
      },
      "message": "lib, arch: add filter argument to show_mem and fix private implementations\n\nCommit ddd588b5dd55 (\"oom: suppress nodes that are not allowed from\nmeminfo on oom kill\") moved lib/show_mem.o out of lib/lib.a, which\nresulted in build warnings on all architectures that implement their own\nversions of show_mem():\n\n\tlib/lib.a(show_mem.o): In function `show_mem\u0027:\n\tshow_mem.c:(.text+0x1f4): multiple definition of `show_mem\u0027\n\tarch/sparc/mm/built-in.o:(.text+0xd70): first defined here\n\nThe fix is to remove __show_mem() and add its argument to show_mem() in\nall implementations to prevent this breakage.\n\nArchitectures that implement their own show_mem() actually don\u0027t do\nanything with the argument yet, but they could be made to filter nodes\nthat aren\u0027t allowed in the current context in the future just like the\ngeneric implementation.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: James Bottomley \u003cJames.Bottomley@hansenpartnership.com\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f77a8d378254f27df4a114a5da67223af1fe93f",
      "tree": "edc37c211adce744100d4776e4a28fb868c8b3c0",
      "parents": [
        "dec2960827c85253d76938dbfa909df3be34958b"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Mar 24 11:42:29 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 24 08:36:10 2011 +0100"
      },
      "message": "vsprintf: Introduce %pB format specifier\n\nThe %pB format specifier is for stack backtrace. Its handler\nsprint_backtrace() does symbol lookup using (address-1) to\nensure the address will not point outside of the function.\n\nIf there is a tail-call to the function marked \"noreturn\",\ngcc optimized out the code after the call then causes saved\nreturn address points outside of the function (i.e. the start\nof the next function), so pollutes call trace somewhat.\n\nThis patch adds the %pB printk mechanism that allows architecture\ncall-trace printout functions to improve backtrace printouts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: linux-arch@vger.kernel.org\nLKML-Reference: \u003c1300934550-21394-1-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "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": "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": "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c",
      "tree": "25d70c021189efa0bcbdf4e84b3ca97a6c147246",
      "parents": [
        "8a5700cd6754a3c88d2ea2f1d7a56f671987fc25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:14 2011 -0700"
      },
      "message": "kstrto*: converting strings to integers done (hopefully) right\n\n1. simple_strto*() do not contain overflow checks and crufty,\n   libc way to indicate failure.\n2. strict_strto*() also do not have overflow checks but the name and\n   comments pretend they do.\n3. Both families have only \"long long\" and \"long\" variants,\n   but users want strtou8()\n4. Both \"simple\" and \"strict\" prefixes are wrong:\n   Simple doesn\u0027t exactly say what\u0027s so simple, strict should not exist\n   because conversion should be strict by default.\n\nThe solution is to use \"k\" prefix and add convertors for more types.\nEnter\n\tkstrtoull()\n\tkstrtoll()\n\tkstrtoul()\n\tkstrtol()\n\tkstrtouint()\n\tkstrtoint()\n\n\tkstrtou64()\n\tkstrtos64()\n\tkstrtou32()\n\tkstrtos32()\n\tkstrtou16()\n\tkstrtos16()\n\tkstrtou8()\n\tkstrtos8()\n\nInclude runtime testsuite (somewhat incomplete) as well.\n\nstrict_strto*() become deprecated, stubbed to kstrto*() and\neventually will be removed altogether.\n\nUse kstrto*() in code today!\n\nNote: on some archs _kstrtoul() and _kstrtol() are left in tree, even if\n      they\u0027ll be unused at runtime. This is temporarily solution,\n      because I don\u0027t want to hardcode list of archs where these\n      functions aren\u0027t needed. Current solution with sizeof() and\n      __alignof__ at least always works.\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": "5af5bcb8d37f99ba415a1adc6da71051b84f93a5",
      "tree": "58ae14d126ef40cbc5a91538cfe04433d26510ae",
      "parents": [
        "9f36e2c448007b54851e7e4fa48da97d1477a175"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Mar 22 16:34:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:13 2011 -0700"
      },
      "message": "printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig\n\nWe\u0027ve been burned by regressions/bugs which we later realized could have\nbeen triaged quicker if only we\u0027d paid closer attention to dmesg.  To make\nit easier to audit dmesg, we\u0027d like to make DEFAULT_MESSAGE_LEVEL\nKconfig-settable.  That way we can set it to KERN_NOTICE and audit any\nmessages \u003c\u003d KERN_WARNING.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Olof Johansson \u003colofj@chromium.org\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": "9f36e2c448007b54851e7e4fa48da97d1477a175",
      "tree": "2fa0ad88c75184dc79b28c287c853e97f779bf1f",
      "parents": [
        "fe3d8ad31cf51b062bbb8a9609eeb1d0c41a7f30"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Tue Mar 22 16:34:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "printk: use %pK for /proc/kallsyms and /proc/modules\n\nIn an effort to reduce kernel address leaks that might be used to help\ntarget kernel privilege escalation exploits, this patch uses %pK when\ndisplaying addresses in /proc/kallsyms, /proc/modules, and\n/sys/module/*/sections/*.\n\nNote that this changes %x to %p, so some legitimately 0 values in\n/proc/kallsyms would have changed from 00000000 to \"(null)\".  To avoid\nthis, \"(null)\" is not used when using the \"K\" format.  Anything that was\nalready successfully parsing \"(null)\" in addition to full hex digits\nshould have no problem with this change.  (Thanks to Joe Perches for the\nsuggestion.) Due to the %x to %p, \"void *\" casts are needed since these\naddresses are already \"unsigned long\" everywhere internally, due to their\nstarting life as ELF section offsets.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Eugene Teo \u003ceugene@redhat.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26297607e09ca6c7e6f2a6b86a8bee2f23503bb8",
      "tree": "b0fbb98f7d25c5aa18f972cbcddb1c81035e387c",
      "parents": [
        "3bb598fb23b6040e67b5e6db9a00b28cd26e5809"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Mar 22 16:34:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "vsprintf: neaten %pK kptr_restrict, save a bit of code space\n\nIf kptr restrictions are on, just set the passed pointer to NULL.\n\n$ size lib/vsprintf.o.*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   8247\t      4\t      2\t   8253\t   203d\tlib/vsprintf.o.new\n   8282\t      4\t      2\t   8288\t   2060\tlib/vsprintf.o.old\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fef2c9bc1b54c0261324a96e948c0b849796e896",
      "tree": "a4dd2733621d9fe1f8ec65d9ef30867ed09b640f",
      "parents": [
        "b1b5f65e53af770ede22c113e249de2f6fa53706"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Mar 22 16:34:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "kernel/watchdog.c: allow hardlockup to panic by default\n\nWhen a cpu is considered stuck, instead of limping along and just printing\na warning, it is sometimes preferred to just panic, let kdump capture the\nvmcore and reboot.  This gets the machine back into a stable state quickly\nwhile saving the info that got it into a stuck state to begin with.\n\nAdd a Kconfig option to allow users to set the hardlockup to panic\nby default.  Also add in a \u0027nmi_watchdog\u003dnopanic\u0027 to override this.\n\n[akpm@linux-foundation.org: fix strncmp length]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@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": "ddd588b5dd55f14320379961e47683db4e4c1d90",
      "tree": "09de73c51c8c5e701e644236890a5d205ec3cdc9",
      "parents": [
        "94dcf29a11b3d20a28790598d701f98484a969da"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress nodes that are not allowed from meminfo on oom kill\n\nThe oom killer is extremely verbose for machines with a large number of\ncpus and/or nodes.  This verbosity can often be harmful if it causes other\nimportant messages to be scrolled from the kernel log and incurs a\nsignicant time delay, specifically for kernels with CONFIG_NODES_SHIFT \u003e\n8.\n\nThis patch causes only memory information to be displayed for nodes that\nare allowed by current\u0027s cpuset when dumping the VM state.  Information\nfor all other nodes is irrelevant to the oom condition; we don\u0027t care if\nthere\u0027s an abundance of memory elsewhere if we can\u0027t access it.\n\nThis only affects the behavior of dumping memory information when an oom\nis triggered.  Other dumps, such as for sysrq+m, still display the\nunfiltered form when using the existing show_mem() interface.\n\nAdditionally, the per-cpu pageset statistics are extremely verbose in oom\nkiller output, so it is now suppressed.  This removes\n\n\tnodes_weight(current-\u003emems_allowed) * (1 + nr_cpus)\n\nlines from the oom killer output.\n\nCallers may use __show_mem(SHOW_MEM_FILTER_NODES) to filter disallowed\nnodes.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eddecbb601c9ea3fab7e67d7892010fc9426d1e6",
      "tree": "4bfa4740ae554e5c5a8468e74b39531a6153ce9f",
      "parents": [
        "0bf8c869701039b12c3520cb1bb1689595ab108b",
        "f2c23f65f63fe0dd83fc94efdfae0364c74458b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "message": "Merge branch \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default\n  genksyms: Regenerate lexer and parser\n  genksyms: Track changes to enum constants\n  genksyms: simplify usage of find_symbol()\n  genksyms: Add helpers for building string lists\n  genksyms: Simplify printing of symbol types\n  genksyms: Simplify lexer\n  genksyms: Do not paste the bison header file to lex.c\n  modpost: fix trailing comma\n  KBuild: silence \"\u0027scripts/unifdef\u0027 is up to date.\"\n  kbuild: Add extra gcc checks\n  kbuild: reenable section mismatch analysis\n  unifdef: update to upstream version 2.5\n"
    },
    {
      "commit": "f2c23f65f63fe0dd83fc94efdfae0364c74458b8",
      "tree": "2747863f1ac5ed8b28afde4e68f86f78fe6145a4",
      "parents": [
        "a88bab9aeebe3118703e1532343d82688c12578e"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Mar 21 10:44:30 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Mar 21 10:47:58 2011 +0100"
      },
      "message": "kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default\n\nCONFIG_DEBUG_SECTION_MISMATCH has also runtime effects due to the\n-fno-inline-functions-called-once compiler flag, so forcing it on\neveryone is not a good idea.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "f74b9444192c60603020c61d7915b72893137edc",
      "tree": "8b1d16d373234038c2b045c9ceb3c33b93059e8a",
      "parents": [
        "7a6362800cb7d1d618a697a650c7aaed3eb39320",
        "4ba8216cd90560bc402f52076f64d8546e8aefcb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: That\u0027s all, folks\n  fs/locks.c: Remove stale FIXME left over from BKL conversion\n  ipx: remove the BKL\n  appletalk: remove the BKL\n  x25: remove the BKL\n  ufs: remove the BKL\n  hpfs: remove the BKL\n  drivers: remove extraneous includes of smp_lock.h\n  tracing: don\u0027t trace the BKL\n  adfs: remove the big kernel lock\n"
    },
    {
      "commit": "7a6362800cb7d1d618a697a650c7aaed3eb39320",
      "tree": "087f9bc6c13ef1fad4b392c5cf9325cd28fa8523",
      "parents": [
        "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
        "ceda86a108671294052cbf51660097b6534672f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)\n  bonding: enable netpoll without checking link status\n  xfrm: Refcount destination entry on xfrm_lookup\n  net: introduce rx_handler results and logic around that\n  bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n  bonding: wrap slave state work\n  net: get rid of multiple bond-related netdevice-\u003epriv_flags\n  bonding: register slave pointer for rx_handler\n  be2net: Bump up the version number\n  be2net: Copyright notice change. Update to Emulex instead of ServerEngines\n  e1000e: fix kconfig for crc32 dependency\n  netfilter ebtables: fix xt_AUDIT to work with ebtables\n  xen network backend driver\n  bonding: Improve syslog message at device creation time\n  bonding: Call netif_carrier_off after register_netdevice\n  bonding: Incorrect TX queue offset\n  net_sched: fix ip_tos2prio\n  xfrm: fix __xfrm_route_forward()\n  be2net: Fix UDP packet detected status in RX compl\n  Phonet: fix aligned-mode pipe socket buffer header reserve\n  netxen: support for GbE port settings\n  ...\n\nFix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c\nwith the staging updates.\n"
    },
    {
      "commit": "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
      "tree": "475bfb1163c59d1370fd77415255afba768f9520",
      "parents": [
        "971f115a50afbe409825c9f3399d5a3b9aca4381",
        "9d90c8d9cde929cbc575098e825d7c29d9f45054"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)\n  printk: do not mangle valid userspace syslog prefixes\n  efivars: Add Documentation\n  efivars: Expose efivars functionality to external drivers.\n  efivars: Parameterize operations.\n  efivars: Split out variable registration\n  efivars: parameterize efivars\n  efivars: Make efivars bin_attributes dynamic\n  efivars: move efivars globals into struct efivars\n  drivers:misc: ti-st: fix debugging code\n  kref: Fix typo in kref documentation\n  UIO: add PRUSS UIO driver support\n  Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches\n  firmware: Fix unaligned memory accesses in dmi-sysfs\n  firmware: Add documentation for /sys/firmware/dmi\n  firmware: Expose DMI type 15 System Event Log\n  firmware: Break out system_event_log in dmi-sysfs\n  firmware: Basic dmi-sysfs support\n  firmware: Add DMI entry types to the headers\n  Driver core: convert platform_{get,set}_drvdata to static inline functions\n  Translate linux-2.6/Documentation/magic-number.txt into Chinese\n  ...\n"
    },
    {
      "commit": "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
      "tree": "7a59610f45f7222f25b3212c53fa28636bb4427c",
      "parents": [
        "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
        "dbebbfbb1605f0179e7c0d900d941cc9c45de569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtmutex: tester: Remove the remaining BKL leftovers\n  lockdep/timers: Explain in detail the locking problems del_timer_sync() may cause\n  rtmutex: Simplify PI algorithm and make highest prio task get lock\n  rwsem: Remove redundant asmregparm annotation\n  rwsem: Move duplicate function prototypes to linux/rwsem.h\n  rwsem: Unify the duplicate rwsem_is_locked() inlines\n  rwsem: Move duplicate init macros and functions to linux/rwsem.h\n  rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h\n  x86: Cleanup rwsem_count_t typedef\n  rwsem: Cleanup includes\n  locking: Remove deprecated lock initializers\n  cred: Replace deprecated spinlock initialization\n  kthread: Replace deprecated spinlock initialization\n  xtensa: Replace deprecated spinlock initialization\n  um: Replace deprecated spinlock initialization\n  sparc: Replace deprecated spinlock initialization\n  mips: Replace deprecated spinlock initialization\n  cris: Replace deprecated spinlock initialization\n  alpha: Replace deprecated spinlock initialization\n  rtmutex-tester: Remove BKL tests\n"
    },
    {
      "commit": "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
      "tree": "b3fbd9dcaac45feefc554b5a46888b2cbec0c51d",
      "parents": [
        "c345f60a5f58a65004f22fb0d257d65ec1528310",
        "07d5ecae2940ddd77746e2fb597dcf57d3c2e277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()\n  futex: Deobfuscate handle_futex_death()\n  plist: Add priority list test\n  plist: Shrink struct plist_head\n  futex,plist: Remove debug lock assignment from plist_node\n  futex,plist: Pass the real head of the priority list to plist_del()\n  futex: Sanitize futex ops argument types\n  futex: Sanitize cmpxchg_futex_value_locked API\n  futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic()\n  futex: Avoid redudant evaluation of task_pid_vnr()\n  futex: Update futex_wait_setup comments about locking\n"
    },
    {
      "commit": "6d55da53db3d9b911f69f2ce1e5fb8943eafe057",
      "tree": "f812fcb0cedfddb562fdc4cb25d3394e5325ccbf",
      "parents": [
        "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:18 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:14:48 2011 -0500"
      },
      "message": "plist: Add priority list test\n\nAdd test code for checking plist when the kernel is booting.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107986.1010302@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac",
      "tree": "c85f2b2acac9bf9b88e0c19d90d252b1780e0d35",
      "parents": [
        "017f2b239dabb2740b91df162e004371b861f371"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:14 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:13:26 2011 -0500"
      },
      "message": "plist: Shrink struct plist_head\n\nstruct plist_head is used in struct task_struct as well as struct\nrtmutex. If we can make it smaller, it will also make these structures\nsmaller as well.\n\nThe field prio_list in struct plist_head is seldom used and we can get\nits information from the plist_nodes. Removing this field will decrease\nthe size of plist_head by half.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107982.9090700@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "409ec36c320d580a036045e603f96286c362c609",
      "tree": "3dd9b3569799f7962b523a068052445e2d2c51aa",
      "parents": [
        "1b7fe59322bef9e7a2c05b64a07a66b875299736",
        "8d5eab5aa676378b4c9daa62d10d08a0bca04677"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "437aa565e2656776a7104aaacd792fe789ea8b2d",
      "tree": "a48688f36673af7bdb29fd24de216e170f4ef22b",
      "parents": [
        "2c1c5f199482356c00f70b6f2f368c3455d1230c"
      ],
      "author": {
        "name": "Ivan Djelic",
        "email": "ivan.djelic@parrot.com",
        "time": "Fri Mar 11 11:05:32 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Mar 11 14:25:50 2011 +0000"
      },
      "message": "lib: add shared BCH ECC library\n\nThis is a new software BCH encoding/decoding library, similar to the shared\nReed-Solomon library.\n\nBinary BCH (Bose-Chaudhuri-Hocquenghem) codes are widely used to correct\nerrors in NAND flash devices requiring more than 1-bit ecc correction; they\nare generally better suited for NAND flash than RS codes because NAND bit\nerrors do not occur in bursts. Latest SLC NAND devices typically require at\nleast 4-bit ecc protection per 512 bytes block.\n\nThis library provides software encoding/decoding, but may also be used with\nASIC/SoC hardware BCH engines to perform error correction. It is being\ncurrently used for this purpose on an OMAP3630 board (4bit/8bit HW BCH). It\nhas also been used to decode raw dumps of NAND devices with on-die BCH ecc\nengines (e.g. Micron 4bit ecc SLC devices).\n\nLatest NAND devices (including SLC) can exhibit high error rates (typically\na dozen or more bitflips per hour during stress tests); in order to\nminimize the performance impact of error correction, this library\nimplements recently developed algorithms for fast polynomial root finding\n(see bch.c header for details) instead of the traditional exhaustive Chien\nroot search; a few performance figures are provided below:\n\nPlatform: arm926ejs @ 468 MHz, 32 KiB icache, 16 KiB dcache\nBCH ecc : 4-bit per 512 bytes\n\nEncoding average throughput: 250 Mbits/s\n\nError correction time (compared with Chien search):\n\n        average   worst      average (Chien)  worst (Chien)\n----------------------------------------------------------\n1 bit    8.5 µs   11 µs         200 µs           383 µs\n2 bit    9.7 µs   12.5 µs       477 µs           728 µs\n3 bit   18.1 µs   20.6 µs       758 µs          1010 µs\n4 bit   19.5 µs   23 µs        1028 µs          1280 µs\n\nIn the above figures, \"worst\" is meant in terms of error pattern, not in\nterms of cache miss / page faults effects (not taken into account here).\n\nThe library has been extensively tested on the following platforms: x86,\nx86_64, arm926ejs, omap3630, qemu-ppc64, qemu-mips.\n\nSigned-off-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "997772884036e6e121de39322179989154437d9f",
      "tree": "618ef63c45e16892ea26a99cafef6b0442e8eca1",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 07 09:58:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 08 16:10:38 2011 +0100"
      },
      "message": "debugobjects: Add hint for better object identification\n\nIn complex subsystems like mac80211 structures can contain several\ntimers and work structs, so identifying a specific instance from the\ncall trace and object type output of debugobjects can be hard.\n\nAllow the subsystems which support debugobjects to provide a hint\nfunction. This function returns a pointer to a kernel address\n(preferrably the objects callback function) which is printed along\nwith the debugobjects type.\n\nAdd hint methods for timer_list, work_struct and hrtimer.\n\n[ tglx: Massaged changelog, made it compile ]\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c20110307085809.GA9334@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4ba8216cd90560bc402f52076f64d8546e8aefcb",
      "tree": "f64c272085c833b36755b5552a726f21eed3d142",
      "parents": [
        "ae7eb8979ccfa5e9e888101b9c940f20bd0f4115"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 22:52:22 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 05 10:56:00 2011 +0100"
      },
      "message": "BKL: That\u0027s all, folks\n\nThis removes the implementation of the big kernel lock,\nat last. A lot of people have worked on this in the\npast, I so the credit for this patch should be with\neveryone who participated in the hunt.\n\nThe names on the Cc list are the people that were the\nmost active in this, according to the recorded git\nhistory, in alphabetical order.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Blunck \u003cjblunck@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a7a9a24dcd2c57edf148ca9a14a510a5765ecf20",
      "tree": "0f4e10f3dd8ff996ec3ebd2fcc9566c7a3b6a970",
      "parents": [
        "b06af7a57de42707fee6eec784ee507960cc9131"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Tue Mar 01 20:03:05 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 14:05:17 2011 -0500"
      },
      "message": "lib-average: Make config option selectable\n\nMake CONFIG_AVERAGE selectable for out-of-tree users\nsuch as compat-wireless.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "4438a02fc4956f5f61918095708f183f5c63a9d3",
      "tree": "cc37b89534e3679d8e4e9c95935d040758a9de74",
      "parents": [
        "fb4b10ab5fadcf5012983e4306aec3131b808b1b",
        "4cd72c6e72e8a36a975decb53d70086008f386db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  MAINTAINERS: Add Andy Gospodarek as co-maintainer.\n  r8169: disable ASPM\n  RxRPC: Fix v1 keys\n  AF_RXRPC: Handle receiving ACKALL packets\n  cnic: Fix lost interrupt on bnx2x\n  cnic: Prevent status block race conditions with hardware\n  net: dcbnl: check correct ops in dcbnl_ieee_set()\n  e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead\n  igb: fix sparse warning\n  e1000: fix sparse warning\n  netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values\n  dccp: fix oops on Reset after close\n  ipvs: fix dst_lock locking on dest update\n  davinci_emac: Add Carrier Link OK check in Davinci RX Handler\n  bnx2x: update driver version to 1.62.00-6\n  bnx2x: properly calculate lro_mss\n  bnx2x: perform statistics \"action\" before state transition.\n  bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode).\n  bnx2x: Fix ethtool -t link test for MF (non-pmf) devices.\n  bnx2x: Fix nvram test for single port devices.\n  ...\n"
    },
    {
      "commit": "f51b452bed4ae5c20e1f8a790e4ed8663d909a40",
      "tree": "3c028a2cb74253d74cf4ed15b2900531217cb6b6",
      "parents": [
        "4688a066ecf60086ea82f68edb3b036b567d2c08"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 21:54:50 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Mar 02 00:02:39 2011 +0100"
      },
      "message": "tracing: don\u0027t trace the BKL\n\nNo reason to trace it when the last user is gone.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e3fa3aff0cb198e7c53d894f52146121d9592872",
      "tree": "69746e934e9b4cdff8ae686caafb471770755e73",
      "parents": [
        "f5a45325284ec10a907b96052ebf2168e7166b5c"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 28 12:38:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 12:38:25 2011 -0800"
      },
      "message": "net: fix nla_policy_len to actually _iterate_ over the policy\n\nCurrently nla_policy_len always returns n * NLA_HDRLEN:\nIt loops, but does not advance it\u0027s iterator.\nNLA_UNSPEC \u003d\u003d 0 does not contain a .len in any policy.\n\nTrivially fixed by adding p++.\n\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fba99fa38b023224680308a482e12a0eca87e4e1",
      "tree": "c4dba5806fbe88b626805293cf14e6c2b08ca870",
      "parents": [
        "f8407f26b4c9a36aab74fcdbd6e14ffe4f8d9476"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Feb 25 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "swiotlb: fix wrong panic\n\nswiotlb\u0027s map_page wrongly calls panic() when it can\u0027t find a buffer fit\nfor device\u0027s dma mask.  It should return an error instead.\n\nDevices with an odd dma mask (i.e.  under 4G) like b44 network card hit\nthis bug (the system crashes):\n\n   http://marc.info/?l\u003dlinux-kernel\u0026m\u003d129648943830106\u0026w\u003d2\n\nIf swiotlb returns an error, b44 driver can use the own bouncing\nmechanism.\n\nReported-by: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nTested-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\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": "de933bd833be1a53bd361c9a327afd3c65413351",
      "tree": "611a38a0c47d39c5249fe524938c1de4231cbc72",
      "parents": [
        "3cbea4366f17dcb22f3bf5f253eeb86b622d24d0"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Feb 18 21:47:20 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Feb 24 15:26:43 2011 +0100"
      },
      "message": "kbuild: reenable section mismatch analysis\n\nThis was disabled in commit\n\n\te5f95c8 (kbuild: print only total number of section mismatces found)\n\nbecause there were too many warnings.  Now we\u0027re down to a reasonable\nnumber again, so we start scaring people with the details.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "da935c66bacb3ed9ada984b053297f87c2dff63a",
      "tree": "46278da2b312c73f1375b830d7e5912bf23abd78",
      "parents": [
        "9435eb1cf0b76b323019cebf8d16762a50a12a19",
        "2205a6ea93fea76f88b43727fea53f3ce3790d6f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/e1000e/netdev.c\n\tnet/xfrm/xfrm_policy.c\n"
    },
    {
      "commit": "3c18d4de86e4a7f93815c081e50e0543fa27200f",
      "tree": "adea22bccd076266bf94cbda3ed6d9a98eea1206",
      "parents": [
        "2a324ce7b79a3a90cc2d4ade5d5f960a99000caa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 11:32:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 11:32:28 2011 -0800"
      },
      "message": "Expand CONFIG_DEBUG_LIST to several other list operations\n\nWhen list debugging is enabled, we aim to readably show list corruption\nerrors, and the basic list_add/list_del operations end up having extra\ndebugging code in them to do some basic validation of the list entries.\n\nHowever, \"list_del_init()\" and \"list_move[_tail]()\" ended up avoiding\nthe debug code due to how they were written. This fixes that.\n\nSo the _next_ time we have list_move() problems with stale list entries,\nwe\u0027ll hopefully have an easier time finding them..\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3ec4a603faf4244e275bf11b467aad092dfbd8a",
      "tree": "1c15009716b37629070ea221a00eb9fe2303a317",
      "parents": [
        "51563cd53c4b1c1790fccd2e0af0e2b756589af9",
        "85e2efbb1db9a18d218006706d6e4fbeb0216213"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:33:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:33:41 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38-rc5\u0027 into core/locking\n\nMerge reason: pick up upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73020415564a3fe4931f3f70f500a5db13eea946",
      "tree": "9363beed576c0b1fae011f7e8bebeb6a73934e4f",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Jan 22 22:35:38 2011 +0100"
      },
      "committer": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Tue Feb 08 15:07:44 2011 +1000"
      },
      "message": "m68knommu: Remove dependencies on nonexistent M68KNOMMU\n\nM68KNOMMU is set nowhere.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\n"
    },
    {
      "commit": "e8d9792aa514e49bf618713987c393d93babc2c5",
      "tree": "f348c8f70a62f05a4ccb56830f18862c2f12e161",
      "parents": [
        "c47dda7d179dde17697c3f839f150fecaf6770cb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "message": "dynamic_debug: add #include \u003clinux/sched.h\u003e\n\nThis fixes a build breakage caused by\n8ba6ebf583f12da32036fc0f003ab4043e54692e \"Dynamic debug: Add more flags\"\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ba6ebf583f12da32036fc0f003ab4043e54692e",
      "tree": "8fdd980d30fea50722b28fb5d782236174b2d188",
      "parents": [
        "9b99b7f84ea520d2ecaf816bde247a1ad07e454e"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sun Jan 23 17:17:24 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:39:16 2011 -0800"
      },
      "message": "Dynamic debug: Add more flags\n\nAdd flags that allow the user to specify via debugfs whether or not the\nmodule name, function name, line number and/or thread ID have to be\nincluded in the printed message.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Greg Banks \u003cgnb@fmeh.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "51563cd53c4b1c1790fccd2e0af0e2b756589af9",
      "tree": "d2fedfc654ab4fa011feaca262f95481a89e232a",
      "parents": [
        "d123375425d7df4b6081a631fc1203fceafa59b2",
        "8161239a8bcce9ad6b537c04a1fa3b5c68bae693"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 15:08:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 15:09:14 2011 +0100"
      },
      "message": "Merge branch \u0027tip/rtmutex\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into core/locking\n\n*git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace tip/rtmutex:\n   rtmutex: Simplify PI algorithm and make highest prio task get lock\n"
    },
    {
      "commit": "0b6bb66d1247601e4a2560bb048d64c606bd7b73",
      "tree": "74319fede412aab03d19034a30eaf164d3dc2498",
      "parents": [
        "b12ece7d852efbc8db45371c068900fcc62002d4"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Jan 26 15:55:36 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:16:59 2011 +1000"
      },
      "message": "Export the augmented rbtree helper functions\n\nThe augmented rbtree helper functions are not exported to modules right\nnow.\n\n(We have started using augmented rbtrees in the upcoming version of\ndrbd.)\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@linbit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7205649778ca4a110d6098f8defd7312f0bb7289",
      "tree": "1e056fcdf578a62e5639e0a2b5cb8cd393115491",
      "parents": [
        "0b711cac8b9e604c93b32ca6e0b6b73261056d65",
        "4bb9ebc78097376b3734c6d3001a96aecac0f7bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:35:51 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:35:51 2011 +1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits)\n  bnx2: Eliminate AER error messages on systems not supporting it\n  cnic: Fix big endian bug\n  xfrm6: Don\u0027t forget to propagate peer into ipsec route.\n  tg3: Use new VLAN code\n  bonding: update documentation - alternate configuration.\n  TCP: fix a bug that triggers large number of TCP RST by mistake\n  MAINTAINERS: remove Reinette Chatre as iwlwifi maintainer\n  rt2x00: add device id for windy31 usb device\n  mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface\n  ipv6: Revert \u0027administrative down\u0027 address handling changes.\n  textsearch: doc - fix spelling in lib/textsearch.c.\n  USB NET KL5KUSB101: Fix mem leak in error path of kaweth_download_firmware()\n  pch_gbe: don\u0027t use flush_scheduled_work()\n  bnx2: Always set ETH_FLAG_TXVLAN\n  net: clear heap allocation for ethtool_get_regs()\n  ipv6: Always clone offlink routes.\n  dcbnl: make get_app handling symmetric for IEEE and CEE DCBx\n  tcp: fix bug in listening_get_next()\n  inetpeer: Use correct AVL tree base pointer in inet_getpeer().\n  GRO: fix merging a paged skb after non-paged skbs\n  ...\n"
    },
    {
      "commit": "d123375425d7df4b6081a631fc1203fceafa59b2",
      "tree": "4236dd54ab130ff87e257a85dc87a55d49ed4222",
      "parents": [
        "aac72277fda6ef788bb8d5deaa502ce9b9b6e472"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 26 21:32:01 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 27 12:30:40 2011 +0100"
      },
      "message": "rwsem: Remove redundant asmregparm annotation\n\nPeter Zijlstra pointed out, that the only user of asmregparm (x86) is\ncompiling the kernel already with -mregparm\u003d3. So the annotation of\nthe rwsem functions is redundant. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1101262130450.31804@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b4e69ac670d71b5748dc81e536b2cb103489badd",
      "tree": "26a04ba5d950657132fd6acb4e0ef17d0bcabe93",
      "parents": [
        "144ce879b057c760194d808c90826cd96308f423",
        "7cc2edb83447775a34ed3bf9d29d8295a434b523"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ac15ee691fe84cb46cbd2497ddcb10e246f7ee47",
      "tree": "6f9b37d61833b6170b71fb6ce8b3f2a14196dc33",
      "parents": [
        "1817dc0370873caff77b924b53ae489edaf9b1e2"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Tue Jan 25 15:07:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:04 2011 +1000"
      },
      "message": "radix_tree: radix_tree_gang_lookup_tag_slot() may never return\n\nExecuted command: fsstress -d /mnt -n 600 -p 850\n\n  crash\u003e bt\n  PID: 7947   TASK: ffff880160546a70  CPU: 0   COMMAND: \"fsstress\"\n   #0 [ffff8800dfc07d00] machine_kexec at ffffffff81030db9\n   #1 [ffff8800dfc07d70] crash_kexec at ffffffff810a7952\n   #2 [ffff8800dfc07e40] oops_end at ffffffff814aa7c8\n   #3 [ffff8800dfc07e70] die_nmi at ffffffff814aa969\n   #4 [ffff8800dfc07ea0] do_nmi_callback at ffffffff8102b07b\n   #5 [ffff8800dfc07f10] do_nmi at ffffffff814aa514\n   #6 [ffff8800dfc07f50] nmi at ffffffff814a9d60\n      [exception RIP: __lookup_tag+100]\n      RIP: ffffffff812274b4  RSP: ffff88016056b998  RFLAGS: 00000287\n      RAX: 0000000000000000  RBX: 0000000000000002  RCX: 0000000000000006\n      RDX: 000000000000001d  RSI: ffff88016056bb18  RDI: ffff8800c85366e0\n      RBP: ffff88016056b9c8   R8: ffff88016056b9e8   R9: 0000000000000000\n      R10: 000000000000000e  R11: ffff8800c8536908  R12: 0000000000000010\n      R13: 0000000000000040  R14: ffffffffffffffc0  R15: ffff8800c85366e0\n      ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018\n  \u003cNMI exception stack\u003e\n   #7 [ffff88016056b998] __lookup_tag at ffffffff812274b4\n   #8 [ffff88016056b9d0] radix_tree_gang_lookup_tag_slot at ffffffff81227605\n   #9 [ffff88016056ba20] find_get_pages_tag at ffffffff810fc110\n  #10 [ffff88016056ba80] pagevec_lookup_tag at ffffffff81105e85\n  #11 [ffff88016056baa0] write_cache_pages at ffffffff81104c47\n  #12 [ffff88016056bbd0] generic_writepages at ffffffff81105014\n  #13 [ffff88016056bbe0] do_writepages at ffffffff81105055\n  #14 [ffff88016056bbf0] __filemap_fdatawrite_range at ffffffff810fb2cb\n  #15 [ffff88016056bc40] filemap_write_and_wait_range at ffffffff810fb32a\n  #16 [ffff88016056bc70] generic_file_direct_write at ffffffff810fb3dc\n  #17 [ffff88016056bce0] __generic_file_aio_write at ffffffff810fcee5\n  #18 [ffff88016056bda0] generic_file_aio_write at ffffffff810fd085\n  #19 [ffff88016056bdf0] do_sync_write at ffffffff8114f9ea\n  #20 [ffff88016056bf00] vfs_write at ffffffff8114fcf8\n  #21 [ffff88016056bf30] sys_write at ffffffff81150691\n  #22 [ffff88016056bf80] system_call_fastpath at ffffffff8100c0b2\n\nI think this root cause is the following:\n\n radix_tree_range_tag_if_tagged() always tags the root tag with settag\n if the root tag is set with iftag even if there are no iftag tags\n in the specified range (Of course, there are some iftag tags\n outside the specified range).\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[[[Detailed description]]]\n\n(1) Why cannot radix_tree_gang_lookup_tag_slot() return forever?\n\n__lookup_tag():\n - Return with 0.\n - Return with the index which is not bigger than the old one as the\n   input parameter.\n\nTherefore the following \"while\" repeats forever because the above\nconditions cause \"ret\" not to be updated and the cur_index cannot be\nchanged into the bigger one.\n\n(So, radix_tree_gang_lookup_tag_slot() cannot return forever.)\n\nradix_tree_gang_lookup_tag_slot():\n1178         while (ret \u003c max_items) {\n1179                 unsigned int slots_found;\n1180                 unsigned long next_index;       /* Index of next search */\n1181\n1182                 if (cur_index \u003e max_index)\n1183                         break;\n1184                 slots_found \u003d __lookup_tag(node, results + ret,\n1185                                 cur_index, max_items - ret, \u0026next_index,\ntag);\n1186                 ret +\u003d slots_found;\n\t\t\t// cannot update ret because slots_found \u003d\u003d 0.\n\t\t\t// so, this while loops forever.\n1187                 if (next_index \u003d\u003d 0)\n1188                         break;\n1189                 cur_index \u003d next_index;\n1190         }\n\n(2) Why does __lookup_tag() return with 0 and doesn\u0027t update the index?\n\nAssuming the following:\n  - the one of the slot in radix_tree_node is NULL.\n  - the one of the tag which corresponds to the slot sets with\n    PAGECACHE_TAG_TOWRITE or other.\n  - In a certain height(!\u003d0), the corresponding index is 0.\n\na) __lookup_tag() notices that the tag is set.\n\n1005 static unsigned int\n1006 __lookup_tag(struct radix_tree_node *slot, void ***results, unsigned long index,\n1007         unsigned int max_items, unsigned long *next_index, unsigned int tag)\n1008 {\n1009         unsigned int nr_found \u003d 0;\n1010         unsigned int shift, height;\n1011\n1012         height \u003d slot-\u003eheight;\n1013         if (height \u003d\u003d 0)\n1014                 goto out;\n1015         shift \u003d (height-1) * RADIX_TREE_MAP_SHIFT;\n1016\n1017         while (height \u003e 0) {\n1018                 unsigned long i \u003d (index \u003e\u003e shift) \u0026 RADIX_TREE_MAP_MASK ;\n1019\n1020                 for (;;) {\n1021                         if (tag_get(slot, tag, i))\n1022                                 break;\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n* the index is not updated yet.\n\nb) __lookup_tag() notices that the slot is NULL.\n\n1023                         index \u0026\u003d ~((1UL \u003c\u003c shift) - 1);\n1024                         index +\u003d 1UL \u003c\u003c shift;\n1025                         if (index \u003d\u003d 0)\n1026                                 goto out;       /* 32-bit wraparound */\n1027                         i++;\n1028                         if (i \u003d\u003d RADIX_TREE_MAP_SIZE)\n1029                                 goto out;\n1030                 }\n1031                 height--;\n1032                 if (height \u003d\u003d 0) {      /* Bottom level: grab some items */\n...\n1055                 }\n1056                 shift -\u003d RADIX_TREE_MAP_SHIFT;\n1057                 slot \u003d rcu_dereference_raw(slot-\u003eslots[i]);\n1058                 if (slot \u003d\u003d NULL)\n1059                         break;\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nc) __lookup_tag() doesn\u0027t update the index and return with 0.\n\n1060         }\n1061 out:\n1062         *next_index \u003d index;\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1063         return nr_found;\n1064 }\n\n(3) Why is the slot NULL even if the tag is set?\n\nBecause radix_tree_range_tag_if_tagged() always sets the root tag with\nPAGECACHE_TAG_TOWRITE if the root tag is set with PAGECACHE_TAG_DIRTY,\neven if there is no tag which can be set with PAGECACHE_TAG_TOWRITE\nin the specified range (from *first_indexp to last_index). Of course,\nsome PAGECACHE_TAG_DIRTY nodes must exist outside the specified range.\n(radix_tree_range_tag_if_tagged() is called only from tag_pages_for_writeback())\n\n 640 unsigned long radix_tree_range_tag_if_tagged(struct radix_tree_root\n*root,\n 641                 unsigned long *first_indexp, unsigned long last_index,\n 642                 unsigned long nr_to_tag,\n 643                 unsigned int iftag, unsigned int settag)\n 644 {\n 645         unsigned int height \u003d root-\u003eheight;\n 646         struct radix_tree_path path[height];\n 647         struct radix_tree_path *pathp \u003d path;\n 648         struct radix_tree_node *slot;\n 649         unsigned int shift;\n 650         unsigned long tagged \u003d 0;\n 651         unsigned long index \u003d *first_indexp;\n 652\n 653         last_index \u003d min(last_index, radix_tree_maxindex(height));\n 654         if (index \u003e last_index)\n 655                 return 0;\n 656         if (!nr_to_tag)\n 657                 return 0;\n 658         if (!root_tag_get(root, iftag)) {\n 659                 *first_indexp \u003d last_index + 1;\n 660                 return 0;\n 661         }\n 662         if (height \u003d\u003d 0) {\n 663                 *first_indexp \u003d last_index + 1;\n 664                 root_tag_set(root, settag);\n 665                 return 1;\n 666         }\n...\n 733         root_tag_set(root, settag);\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n 734         *first_indexp \u003d index;\n 735\n 736         return tagged;\n 737 }\n\nAs the result, there is no radix_tree_node which is set with\nPAGECACHE_TAG_TOWRITE but the root tag(radix_tree_root) is set with\nPAGECACHE_TAG_TOWRITE.\n\n[figure: inside radix_tree]\n(Please see the figure with typewriter font)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY]\n                 |             tag\u003d0:NOTHING\n         tag[0 0 0 1]              1:DIRTY\n            [x x x +]              2:WRITEBACK\n                   |               3:DIRTY,WRITEBACK\n                   p               4:TOWRITE\n             \u003c---\u003e                 5:DIRTY,TOWRITE ...\n     specified range (index: 0 to 2)\n\n* There is no DIRTY tag within the specified range.\n (But there is a DIRTY tag outside that range.)\n\n            | | | | | | | | |\n    after calling tag_pages_for_writeback()\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |                 p is \"page\".\n         tag[0 0 0 1]              x is NULL.\n            [x x x +]              +- is a pointer to \"page\".\n                   |\n                   p\n\n* But TOWRITE tag is set on the root tag.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAfter that, radix_tree_extend() via radix_tree_insert() is called\nwhen the page is added.\nThis function sets the new radix_tree_node with PAGECACHE_TAG_TOWRITE\nto succeed the status of the root tag.\n\n 246 static int radix_tree_extend(struct radix_tree_root *root, unsigned long\nindex)\n 247 {\n 248         struct radix_tree_node *node;\n 249         unsigned int height;\n 250         int tag;\n 251\n 252         /* Figure out what the height should be.  */\n 253         height \u003d root-\u003eheight + 1;\n 254         while (index \u003e radix_tree_maxindex(height))\n 255                 height++;\n 256\n 257         if (root-\u003ernode \u003d\u003d NULL) {\n 258                 root-\u003eheight \u003d height;\n 259                 goto out;\n 260         }\n 261\n 262         do {\n 263                 unsigned int newheight;\n 264                 if (!(node \u003d radix_tree_node_alloc(root)))\n 265                         return -ENOMEM;\n 266\n 267                 /* Increase the height.  */\n 268                 node-\u003eslots[0] \u003d radix_tree_indirect_to_ptr(root-\u003ernode);\n 269\n 270                 /* Propagate the aggregated tag info into the new root */\n 271                 for (tag \u003d 0; tag \u003c RADIX_TREE_MAX_TAGS; tag++) {\n 272                         if (root_tag_get(root, tag))\n 273                                 tag_set(node, tag, 0);\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n 274                 }\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY,TOWRITE]\n                 |     :\n         tag[0 0 0 1] [0 0 0 0]\n            [x x x +] [+ x x x]\n                   |   |\n                   p   p (new page)\n\n            | | | | | | | | |\n    after calling radix_tree_insert\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [5 0 0 0]    *  DIRTY and TOWRITE tags are\n             [+ + x x]       succeeded to the new node.\n              | |\n  tag [0 0 0 1] [0 0 0 0]\n      [x x x +] [+ x x x]\n             |   |\n             p   p\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAfter that, the index 3 page is released by remove_from_page_cache().\nThen we can make the situation that the tag is set with PAGECACHE_TAG_TOWRITE\nand that the slot which corresponds to the tag is NULL.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [5 0 0 0]\n             [+ + x x]\n              | |\n  tag [0 0 0 1] [0 0 0 0]\n      [x x x +] [+ x x x]\n             |   |\n             p   p\n         (remove)\n\n            | | | | | | | | |\n    after calling remove_page_cache\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [4 0 0 0]      * Only DIRTY tag is cleared\n             [x + x x]        because no TOWRITE tag is existed\n                |             in the bottom node.\n                [0 0 0 0]\n                [+ x x x]\n                 |\n                 p\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nTo solve this problem\n\nChange to that radix_tree_tag_if_tagged() doesn\u0027t tag the root tag\nif it doesn\u0027t set any tags within the specified range.\n\nLike this.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 640 unsigned long radix_tree_range_tag_if_tagged(struct radix_tree_root\n*root,\n 641                 unsigned long *first_indexp, unsigned long last_index,\n 642                 unsigned long nr_to_tag,\n 643                 unsigned int iftag, unsigned int settag)\n 644 {\n 650         unsigned long tagged \u003d 0;\n...\n 733 \t     if (tagged)\n^^^^^^^^^^^^^^^^^^^^^^^^\n 734            root_tag_set(root, settag);\n 735         *first_indexp \u003d index;\n 736\n 737         return tagged;\n 738 }\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de0368d5fec7b9ef95228510f2edb79610beb448",
      "tree": "614abfbcef4a3c5918f1bc146abed735caf719a5",
      "parents": [
        "986e3f6e2b4582d9a7e61de5090042d5af85da44"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Mon Jan 24 02:41:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 23:33:30 2011 -0800"
      },
      "message": "textsearch: doc - fix spelling in lib/textsearch.c.\n\nFound the following spelling errors while reading the textsearch code:\n  \"facitilies\"  -\u003e \"facilities\"\n  \"continously\" -\u003e \"continuously\"\n  \"arbitary\"    -\u003e \"arbitrary\"\n  \"patern\"      -\u003e \"pattern\"\n  \"occurences\"  -\u003e \"occurrences\"\n\nI\u0027ll try to push this patch through DaveM, given the only users\nof textsearch is in the net/ tree (nf_conntrack_amanda.c, xt_string.c\nand em_text.c)\n\nSigned-off-by: Jesper Sander \u003csander.contrib@gmail.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c39649c331c70952700f99832b03f87e9d7f5b4b",
      "tree": "19ba9cea5102595e42bcd043aa53eb666ea834fa",
      "parents": [
        "c2df88cbb43c25db27fbbf94e92318bdad018f3e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:51:56 2011 -0800"
      },
      "message": "lib: cpu_rmap: CPU affinity reverse-mapping\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add\nlibrary functions to support a generic reverse-mapping from CPUs to\nobjects with affinity and the specific case where the objects are\nIRQs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "1da914e0648ace34e1c3738d9584e8b2cd6fe64a",
      "tree": "d52798bed2086ea7fd9182ff1e9ddae8b09c4740",
      "parents": [
        "303148045aac34b70db722a54e5ad94a3a6625c6"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:25 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:25 2011 -0800"
      },
      "message": "decompressors: check input size in decompress_inflate.c\n\nCheck for end of the input buffer when skipping over the filename field in\nthe .gz file header.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ebe12439ba7fc62e1d6ecb569b7287771716ca1",
      "tree": "65945a63ad1474489d80c8ca1fb1c1c8091fb7a2",
      "parents": [
        "24fa0402a9b6a537e87e38341e78b7da86486846"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:25 2011 -0800"
      },
      "message": "decompressors: add boot-time XZ support\n\nThis implements the API defined in \u003clinux/decompress/generic.h\u003e which is\nused for kernel, initramfs, and initrd decompression.  This patch together\nwith the first patch is enough for XZ-compressed initramfs and initrd;\nXZ-compressed kernel will need arch-specific changes.\n\nThe buffering requirements described in decompress_unxz.c are stricter\nthan with gzip, so the relevant changes should be done to the\narch-specific code when adding support for XZ-compressed kernel.\nSimilarly, the heap size in arch-specific pre-boot code may need to be\nincreased (30 KiB is enough).\n\nThe XZ decompressor needs memmove(), memeq() (memcmp() \u003d\u003d 0), and\nmemzero() (memset(ptr, 0, size)), which aren\u0027t available in all\narch-specific pre-boot environments.  I\u0027m including simple versions in\ndecompress_unxz.c, but a cleaner solution would naturally be nicer.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24fa0402a9b6a537e87e38341e78b7da86486846",
      "tree": "06adb32802cf8a3491dff1f4e5cad464c676040a",
      "parents": [
        "fb7fa589fd3ecc212fabd7867a4ecc3b175260c1"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "decompressors: add XZ decompressor module\n\nIn userspace, the .lzma format has become mostly a legacy file format that\ngot superseded by the .xz format.  Similarly, LZMA Utils was superseded by\nXZ Utils.\n\nThese patches add support for XZ decompression into the kernel.  Most of\nthe code is as is from XZ Embedded \u003chttp://tukaani.org/xz/embedded.html\u003e.\nIt was written for the Linux kernel but is usable in other projects too.\n\nAdvantages of XZ over the current LZMA code in the kernel:\n  - Nice API that can be used by other kernel modules; it\u0027s\n    not limited to kernel, initramfs, and initrd decompression.\n  - Integrity check support (CRC32)\n  - BCJ filters improve compression of executable code on\n    certain architectures. These together with LZMA2 can\n    produce a few percent smaller kernel or Squashfs images\n    than plain LZMA without making the decompression slower.\n\nThis patch: Add the main decompression code (xz_dec), testing module\n(xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,\nand documentation.  The xz_dec module is enough to have a usable XZ\ndecompressor e.g.  for Squashfs.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb7fa589fd3ecc212fabd7867a4ecc3b175260c1",
      "tree": "785e193aaaf9537136140084f8cf2f5ea0d1fb9f",
      "parents": [
        "5a3f81a7029daff5f08aad146f4c4510e790da49"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: fix callback-to-callback mode in decompress_unlzo.c\n\nCallback-to-callback decompression mode is used for initrd (not\ninitramfs).  The LZO wrapper is broken for this use case for two reasons:\n\n  - The argument validation is needlessly too strict by\n    requiring that \"posp\" is non-NULL when \"fill\" is non-NULL.\n\n  - The buffer handling code didn\u0027t work at all for this\n    use case.\n\nI tested with LZO-compressed kernel, initramfs, initrd, and corrupt\n(truncated) initramfs and initrd images.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a3f81a7029daff5f08aad146f4c4510e790da49",
      "tree": "08f0dfe372ebb5db518de2e80c4fb1d7c81f70be",
      "parents": [
        "8f9b54a35a70b604ebd2b2f2e7e04eabd0ff8a54"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: check input size in decompress_unlzo.c\n\nThe code assumes that the input is valid and not truncated.  Add checks to\navoid reading past the end of the input buffer.  Change the type of \"skip\"\nfrom u8 to int to fix a possible integer overflow.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8f9b54a35a70b604ebd2b2f2e7e04eabd0ff8a54"
}
