)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "8f9b54a35a70b604ebd2b2f2e7e04eabd0ff8a54",
      "tree": "c71b832a9c1c571c00dba35b39b5b94d03764c2d",
      "parents": [
        "eb0cf3e19b4940a2d26dcdea03510ae16a580fcd"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: check for write errors in decompress_unlzo.c\n\nThe return value of flush() is not checked in unlzo().  This means that\nthe decompressor won\u0027t stop even if the caller doesn\u0027t want more data.\nThis can happen e.g.  with a corrupt LZO-compressed initramfs image.\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": "eb0cf3e19b4940a2d26dcdea03510ae16a580fcd",
      "tree": "fb7eabafd37cdddee9c082bb29844474699f6a8f",
      "parents": [
        "528941ca05734f24a7568c1c082125f2b635c4eb"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: validate match distance in decompress_unlzma.c\n\nValidate the newly decoded distance (rep0) in process_bit1().  This is to\ndetect corrupt LZMA data quickly.  The old code can run for long time\nproducing garbage until it hits the end of the input.\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": "528941ca05734f24a7568c1c082125f2b635c4eb",
      "tree": "1fb14770f7605c09863175787671217408203c26",
      "parents": [
        "278208d9d631524d04152574f87b9b88919ce663"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: check for write errors in decompress_unlzma.c\n\nThe return value of wr-\u003eflush() is not checked in write_byte().  This\nmeans that the decompressor won\u0027t stop even if the caller doesn\u0027t want\nmore data.  This can happen e.g.  with corrupt LZMA-compressed initramfs.\nReturning the error quickly allows the user to see the error message\nquicker.\n\nThere is a similar missing check for wr.flush() near the end of unlzma().\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": "278208d9d631524d04152574f87b9b88919ce663",
      "tree": "ee50d75ba3589c76b45525a8b0c30eb85d6634a7",
      "parents": [
        "8218a437234309faa5725f82c33c3523788d5f68"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: check for read errors in decompress_unlzma.c\n\nReturn value of rc-\u003efill() is checked in rc_read() and error() is called\nwhen needed, but then the code continues as if nothing had happened.\n\nrc_read() is a void function and it\u0027s on the top of performance critical\ncall stacks, so propagating the error code via return values doesn\u0027t sound\nlike the best fix.  It seems better to check rc-\u003ebuffer_size (which holds\nthe return value of rc-\u003efill()) in the main loop.  It does nothing bad\nthat the code runs a little with unknown data after a failed rc-\u003efill().\n\nThis fixes an infinite loop in initramfs decompression if the\nLZMA-compressed initramfs image is corrupt.\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": "8218a437234309faa5725f82c33c3523788d5f68",
      "tree": "9d21b42e47fa5a450df28246c4d26221d6ef6105",
      "parents": [
        "22e4420820bdab66fee8c0b0a8acdd35c1000595"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: fix header validation in decompress_unlzma.c\n\nValidation of header.pos calls error() but doesn\u0027t make the function\nreturn to indicate an error to the caller.  Instead the decoding is\nattempted with invalid header.pos.  This fixes it.\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": "22e4420820bdab66fee8c0b0a8acdd35c1000595",
      "tree": "470e487a7d828fb0dd27e92dced1628840d8f14a",
      "parents": [
        "2b6b5caa6d05579bd1501006e34feec1b2aef8c4"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:23 2011 -0800"
      },
      "message": "Decompressors: remove unused function from lib/decompress_unlzma.c\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": "2b6b5caa6d05579bd1501006e34feec1b2aef8c4",
      "tree": "9345fc087fab818c36bf348a563ba1f83c350bda",
      "parents": [
        "93685ad247ef65b7d6f90ffe97b44f5cfeaf40d3"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:23 2011 -0800"
      },
      "message": "Decompressors: include \u003clinux/slab.h\u003e in \u003clinux/decompress/mm.h\u003e\n\nCurrently users of mm.h need to include \u003clinux/slab.h\u003e to use the macros\nmalloc() and free() provided by mm.h.  This fixes it.\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": "93685ad247ef65b7d6f90ffe97b44f5cfeaf40d3",
      "tree": "979868b5a03a7e73c792e222646a1876b3dc0216",
      "parents": [
        "6b01ed64c19b52121a717274d271d9915f8d3e94"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:23 2011 -0800"
      },
      "message": "Decompressors: get rid of set_error_fn() macro\n\nset_error_fn() has become a useless complication after c1e7c3ae59\n(\"bzip2/lzma/gzip: pre-boot malloc doesn\u0027t return NULL on failure\") fixed\nthe use of error() in malloc().  Only decompress_unlzma.c had some use for\nit and that was easy to change too.\n\nThis also gets rid of the static function pointer \"error\", which\nshould have been marked as __initdata.\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": "6b01ed64c19b52121a717274d271d9915f8d3e94",
      "tree": "b95d764b193d8ae6b9d99053aa7f905be3b7d281",
      "parents": [
        "8d0a1decb4a07bcb8ef5c4d7f693eafdebc2c41b"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:23 2011 -0800"
      },
      "message": "Decompressors: add missing INIT (i.e. __init)\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": "78c377d1b5e7ef15c8c307c2aa2511602a0829c3",
      "tree": "306f17444a4c5e190ff3b3513204910a386998e8",
      "parents": [
        "734825796446930c57f69677f2e6cf1683d012f2"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Jan 12 16:59:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:11 2011 -0800"
      },
      "message": "flex_array: export symbols to modules\n\nAlex said:\n\n  I want to use flex_array to store a sparse array of ATM cell\n  re-assembly buffers for my ATM over Ethernet driver.  Using the per-vcc\n  user_back structure causes problems when stacked with things like\n  br2684.\n\nAdd EXPORT_SYMBOL() for all publically accessible flex array functions\nand move to obj-y so that modules may use this library.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nReported-by: Alex Bennee \u003ckernel-hacker@bennee.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b921c69fb262988ff7856493a8453661a1bac814",
      "tree": "87496b306fb609adcbf65b2fe5151a49e0957ca6",
      "parents": [
        "a3f938bf6f5746d39e013d03ba13118a393fee96"
      ],
      "author": {
        "name": "Anton Arapov",
        "email": "aarapov@redhat.com",
        "time": "Wed Jan 12 16:59:49 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:10 2011 -0800"
      },
      "message": "lib/vsprintf.c: fix vscnprintf() if @size is \u003d\u003d 0\n\nvscnprintf() should return 0 if @size is \u003d\u003d 0.  Update the comment for it,\nas @size is unsigned.\n\nThis change based on the code of commit\nb903c0b8899b46829a9b80ba55b61079b35940ec (\"lib: fix scnprintf() if @size\nis \u003d\u003d 0\") moves the real fix into vscnprinf() from scnprintf() and makes\nscnprintf() call vscnprintf(), thus avoid code duplication.\n\nSigned-off-by: Anton Arapov \u003caarapov@redhat.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac83ed687837a44c6e46fb16411fb0d299fffd80",
      "tree": "04abc4db3153056b2c478209bfb8a4c7701d6a5b",
      "parents": [
        "16cb839f13324978bd58082e69de81a711802b11"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jan 12 16:59:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:10 2011 -0800"
      },
      "message": "include/linux/printk.h lib/hexdump.c: neatening and add CONFIG_PRINTK guard\n\n- Move prototypes and align arguments.\n\n- Add CONFIG_PRINTK guard for print_hex functions\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "455cd5ab305c90ffc422dd2e0fb634730942b257",
      "tree": "c20e6c3f8e58967991ce9002abe03d31897b171c",
      "parents": [
        "351f8f8e6499ae4fff40f5e3a8fe16d9e1903646"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Wed Jan 12 16:59:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:08 2011 -0800"
      },
      "message": "kptr_restrict for hiding kernel pointers from unprivileged users\n\nAdd the %pK printk format specifier and the /proc/sys/kernel/kptr_restrict\nsysctl.\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\n[akpm@linux-foundation.org: check for IRQ context when !kptr_restrict, save an indent level, s/WARN/WARN_ONCE/]\n[akpm@linux-foundation.org: coding-style fixup]\n[randy.dunlap@oracle.com: fix kernel/sysctl.c warning]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81e88fdc432a1552401d6e91a984dcccce72b8dc",
      "tree": "41ef511cda7ddf6b96f8d923ffceff74651a5790",
      "parents": [
        "32c361f574f85fa47600d84900598e2efc99082e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 14:44:55 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 12 03:06:19 2011 -0500"
      },
      "message": "ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support\n\nGeneric Hardware Error Source provides a way to report platform\nhardware errors (such as that from chipset). It works in so called\n\"Firmware First\" mode, that is, hardware errors are reported to\nfirmware firstly, then reported to Linux by firmware. This way, some\nnon-standard hardware error registers or non-standard hardware link\ncan be checked by firmware to produce more valuable hardware error\ninformation for Linux.\n\nThis patch adds POLL/IRQ/NMI notification types support.\n\nBecause the memory area used to transfer hardware error information\nfrom BIOS to Linux can be determined only in NMI, IRQ or timer\nhandler, but general ioremap can not be used in atomic context, so a\nspecial version of atomic ioremap is implemented for that.\n\nKnown issue:\n\n- Error information can not be printed for recoverable errors notified\n  via NMI, because printk is not NMI-safe. Will fix this via delay\n  printing to IRQ context via irq_work or make printk NMI-safe.\n\nv2:\n\n- adjust printk format per comments.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "42776163e13a56ea3096edff7a5df95408e80eb4",
      "tree": "92f17bb5dadc7261b2d9238244cd8d4cb6c1bfd7",
      "parents": [
        "edb2877f4a62647e36e20839a786f94d688a06ed",
        "3d03e2ea74103a50c23d6ab1906cf73399c0dafb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 11:02:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 11:02:13 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)\n  perf session: Fix infinite loop in __perf_session__process_events\n  perf evsel: Support perf_evsel__open(cpus \u003e 1 \u0026\u0026 threads \u003e 1)\n  perf sched: Use PTHREAD_STACK_MIN to avoid pthread_attr_setstacksize() fail\n  perf tools: Emit clearer message for sys_perf_event_open ENOENT return\n  perf stat: better error message for unsupported events\n  perf sched: Fix allocation result check\n  perf, x86: P4 PMU - Fix unflagged overflows handling\n  dynamic debug: Fix build issue with older gcc\n  tracing: Fix TRACE_EVENT power tracepoint creation\n  tracing: Fix preempt count leak\n  tracepoint: Add __rcu annotation\n  tracing: remove duplicate null-pointer check in skb tracepoint\n  tracing/trivial: Add missing comma in TRACE_EVENT comment\n  tracing: Include module.h in define_trace.h\n  x86: Save rbp in pt_regs on irq entry\n  x86, dumpstack: Fix unused variable warning\n  x86, NMI: Clean-up default_do_nmi()\n  x86, NMI: Allow NMI reason io port (0x61) to be processed on any CPU\n  x86, NMI: Remove DIE_NMI_IPI\n  x86, NMI: Add priorities to handlers\n  ...\n"
    },
    {
      "commit": "5b2eef966cb2ae307aa4ef1767f7307774bc96ca",
      "tree": "095a251e145903598dd8d90d5b2eb880f0d6ff93",
      "parents": [
        "8adbf8d46718a8f110de55ec82c40d04d0c362cc",
        "56bec7c009872ef33fe452ea75fecba481351b44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 17:11:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 17:11:39 2011 -0800"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (390 commits)\n  drm/radeon/kms: disable underscan by default\n  drm/radeon/kms: only enable hdmi features if the monitor supports audio\n  drm: Restore the old_fb upon modeset failure\n  drm/nouveau: fix hwmon device binding\n  radeon: consolidate asic-specific function decls for pre-r600\n  vga_switcheroo: comparing too few characters in strncmp()\n  drm/radeon/kms: add NI pci ids\n  drm/radeon/kms: don\u0027t enable pcie gen2 on NI yet\n  drm/radeon/kms: add radeon_asic struct for NI asics\n  drm/radeon/kms/ni: load default sclk/mclk/vddc at pm init\n  drm/radeon/kms: add ucode loader for NI\n  drm/radeon/kms: add support for DCE5 display LUTs\n  drm/radeon/kms: add ni_reg.h\n  drm/radeon/kms: add bo blit support for NI\n  drm/radeon/kms: always use writeback/events for fences on NI\n  drm/radeon/kms: adjust default clock/vddc tracking for pm on DCE5\n  drm/radeon/kms: add backend map workaround for barts\n  drm/radeon/kms: fill gpu init for NI asics\n  drm/radeon/kms: add disabled vbios accessor for NI asics\n  drm/radeon/kms: handle NI thermal controller\n  ...\n"
    },
    {
      "commit": "d2e7ad19229f982fc1eb731827d82ceac90abfb3",
      "tree": "98a3741b4d4b27a48b3c7ea9babe331e539416a8",
      "parents": [
        "d03a5d888fb688c832d470b749acc5ed38e0bc1d",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/smack/smack_lsm.c\n\nVerified and added fix by Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nOk\u0027d by Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2d75af2f2a7a6103a6d539a492fe81deacabde44",
      "tree": "283f6f7acc28936e25656502e77e10909fde7d6f",
      "parents": [
        "870915e047a2da695be118d32dd5a900f0c3e933"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Jan 07 13:36:58 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 07 23:36:59 2011 -0500"
      },
      "message": "dynamic debug: Fix build issue with older gcc\n\nOn older gcc (3.3) dynamic debug fails to compile:\n\ninclude/net/inet_connection_sock.h: In function `inet_csk_reset_xmit_timer\u0027:\ninclude/net/inet_connection_sock.h:236: error: duplicate label declaration `do_printk\u0027\ninclude/net/inet_connection_sock.h:219: error: this is a previous declaration\ninclude/net/inet_connection_sock.h:236: error: duplicate label declaration `out\u0027\ninclude/net/inet_connection_sock.h:219: error: this is a previous declaration\ninclude/net/inet_connection_sock.h:236: error: duplicate label `do_printk\u0027\ninclude/net/inet_connection_sock.h:236: error: duplicate label `out\u0027\n\nFix, by reverting the usage of JUMP_LABEL() in dynamic debug for now.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "abb359450f20c32ae03039d8736f12b1d561caf5",
      "tree": "6e8723885feb66a138f19f0ff31615dc13a8d859",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b",
        "4e3dbdb1392a83bd21a6ff8f6bc785495058d37c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 12:30:19 2011 -0800"
      },
      "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: (1436 commits)\n  cassini: Use local-mac-address prom property for Cassini MAC address\n  net: remove the duplicate #ifdef __KERNEL__\n  net: bridge: check the length of skb after nf_bridge_maybe_copy_header()\n  netconsole: clarify stopping message\n  netconsole: don\u0027t announce stopping if nothing happened\n  cnic: Fix the type field in SPQ messages\n  netfilter: fix export secctx error handling\n  netfilter: fix the race when initializing nf_ct_expect_hash_rnd\n  ipv4: IP defragmentation must be ECN aware\n  net: r6040: Return proper error for r6040_init_one\n  dcb: use after free in dcb_flushapp()\n  dcb: unlock on error in dcbnl_ieee_get()\n  net: ixp4xx_eth: Return proper error for eth_init_one\n  include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel\n  net: add POLLPRI to sock_def_readable()\n  af_unix: Avoid socket-\u003esk NULL OOPS in stream connect security hooks.\n  net_sched: pfifo_head_drop problem\n  mac80211: remove stray extern\n  mac80211: implement off-channel TX using hw r-o-c offload\n  mac80211: implement hardware offload for remain-on-channel\n  ...\n"
    },
    {
      "commit": "dda5f0a372873bca5f0b1d1866d7784dffd8b675",
      "tree": "1f745951b51ef9dcd127ca3c65ecb1d2ce4967c2",
      "parents": [
        "65b2074f84be2287e020839e93b4cdaaf60eb37c",
        "88606e80da0e8d862a42ee19e5bb60b01b940ea7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:42:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  MAINTAINERS: Update timer related entries\n  timers: Use this_cpu_read\n  timerqueue: Make timerqueue_getnext() static inline\n  hrtimer: fix timerqueue conversion flub\n  hrtimers: Convert hrtimers to use timerlist infrastructure\n  timers: Fixup allmodconfig build issue\n  timers: Rename timerlist infrastructure to timerqueue\n  timers: Introduce timerlist infrastructure.\n  hrtimer: Remove stale comment on curr_timer\n  timer: Warn when del_timer_sync() is called in hardirq context\n  timer: Del_timer_sync() can be used in softirq context\n  timer: Make try_to_del_timer_sync() the same on SMP and UP\n  posix-timers: Annotate lock_timer()\n  timer: Permit statically-declared work with deferrable timers\n  time: Use ARRAY_SIZE macro in timecompare.c\n  timer: Initialize the field slack of timer_list\n  timer_list: Remove alignment padding on 64 bit when CONFIG_TIMER_STATS\n  time: Compensate for rounding on odd-frequency clocksources\n\nFix up trivial conflict in MAINTAINERS\n"
    },
    {
      "commit": "17f7f4d9fcce8f1b75b5f735569309dee7665968",
      "tree": "14d7e49ca0053a0fcab3c33b5023bf3f90c5c08a",
      "parents": [
        "041110a439e21cd40709ead4ffbfa8034619ad77",
        "d7c1255a3a21e98bdc64df8ccf005a174d7e6289"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 26 22:37:05 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/ipv4/fib_frontend.c\n"
    },
    {
      "commit": "4a7863cc2eb5f9804f1c4e9156619a801cd7f14f",
      "tree": "5bcc9f40715aa7c210f8f708a3138dccc84e1ed6",
      "parents": [
        "9fb67204d7a00a6444bc121f221527034613d338"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Dec 22 14:00:03 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 22:15:32 2010 +0100"
      },
      "message": "x86, nmi_watchdog: Remove ARCH_HAS_NMI_WATCHDOG and rely on CONFIG_HARDLOCKUP_DETECTOR\n\nThe x86 arch has shifted its use of the nmi_watchdog from a\nlocal implementation to the global one provide by\nkernel/watchdog.c.  This shift has caused a whole bunch of\ncompile problems under different config options.  I attempt to\nsimplify things with the patch below.\n\nIn order to simplify things, I had to come to terms with the\nmeaning of two terms ARCH_HAS_NMI_WATCHDOG and\nCONFIG_HARDLOCKUP_DETECTOR.  Basically they mean the same thing,\nthe former on a local level and the latter on a global level.\n\nWith the old x86 nmi watchdog gone, there is no need to rely on\ndefining the ARCH_HAS_NMI_WATCHDOG variable because it doesn\u0027t\nmake sense any more.  x86 will now use the global\nimplementation.\n\nThe changes below do a few things.  First it changes the few\nplaces that relied on ARCH_HAS_NMI_WATCHDOG to use\nCONFIG_X86_LOCAL_APIC (the former was an alias for the latter\nanyway, so nothing unusual here).  Those pieces of code were\nrelying more on local apic functionality the nmi watchdog\nfunctionality, so the change should make sense.\n\nSecond, I removed the x86 implementation of\ntouch_nmi_watchdog().  It isn\u0027t need now, instead x86 will rely\non kernel/watchdog.c\u0027s implementation.\n\nThird, I removed the #define ARCH_HAS_NMI_WATCHDOG itself from\nx86.  And tweaked the include/linux/nmi.h file to tell users to\nlook for an externally defined touch_nmi_watchdog in the case of\nARCH_HAS_NMI_WATCHDOG _or_ CONFIG_HARDLOCKUP_DETECTOR. This\nchanges removes some of the ugliness in that file.\n\nFinally, I added a Kconfig dependency for\nCONFIG_HARDLOCKUP_DETECTOR that said you can\u0027t have\nARCH_HAS_NMI_WATCHDOG _and_ CONFIG_HARDLOCKUP_DETECTOR.  You can\nonly have one nmi_watchdog.\n\nTested with\nARCH\u003di386: allnoconfig, defconfig, allyesconfig, (various broken\nconfigs) ARCH\u003dx86_64: allnoconfig, defconfig, allyesconfig,\n(various broken configs)\n\nHopefully, after this patch I won\u0027t get any more compile broken\nemails. :-)\n\nv3:\n  changed a couple of \u0027linux/nmi.h\u0027 -\u003e \u0027asm/nmi.h\u0027 to pick-up correct function\n  prototypes when CONFIG_HARDLOCKUP_DETECTOR is not set.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1293044403-14117-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "819a72af8d6653daa48334f24ce0a935ccdd33c7",
      "tree": "d834c9c7c66821d08ec965aab04d0c9ded263085",
      "parents": [
        "e72df0b847adf064e64bcbd5141f0031524e723e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Dec 06 11:16:19 2010 -0600"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:18 2010 +0100"
      },
      "message": "percpucounter: Optimize __percpu_counter_add a bit through the use of this_cpu() options.\n\nThe this_cpu_* options can be used to optimize __percpu_counter_add a bit. Avoids\nsome address arithmetic and saves 12 bytes.\n\nBefore:\n\n\n00000000000001d3 \u003c__percpu_counter_add\u003e:\n 1d3:\t55                   \tpush   %rbp\n 1d4:\t48 89 e5             \tmov    %rsp,%rbp\n 1d7:\t41 55                \tpush   %r13\n 1d9:\t41 54                \tpush   %r12\n 1db:\t53                   \tpush   %rbx\n 1dc:\t48 89 fb             \tmov    %rdi,%rbx\n 1df:\t48 83 ec 08          \tsub    $0x8,%rsp\n 1e3:\t4c 8b 67 30          \tmov    0x30(%rdi),%r12\n 1e7:\t65 4c 03 24 25 00 00 \tadd    %gs:0x0,%r12\n 1ee:\t00 00\n 1f0:\t4d 63 2c 24          \tmovslq (%r12),%r13\n 1f4:\t48 63 c2             \tmovslq %edx,%rax\n 1f7:\t49 01 f5             \tadd    %rsi,%r13\n 1fa:\t49 39 c5             \tcmp    %rax,%r13\n 1fd:\t7d 0a                \tjge    209 \u003c__percpu_counter_add+0x36\u003e\n 1ff:\tf7 da                \tneg    %edx\n 201:\t48 63 d2             \tmovslq %edx,%rdx\n 204:\t49 39 d5             \tcmp    %rdx,%r13\n 207:\t7f 1e                \tjg     227 \u003c__percpu_counter_add+0x54\u003e\n 209:\t48 89 df             \tmov    %rbx,%rdi\n 20c:\te8 00 00 00 00       \tcallq  211 \u003c__percpu_counter_add+0x3e\u003e\n 211:\t4c 01 6b 18          \tadd    %r13,0x18(%rbx)\n 215:\t48 89 df             \tmov    %rbx,%rdi\n 218:\t41 c7 04 24 00 00 00 \tmovl   $0x0,(%r12)\n 21f:\t00\n 220:\te8 00 00 00 00       \tcallq  225 \u003c__percpu_counter_add+0x52\u003e\n 225:\teb 04                \tjmp    22b \u003c__percpu_counter_add+0x58\u003e\n 227:\t45 89 2c 24          \tmov    %r13d,(%r12)\n 22b:\t5b                   \tpop    %rbx\n 22c:\t5b                   \tpop    %rbx\n 22d:\t41 5c                \tpop    %r12\n 22f:\t41 5d                \tpop    %r13\n 231:\tc9                   \tleaveq\n 232:\tc3                   \tretq\n\n\nAfter:\n\n00000000000001d3 \u003c__percpu_counter_add\u003e:\n 1d3:\t55                   \tpush   %rbp\n 1d4:\t48 63 ca             \tmovslq %edx,%rcx\n 1d7:\t48 89 e5             \tmov    %rsp,%rbp\n 1da:\t41 54                \tpush   %r12\n 1dc:\t53                   \tpush   %rbx\n 1dd:\t48 89 fb             \tmov    %rdi,%rbx\n 1e0:\t48 8b 47 30          \tmov    0x30(%rdi),%rax\n 1e4:\t65 44 8b 20          \tmov    %gs:(%rax),%r12d\n 1e8:\t4d 63 e4             \tmovslq %r12d,%r12\n 1eb:\t49 01 f4             \tadd    %rsi,%r12\n 1ee:\t49 39 cc             \tcmp    %rcx,%r12\n 1f1:\t7d 0a                \tjge    1fd \u003c__percpu_counter_add+0x2a\u003e\n 1f3:\tf7 da                \tneg    %edx\n 1f5:\t48 63 d2             \tmovslq %edx,%rdx\n 1f8:\t49 39 d4             \tcmp    %rdx,%r12\n 1fb:\t7f 21                \tjg     21e \u003c__percpu_counter_add+0x4b\u003e\n 1fd:\t48 89 df             \tmov    %rbx,%rdi\n 200:\te8 00 00 00 00       \tcallq  205 \u003c__percpu_counter_add+0x32\u003e\n 205:\t4c 01 63 18          \tadd    %r12,0x18(%rbx)\n 209:\t48 8b 43 30          \tmov    0x30(%rbx),%rax\n 20d:\t48 89 df             \tmov    %rbx,%rdi\n 210:\t65 c7 00 00 00 00 00 \tmovl   $0x0,%gs:(%rax)\n 217:\te8 00 00 00 00       \tcallq  21c \u003c__percpu_counter_add+0x49\u003e\n 21c:\teb 04                \tjmp    222 \u003c__percpu_counter_add+0x4f\u003e\n 21e:\t65 44 89 20          \tmov    %r12d,%gs:(%rax)\n 222:\t5b                   \tpop    %rbx\n 223:\t41 5c                \tpop    %r12\n 225:\tc9                   \tleaveq\n 226:\tc3                   \tretq\n\nReviewed-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "d8c58fabd75021cdd99abcd96513cb088d41092b",
      "tree": "f6554ecfb27c0d50f5ae6acae3a7077282813cab",
      "parents": [
        "9c04f015ebc2cc2cca5a4a576deb82a311578edc",
        "b08ebe7e776e5be0271ed1e1bbb384e1f29dd117"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Dec 16 21:02:15 2010 +0000"
      },
      "committer": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Dec 16 21:02:15 2010 +0000"
      },
      "message": "Merge remote branch \u0027airlied/drm-core-next\u0027 into drm-intel-next\n"
    },
    {
      "commit": "1d212aa96e1b63459486f729af9a3fa38768b801",
      "tree": "e91e74db57a5bb7884b4681cdb788d405ec8f10f",
      "parents": [
        "8c4877a4128e7931077b024a891a4b284d8756a3",
        "b7613370db5ba66ad81e41cd3a5417fde4d5e03c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:20:45 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 13 15:20:45 2010 -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": "45f74264e18449cf3c93cccaf098ee6e9524ab78",
      "tree": "d5208559825ea479dce08df7658f0590aabea43b",
      "parents": [
        "b007c389d3e09b823eccda1503390fa2a9adca0d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Dec 11 12:34:34 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Dec 11 12:34:34 2010 +0100"
      },
      "message": "timerqueue: Make timerqueue_getnext() static inline\n\nNo point in calling a function just to dereference a pointer.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "9bb99b147018945366c763b3d4d7008927dc8557",
      "tree": "4a0f34124883a36fc4030ac91582eb797fbcc138",
      "parents": [
        "1f5a24794a54588ea3a9efd521be31d826e0b9d7"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Dec 06 13:32:12 2010 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 11:54:02 2010 -0800"
      },
      "message": "timers: Fixup allmodconfig build issue\n\nAdds missed EXPORT_SYMBOL lines that cause the following build\nfailures with allmodconfig:\nERROR: \"timerqueue_add\" [drivers/rtc/rtc-core.ko] undefined!\nERROR: \"timerqueue_getnext\" [drivers/rtc/rtc-core.ko] undefined!\nERROR: \"timerqueue_del\" [drivers/rtc/rtc-core.ko] undefined!\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1f5a24794a54588ea3a9efd521be31d826e0b9d7",
      "tree": "58dd33af6093cd3a0fed59a12ed41d6c7d8083ba",
      "parents": [
        "87de5ac782761a3ebf806e434e8c9cc205a87274"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 09 12:02:18 2010 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 11:52:17 2010 -0800"
      },
      "message": "timers: Rename timerlist infrastructure to timerqueue\n\nThomas pointed out a namespace collision between the new timerlist\ninfrastructure I introduced and the existing timer_list.c\n\nSo to avoid confusion, I\u0027ve renamed the timerlist infrastructure\nto timerqueue.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "af5568843594fb71055debe36e521fa8072fcecc",
      "tree": "4f35966cb4e1018b05c87d7a10c337d888949e22",
      "parents": [
        "5dcc03fe29537edd7819f5b121bf3d779693f37b"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Thu Dec 02 19:50:37 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Dec 06 15:58:43 2010 -0500"
      },
      "message": "lib: Improve EWMA efficiency by using bitshifts\n\nUsing bitshifts instead of division and multiplication should improve\nperformance. That requires weight and factor to be powers of two, but i think\nthis is something we can live with.\n\nThanks to Peter Zijlstra for the improved formula!\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\n\n--\n\nv2:\tuse log2.h functions\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "87de5ac782761a3ebf806e434e8c9cc205a87274",
      "tree": "8186969d00da5d0daea37fcb92538bbc72c8f086",
      "parents": [
        "5e4f083f78d03e9f8d2e327daccde16976f9bb00"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 20 17:42:46 2010 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 02 16:41:39 2010 -0800"
      },
      "message": "timers: Introduce timerlist infrastructure.\n\nThe timerlist infrastructure is a thin layer over the rbtree\ncode that implements a simple list of timers sorted by an\nexpires value, and a getnext function that provides a pointer\nto the earliest timer.\n\nThis infrastructure allows drivers and other kernel infrastructure\nto easily implement timers without duplicating code.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML Reference: \u003c1290136329-18291-2-git-send-email-john.stultz@linaro.org\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\n"
    },
    {
      "commit": "bcb38ceb225f5d5b2198a2755277cd441ed1e82b",
      "tree": "2a436b318c56d058bd8f8d24eb1ec85c7268a9ed",
      "parents": [
        "8f1b1a509658bee2397ddb9937cbfa1b71cdca17"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Nov 30 09:15:46 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 15:18:28 2010 -0800"
      },
      "message": "Revert \"debug_locks: set oops_in_progress if we will log messages.\"\n\nThis reverts commit e0fdace10e75dac67d906213b780ff1b1a4cc360.\n\nOn-list discussion seems to suggest that the robustness fixes for printk\nmake this unnecessary and DaveM has also agreed in person at Kernel Summit\nand on list.\n\nThe main problem with this code is once we hit a lockdep splat we always\nkeep oops_in_progress set, the console layer uses oops_in_progress with KMS\nto decide when it should be showing the oops and not showing X, so it causes\nproblems around suspend/resume time when a userspace resume can cause a console\nswitch away from X, only if oops_in_progress is set (which is what we want\nif an oops actually is in progress, but not because we had a lockdep splat\n2 days prior).\n\nCc: David S Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc88e46029486ed475c71fe1bb696d39511ac8fe",
      "tree": "75f5bbf30480d4126315211ea6fb3af395e5f09c",
      "parents": [
        "ce6ada35bdf710d16582cc4869c26722547e6f11"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Tue Nov 23 17:50:31 2010 -0500"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Nov 29 08:55:11 2010 +1100"
      },
      "message": "lib: hex2bin converts ascii hexadecimal string to binary\n\nSimilar to the kgdb_hex2mem() code, hex2bin converts a string\nto binary using the hex_to_bin() library call.\n\nChangelog:\n- Replace parameter names with src/dst (based on David Howell\u0027s comment)\n- Add \u0027const\u0027 where needed (based on David Howell\u0027s comment)\n- Replace int with size_t (based on David Howell\u0027s comment)\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "51cce8a590c4696d62bfacc63378d1036084cef7",
      "tree": "dc24485bdff37ca6a83c69e93ffdbe5c5807b59d",
      "parents": [
        "2fe66ec242d3f76e3b0101f36419e7e5405bcff3",
        "4f8559383c41262b50dc758e2e310f257ce6a14d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:49:20 2010 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 24 16:49:20 2010 -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": "ecf7ace9a8450303a987aa8364e53860cd50e554",
      "tree": "bbad2c5982c3b76462cbee9e15458072bc80055d",
      "parents": [
        "d6ea88865d3e5b0c62040531310c1f2c6a994f46"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Tue Nov 16 15:21:07 2010 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Nov 22 13:25:13 2010 +1000"
      },
      "message": "kref: Add a kref_sub function\n\nMakes it possible to optimize batched multiple unrefs.\nInitial user will be drivers/gpu/ttm which accumulates unrefs to be\nprocessed outside of atomic code.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c5485a7e7569ab32eea240c850198519e2a765ef",
      "tree": "928a8556deaec0811d1b83102b33365aab28a270",
      "parents": [
        "50a9432daeece6fc1309bef1dc0a7b8fde8204cb"
      ],
      "author": {
        "name": "Bruno Randolf",
        "email": "br1@einfach.org",
        "time": "Tue Nov 16 10:58:37 2010 +0900"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 18 14:21:52 2010 -0500"
      },
      "message": "lib: Add generic exponentially weighted moving average (EWMA) function\n\nThis adds generic functions for calculating Exponentially Weighted Moving\nAverages (EWMA). This implementation makes use of a structure which keeps the\nEWMA parameters and a scaled up internal representation to reduce rounding\nerrors.\n\nThe original idea for this implementation came from the rt2x00 driver\n(rt2x00link.c). I would like to use it in several places in the mac80211 and\nath5k code and I hope it can be useful in many other places in the kernel code.\n\nSigned-off-by: Bruno Randolf \u003cbr1@einfach.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3654654f7aa79a37dde130afb7409c55b11807e7",
      "tree": "4e65c0d211a6cc748509b7f3b2da7c45b05d3266",
      "parents": [
        "9d82ca98f71fd686ef2f3017c5e3e6a4871b6e46"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "message": "netlink: let nlmsg and nla functions take pointer-to-const args\n\nThe changed functions do not modify the NL messages and/or attributes\nat all. They should use const (similar to strchr), so that callers\nwhich have a const nlmsg/nlattr around can make use of them without\ncasting.\n\nWhile at it, constify a data array.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27d20fddc8af539464fc3ba499d6a830054c3bd6",
      "tree": "23514cfe88f90150a8635c47586a8a378fb905e3",
      "parents": [
        "eaf06b241b091357e72b76863ba16e89610d31bd"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Thu Nov 11 14:05:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "radix-tree: fix RCU bug\n\nSalman Qazi describes the following radix-tree bug:\n\nIn the following case, we get can get a deadlock:\n\n0.  The radix tree contains two items, one has the index 0.\n1.  The reader (in this case find_get_pages) takes the rcu_read_lock.\n2.  The reader acquires slot(s) for item(s) including the index 0 item.\n3.  The non-zero index item is deleted, and as a consequence the other item is\n    moved to the root of the tree. The place where it used to be is queued for\n    deletion after the readers finish.\n3b. The zero item is deleted, removing it from the direct slot, it remains in\n    the rcu-delayed indirect node.\n4.  The reader looks at the index 0 slot, and finds that the page has 0 ref\n    count\n5.  The reader looks at it again, hoping that the item will either be freed or\n    the ref count will increase. This never happens, as the slot it is looking\n    at will never be updated. Also, this slot can never be reclaimed because\n    the reader is holding rcu_read_lock and is in an infinite loop.\n\nThe fix is to re-use the same \"indirect\" pointer case that requires a slot\nlookup retry into a general \"retry the lookup\" bit.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nReported-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\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": "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
      "tree": "cd22f8051a456c9d2b95698b6fe402776a67469b",
      "parents": [
        "9ae6d039224def926656206725ae6e89d1331417",
        "964dc256bb91e990277010a3f6dc66daa130be8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (48 commits)\n  DMAENGINE: move COH901318 to arch_initcall\n  dma: imx-dma: fix signedness bug\n  dma/timberdale: simplify conditional\n  ste_dma40: remove channel_type\n  ste_dma40: remove enum for endianess\n  ste_dma40: remove TIM_FOR_LINK option\n  ste_dma40: move mode_opt to separate config\n  ste_dma40: move channel mode to a separate field\n  ste_dma40: move priority to separate field\n  ste_dma40: add variable to indicate valid dma_cfg\n  async_tx: make async_tx channel switching opt-in\n  move async raid6 test to lib/Kconfig.debug\n  dmaengine: Add Freescale i.MX1/21/27 DMA driver\n  intel_mid_dma: change the slave interface\n  intel_mid_dma: fix the WARN_ONs\n  intel_mid_dma: Add sg list support to DMA driver\n  intel_mid_dma: Allow DMAC2 to share interrupt\n  intel_mid_dma: Allow IRQ sharing\n  intel_mid_dma: Add runtime PM support\n  DMAENGINE: define a dummy filter function for ste_dma40\n  ...\n"
    },
    {
      "commit": "56083ab17e0075e538270823c374b59cc97e73b9",
      "tree": "5c29be7c976d1c96a8abd3280d5efb75b73e4c96",
      "parents": [
        "ee2f154a598e96df2ebb01648a7699373bc085c7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Oct 26 14:19:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:40:56 2010 -0700"
      },
      "message": "docbook: add idr/ida to kernel-api docbook\n\nAdd idr/ida to kernel-api docbook.\nFix typos and kernel-doc notation.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Naohiro Aota \u003cnaota@elisp.net\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e404f91ed2180dfecbab15dd4d39c543353385fb",
      "tree": "c256e29b1c738d5e5b5478f19b369b1fd90bd1e2",
      "parents": [
        "18a043f9413277523cf5011e594caa1747db4948",
        "e18105c128734b1671739ad4d85e216ebec28c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:25:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:25:38 2010 -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:\n  arch/tile: convert a BUG_ON to BUILD_BUG_ON\n  arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode\n  arch/tile: support new info op generated by compiler\n  arch/tile: minor whitespace/naming changes for string support files\n  arch/tile: enable single-step support for TILE-Gx\n  arch/tile: parameterize system PLs to support KVM port\n  arch/tile: add Tilera\u0027s \u003carch/sim.h\u003e header as an open-source header\n  arch/tile: Bomb C99 comments to C89 comments in tile\u0027s \u003carch/sim_def.h\u003e\n  arch/tile: prevent corrupt top frame from causing backtracer runaway\n  arch/tile: various top-level Makefile cleanups\n  arch/tile: change lower bound on syscall error return to -4095\n  arch/tile: properly export __mb_incoherent for modules\n  arch/tile: provide a definition of MAP_STACK\n  kmemleak: add TILE to the list of supported architectures.\n  char: hvc: check for error case\n  arch/tile: Add a warning if we try to allocate too much vmalloc memory.\n  arch/tile: update some comments to clarify register usage.\n  arch/tile: use better \"punctuation\" for VMSPLIT_3_5G and friends\n  arch/tile: Use \u003casm-generic/syscalls.h\u003e\n  tile: replace some BUG_ON checks with BUILD_BUG_ON checks\n"
    },
    {
      "commit": "658716d19f8f155c67d4677ba68034b8e492dfbe",
      "tree": "8743b9a16606a63dc33f93c580367baf36692454",
      "parents": [
        "5d051decfc27cdf33fbbd2bfca958d0d2c903569"
      ],
      "author": {
        "name": "Brian Behlendorf",
        "email": "behlendorf1@llnl.gov",
        "time": "Tue Oct 26 14:23:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "div64_u64(): improve precision on 32bit platforms\n\nThe current implementation of div64_u64 for 32bit systems returns an\napproximately correct result when the divisor exceeds 32bits.  Since doing\n64bit division using 32bit hardware is a long since solved problem we just\nuse one of the existing proven methods.\n\nAdditionally, add a div64_s64 function to correctly handle doing signed\n64bit division.\n\nAddresses https://bugzilla.redhat.com/show_bug.cgi?id\u003d616105\n\nSigned-off-by: Brian Behlendorf \u003cbehlendorf1@llnl.gov\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ben Woodard \u003cbwoodard@llnl.gov\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Mark Grondona \u003cmgrondona@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d051decfc27cdf33fbbd2bfca958d0d2c903569",
      "tree": "4f6579fdf86218d5214bf76e20e0534ea9a4c5c9",
      "parents": [
        "ea00c30b5b31baa91be29bee966204eccc15e9d3"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Tue Oct 26 14:23:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "lib/parser: cleanup match_number()\n\nUse new variable \u0027len\u0027 to make code more readable.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@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": "ea00c30b5b31baa91be29bee966204eccc15e9d3",
      "tree": "de5ad33475f3234048cc07d4676d963b8b4f314e",
      "parents": [
        "041b78f232bb87b2de8ca3fed50384bc7dc9c2de"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Oct 26 14:23:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "percpu_counter: use this_cpu_ptr() instead of per_cpu_ptr()\n\nthis_cpu_ptr() avoids an array lookup and can use the percpu offset of the\nlocal cpu directly.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "041b78f232bb87b2de8ca3fed50384bc7dc9c2de",
      "tree": "ca76ca89b76360f9fbc5987519d6cf0c8c53cdda",
      "parents": [
        "014afa943d44f0df8e65bc4bd071c67772277d93"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "lib/list_sort: test: check element addresses\n\nImprove \u0027lib_sort()\u0027 test and check that:\n o \u0027cmp()\u0027 is called only for elements which were present in the original list,\n   i.e., the \u0027a\u0027 and \u0027b\u0027 parameters are valid\n o the resulted (sorted) list consists onlly of the original elements\n o intdoruce \"poison\" fields to make sure data around \u0027struc list_head\u0027 field\n   are not corrupted.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "014afa943d44f0df8e65bc4bd071c67772277d93",
      "tree": "46c77d478f852c80a8c902a203d93bd6f0914cf1",
      "parents": [
        "f3dc0e384248ea6fda0987f909007fa9ab5fb51a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "lib/list_sort: test: unify test messages\n\nThis patch unifies \u0027list_sort_test()\u0027 messages a bit and makes sure all of\nthem start with the \"list_sort_test:\" prefix to make it obvious for users\nwhere the messages come from.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "f3dc0e384248ea6fda0987f909007fa9ab5fb51a",
      "tree": "1c834baf780e16a9e47d1cacd41498dbb361483a",
      "parents": [
        "eeee9ebb54b76a33a13d2c926ffb018a4aea410f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "lib/list_sort: test: improve errors handling\n\nThe \u0027lib_sort()\u0027 test does not free memory if it fails, and it makes the\nkernel panic if it cannot allocate memory.  This patch fixes the problem.\n\nThis patch also changes several small things:\n o use \u0027list_add()\u0027 helper instead of adding manually\n o introduce temporary \u0027el1\u0027 variable to avoid ugly and unreadalbe\n   \"if\" statement\n o make \u0027head\u0027 to be stack variable instead of \u0027kmalloc()\u0027ed, which\n   simplifies code a bit\n\nOverall, this patch is of clean-up type.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "eeee9ebb54b76a33a13d2c926ffb018a4aea410f",
      "tree": "96e40d9c6690878008d6d4f1ca672fc6578d6d2d",
      "parents": [
        "bb2ab10fa693110cffa7087ffe2749d6e9a27d5f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:19 2010 -0700"
      },
      "message": "lib/list_sort: test: use generic random32\n\nInstead of using own pseudo-random generator, use generic linux\n\u0027random32()\u0027 function.  Presumably, this should improve test coverage.\n\nAt the same time, do the following changes:\n  o Use shorter macro name for test list length\n  o Do not use strange \u0027l_h\u0027 name for \u0027struct list_head\u0027 element,\n    use \u0027list\u0027, because it is traditional name and thus, makes the\n    code more obvious and readable.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "bb2ab10fa693110cffa7087ffe2749d6e9a27d5f",
      "tree": "f45c76ec0bdae972fc8a1bb2cf04bca31c02c88c",
      "parents": [
        "6d411e6c01608cefb7b9ea6712110538a1432f9f"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:18 2010 -0700"
      },
      "message": "lib/list_sort: test: use more reasonable printk levels\n\nI do not see any reason to use KERN_WARN for normal messages and\nKERN_EMERG for error messages in the lib_sort testing routine.  Let\u0027s use\nmore reasonable KERN_NORM and KERN_ERR levels.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "6d411e6c01608cefb7b9ea6712110538a1432f9f",
      "tree": "5466fa9f8cd1ee9cdd1f5da01ae0ea14fe8437b7",
      "parents": [
        "e2852ae825dba5ebc159788720baec1a28a57125"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Oct 26 14:23:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:18 2010 -0700"
      },
      "message": "lib/Kconfig.debug: add list_sort debugging switch\n\nWhile hunting a non-existing bug in \u0027list_sort()\u0027, I\u0027ve improved the\n\u0027list_sort_test()\u0027 function which tests the \u0027list_sort()\u0027 library call.\nAlthough at the end I found a bug in my code, but not in \u0027list_sort()\u0027, I\nthink my clean-ups and improvements are worth merging because they make\nthe test function better.\n\nThis patch:\n\nMake the self-tests selectable via Kconfig rather than by manual enabling\nof DEBUG_LIST_SORT.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Don Mullis \u003cdon.mullis@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": "e2852ae825dba5ebc159788720baec1a28a57125",
      "tree": "9d7ed7731505ca02a0f35e8003ebe1cceefe7ecb",
      "parents": [
        "066a9be6c0124edc9527088231f03c6236be375d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 26 14:23:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:18 2010 -0700"
      },
      "message": "percpu_counter: add debugobj support\n\nAll percpu counters are linked to a global list on initialization and\nremoved from it on destruction.  The list is walked during CPU up/down.\nIf a percpu counter is freed without being properly destroyed, the system\nwill oops only on the next CPU up/down making it pretty nasty to track\ndown.  This patch adds debugobj support for percpu counters so that such\nproblems can be found easily.\n\nAs percpu counters don\u0027t make sense on stack and can\u0027t be statically\ninitialized, debugobj support is pretty simple.  It\u0027s initialized and\nactivated on counter initialization, and deactivatd and destroyed on\ncounter destruction.  With this patch applied, the bug fixed by commit\n602586a83b719df0fbd94196a1359ed35aeb2df3 (shmem: put_super must\npercpu_counter_destroy) triggers the following warning on tmpfs unmount\nand the system won\u0027t oops on the next cpu up/down operation.\n\n ------------[ cut here ]------------\n WARNING: at lib/debugobjects.c:259 debug_print_object+0x5c/0x70()\n Hardware name: Bochs\n ODEBUG: free active (active state 0) object type: percpu_counter\n Modules linked in:\n Pid: 3999, comm: umount Not tainted 2.6.36-rc2-work+ #5\n Call Trace:\n  [\u003cffffffff81083f7f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff81084076\u003e] warn_slowpath_fmt+0x46/0x50\n  [\u003cffffffff813b45cc\u003e] debug_print_object+0x5c/0x70\n  [\u003cffffffff813b50e5\u003e] debug_check_no_obj_freed+0x125/0x210\n  [\u003cffffffff811577d3\u003e] kfree+0xb3/0x2f0\n  [\u003cffffffff81132edd\u003e] shmem_put_super+0x1d/0x30\n  [\u003cffffffff81162e96\u003e] generic_shutdown_super+0x56/0xe0\n  [\u003cffffffff81162f86\u003e] kill_anon_super+0x16/0x60\n  [\u003cffffffff81162ff7\u003e] kill_litter_super+0x27/0x30\n  [\u003cffffffff81163295\u003e] deactivate_locked_super+0x45/0x60\n  [\u003cffffffff81163cfa\u003e] deactivate_super+0x4a/0x70\n  [\u003cffffffff8117d446\u003e] mntput_no_expire+0x86/0xe0\n  [\u003cffffffff8117df7f\u003e] sys_umount+0x6f/0x360\n  [\u003cffffffff8103f01b\u003e] system_call_fastpath+0x16/0x1b\n ---[ end trace cce2a341ba3611a7 ]---\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Thomas Gleixner \u003ctglxlinutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "066a9be6c0124edc9527088231f03c6236be375d",
      "tree": "49350239a1505bb08ed67a19ad2a15466f7b7526",
      "parents": [
        "66f1991bc2357436498ac990302b6f5bf403d7ef"
      ],
      "author": {
        "name": "Naohiro Aota",
        "email": "naota@elisp.net",
        "time": "Tue Oct 26 14:23:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:18 2010 -0700"
      },
      "message": "idr: fix idr_pre_get() locking description\n\nDespite the idr_pre_get() kernel-doc, there are some cases where you can\ncall idr_pre_get() from within locked regions.  Add a description for such\ncases.\n\nSee also: http://lkml.org/lkml/2010/9/16/462\n\n[akpm@linux-foundation.org: cleanups, grammatical fixes]\nSigned-off-by: Naohiro Aota \u003cnaota@elisp.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66f1991bc2357436498ac990302b6f5bf403d7ef",
      "tree": "1b98628c3863b23f81f9475d7c29f096206512c6",
      "parents": [
        "1fa7e5473cba543b02a396ced9e407f614bb117c"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Tue Oct 26 14:23:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:18 2010 -0700"
      },
      "message": "lib/bitmap.c: use hex_to_bin()\n\nSigned-off-by: 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": "b903c0b8899b46829a9b80ba55b61079b35940ec",
      "tree": "c5fd68065bf1fe9d89c08d979fccfea4b78ba4f4",
      "parents": [
        "5e0579812834ab7fa072db4a15ebdff68d62e2e7"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Oct 26 14:22:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "lib: fix scnprintf() if @size is \u003d\u003d 0\n\nscnprintf() should return 0 if @size is \u003d\u003d 0. Update the comment for it,\nas @size is unsigned.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e0579812834ab7fa072db4a15ebdff68d62e2e7",
      "tree": "5bd1869f615609a3dc47a867d322cb4dbca0ca03",
      "parents": [
        "77006a0a828249dd69341f960043ee41e7487aa0"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Oct 26 14:22:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:16 2010 -0700"
      },
      "message": "vsprintf.c: use default pointer field size for \"(null)\" strings\n\nIt might be nicer to align the output.\n\nFor instance, ACPI messages sometimes have \"(null)\" pointers.\n\n$ dmesg | grep \"(null)\"  -A 1 -B 1\n[    0.198733] ACPI: Dynamic OEM Table Load:\n[    0.198745] ACPI: SSDT (null) 00239 (v02  PmRef  Cpu0Ist 00003000 INTL 20051117)\n[    0.199294] ACPI: SSDT 7f596e10 001C7 (v02  PmRef  Cpu0Cst 00003001 INTL 20051117)\n[    0.200708] ACPI: Dynamic OEM Table Load:\n[    0.200721] ACPI: SSDT (null) 001C7 (v02  PmRef  Cpu0Cst 00003001 INTL 20051117)\n[    0.201950] ACPI: SSDT 7f597f10 000D0 (v02  PmRef  Cpu1Ist 00003000 INTL 20051117)\n[    0.203386] ACPI: Dynamic OEM Table Load:\n[    0.203398] ACPI: SSDT (null) 000D0 (v02  PmRef  Cpu1Ist 00003000 INTL 20051117)\n[    0.203871] ACPI: SSDT 7f595f10 00083 (v02  PmRef  Cpu1Cst 00003000 INTL 20051117)\n[    0.205301] ACPI: Dynamic OEM Table Load:\n[    0.205315] ACPI: SSDT (null) 00083 (v02  PmRef  Cpu1Cst 00003000 INTL 20051117)\n\n[akpm@linux-foundation.org: add code comment]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8474b591faf3bb0a1e08a60d21d6baac498f15e4",
      "tree": "20ef171bed75108535151479a6f656a9fc4a51db",
      "parents": [
        "52c5171214ff3327961d0ce0db7e8d2ce55004fd"
      ],
      "author": {
        "name": "Masanori ITOH",
        "email": "itoumsn@nttdata.co.jp",
        "time": "Tue Oct 26 14:21:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:04 2010 -0700"
      },
      "message": "percpu: fix list_head init bug in __percpu_counter_init()\n\nWARNING: at lib/list_debug.c:26 __list_add+0x3f/0x81()\nHardware name: Express5800/B120a [N8400-085]\nlist_add corruption. next-\u003eprev should be prev (ffffffff81a7ea00), but was dead000000200200. (next\u003dffff88080b872d58).\nModules linked in: aoe ipt_MASQUERADE iptable_nat nf_nat autofs4 sunrpc bridge 8021q garp stp llc ipv6 cpufreq_ondemand acpi_cpufreq freq_table dm_round_robin dm_multipath kvm_intel kvm uinput lpfc scsi_transport_fc igb ioatdma scsi_tgt i2c_i801 i2c_core dca iTCO_wdt iTCO_vendor_support pcspkr shpchp megaraid_sas [last unloaded: aoe]\nPid: 54, comm: events/3 Tainted: G        W  2.6.34-vanilla1 #1\nCall Trace:\n[\u003cffffffff8104bd77\u003e] warn_slowpath_common+0x7c/0x94\n[\u003cffffffff8104bde6\u003e] warn_slowpath_fmt+0x41/0x43\n[\u003cffffffff8120fd2e\u003e] __list_add+0x3f/0x81\n[\u003cffffffff81212a12\u003e] __percpu_counter_init+0x59/0x6b\n[\u003cffffffff810d8499\u003e] bdi_init+0x118/0x17e\n[\u003cffffffff811f2c50\u003e] blk_alloc_queue_node+0x79/0x143\n[\u003cffffffff811f2d2b\u003e] blk_alloc_queue+0x11/0x13\n[\u003cffffffffa02a931d\u003e] aoeblk_gdalloc+0x8e/0x1c9 [aoe]\n[\u003cffffffffa02aa655\u003e] aoecmd_sleepwork+0x25/0xa8 [aoe]\n[\u003cffffffff8106186c\u003e] worker_thread+0x1a9/0x237\n[\u003cffffffffa02aa630\u003e] ? aoecmd_sleepwork+0x0/0xa8 [aoe]\n[\u003cffffffff81065827\u003e] ? autoremove_wake_function+0x0/0x39\n[\u003cffffffff810616c3\u003e] ? worker_thread+0x0/0x237\n[\u003cffffffff810653ad\u003e] kthread+0x7f/0x87\n[\u003cffffffff8100aa24\u003e] kernel_thread_helper+0x4/0x10\n[\u003cffffffff8106532e\u003e] ? kthread+0x0/0x87\n[\u003cffffffff8100aa20\u003e] ? kernel_thread_helper+0x0/0x10\n\nIt\u0027s because there is no initialization code for a list_head contained in\nthe struct backing_dev_info under CONFIG_HOTPLUG_CPU, and the bug comes up\nwhen block device drivers calling blk_alloc_queue() are used.  In case of\nme, I got them by using aoe.\n\nSigned-off-by: Masanori Itoh \u003citoumsn@nttdata.co.jp\u003e\nCc: Tejun Heo \u003ctj@kernel.org\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": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "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: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "6d4121f6c20a0e86231d52f535f1c82423b3326f",
      "tree": "5c235cac699ca86b504850aa663ddadde0455a61",
      "parents": [
        "92a5bbc11ff2442a54b2f1d313088c245828ef4e",
        "35da7a307c535f9c2929cae277f3df425c9f9b1e"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Oct 24 19:57:05 2010 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sun Oct 24 19:57:05 2010 +0300"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n\nConflicts:\n\tinclude/linux/percpu.h\n\tmm/percpu.c\n"
    },
    {
      "commit": "b9da0571050c09863e59f94d0b8594a290d61b88",
      "tree": "3632c4fee768db9a27a5c872bd42133692e2f3d0",
      "parents": [
        "f8cae0f03f75adb54b1d48ddbc90f84a1f5de186",
        "5abd935661e01289ba143c3b2c1ba300c65bcc5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits)\n  driver core: Display error codes when class suspend fails\n  Driver core: Add section count to memory_block struct\n  Driver core: Add mutex for adding/removing memory blocks\n  Driver core: Move find_memory_block routine\n  hpilo: Despecificate driver from iLO generation\n  driver core: Convert link_mem_sections to use find_memory_block_hinted.\n  driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted.\n  kobject: Introduce kset_find_obj_hinted.\n  driver core: fix build for CONFIG_BLOCK not enabled\n  driver-core: base: change to new flag variable\n  sysfs: only access bin file vm_ops with the active lock\n  sysfs: Fail bin file mmap if vma close is implemented.\n  FW_LOADER: fix kconfig dependency warning on HOTPLUG\n  uio: Statically allocate uio_class and use class .dev_attrs.\n  uio: Support 2^MINOR_BITS minors\n  uio: Cleanup irq handling.\n  uio: Don\u0027t clear driver data\n  uio: Fix lack of locking in init_uio_class\n  SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n  driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices\n  ...\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "5704e44d283e907623e3775c1262f206a2c48cf3",
      "tree": "0a981b24173e90854e7b7d812b35859e1e5f0174",
      "parents": [
        "91151240ed8e97cc4457dae4094153c2744f1eb8",
        "6de5bd128d381ad88ac6d419a5e597048eb468cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:43:11 2010 -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: introduce CONFIG_BKL.\n  dabusb: remove the BKL\n  sunrpc: remove the big kernel lock\n  init/main.c: remove BKL notations\n  blktrace: remove the big kernel lock\n  rtmutex-tester: make it build without BKL\n  dvb-core: kill the big kernel lock\n  dvb/bt8xx: kill the big kernel lock\n  tlclk: remove big kernel lock\n  fix rawctl compat ioctls breakage on amd64 and itanic\n  uml: kill big kernel lock\n  parisc: remove big kernel lock\n  cris: autoconvert trivial BKL users\n  alpha: kill big kernel lock\n  isapnp: BKL removal\n  s390/block: kill the big kernel lock\n  hpet: kill BKL, add compat_ioctl\n"
    },
    {
      "commit": "c25d1dfbd403209025df41a737f82ce8f43d93f5",
      "tree": "35110a432101ff146bae3656137d9ba6f37b38fd",
      "parents": [
        "ead454feb6cbfe0fa6a1eeb30aa9abc338dacf62"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Wed Sep 29 14:00:54 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:44 2010 -0700"
      },
      "message": "kobject: Introduce kset_find_obj_hinted.\n\nOne call chain getting to kset_find_obj is:\n  link_mem_sections()\n    find_mem_section()\n      kset_find_obj()\n\nThis is done during boot.  The memory sections were added in a linearly\nincreasing order and link_mem_sections tends to utilize them in that\nsame linear order.\n\nIntroduce a kset_find_obj_hinted which is passed the result of the\nprevious kset_find_obj which it uses for a quick \"is the next object\nour desired object\" check before falling back to the old behavior.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nTo: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6a5c083de2f5fbf89a4b0a251be2c2205434d7ea",
      "tree": "72f738d63e35749da1d79f534494cff10e644208",
      "parents": [
        "a648ec05bb950fae2f35d0490ddd6cf15010af72"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:03 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Initialize dynamic debug earlier via arch_initcall\n\nHaving the ddebug_query\u003d boot parameter it makes sense to set up\ndynamic debug as soon as possible.\n\nI expect sysfs files cannot be set up via an arch_initcall, because\nthis one is even before fs_initcall. Therefore I splitted the\ndynamic_debug_init function into an early one and a later one providing\n/sys/../dynamic_debug/control file.\n\nPossibly dynamic_debug can be initialized even earlier, not sure whether\nthis still makes sense then. I picked up arch_initcall as it covers\nquite a lot already.\n\nDynamic debug needs to allocate memory, therefore it\u0027s not easily possible to\nset it up even before the command line gets parsed.\nTherefore the boot param query string is stored in a temp string which is\napplied when dynamic debug gets set up.\n\nThis has been tested with ddebug_query\u003d\"file ec.c +p\"\nand I could retrieve pr_debug() messages early at boot during ACPI setup:\nACPI: EC: Look up EC in DSDT\nACPI: EC: ---\u003e status \u003d 0x08\nACPI: EC: transaction start\nACPI: EC: \u003c--- command \u003d 0x80\nACPI: EC: ~~~\u003e interrupt\nACPI: EC: ---\u003e status \u003d 0x08\nACPI: EC: \u003c--- data \u003d 0xa4\n...\nACPI: Interpreter enabled\nACPI: (supports S0 S3 S4 S5)\nACPI: Using IOAPIC for interrupt routing\nACPI: EC: ---\u003e status \u003d 0x00\nACPI: EC: transaction start\nACPI: EC: \u003c--- command \u003d 0x80\n\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: linux-acpi@vger.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a648ec05bb950fae2f35d0490ddd6cf15010af72",
      "tree": "cde3ca36db486e51d85c31619bf67f8d60215179",
      "parents": [
        "fd89cfb8718753459fcea3fe6103d19de5e86c9b"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:02 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Introduce ddebug_query\u003d boot parameter\n\nDynamic debug lacks the ability to enable debug messages at boot time.\nOne could patch initramfs or service startup scripts to write to\n/sys/../dynamic_debug/control, but this sucks.\n\nThis patch makes it possible to pass a query in the same format one can\nwrite to /sys/../dynamic_debug/control via boot param.\nWhen dynamic debug gets initialized, this query will automatically be\napplied.\n\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fd89cfb8718753459fcea3fe6103d19de5e86c9b",
      "tree": "8e05f06fc4954d55b75ec8c8dfeacce3c198f264",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Split out query string parsing/setup from proc_write\n\nThe parsing and applying of dynamic debug strings is not only useful for\n/sys/../dynamic_debug/control write access, but can also be used for\nboot parameter parsing.\nThe boot parameter is introduced in a follow up patch.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a9ccd80aadadef8c424142d41fddea7c0880f0e9",
      "tree": "d8f1078b9154ce4b4046d4fa2d744e22e260b0eb",
      "parents": [
        "81d1c3a52cd78fdbb9f0d80214fc9e7d49bf22c0",
        "e79f86b2ef9c0a8c47225217c1018b7d3d90101c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:04:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 14:04:25 2010 -0700"
      },
      "message": "Merge branch \u0027stable/swiotlb-0.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6\n\n* \u0027stable/swiotlb-0.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6:\n  swiotlb: Use page alignment for early buffer allocation\n  swiotlb: make io_tlb_overflow static\n"
    },
    {
      "commit": "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
      "tree": "a0d6de0930ba83ecf4629c2e2e261f5eaa2d8f33",
      "parents": [
        "888a6f77e0418b049f83d37547c209b904d30af4",
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)\n  tracing: Fix compile issue for trace_sched_wakeup.c\n  [S390] hardirq: remove pointless header file includes\n  [IA64] Move local_softirq_pending() definition\n  perf, powerpc: Fix power_pmu_event_init to not use event-\u003ectx\n  ftrace: Remove recursion between recordmcount and scripts/mod/empty\n  jump_label: Add COND_STMT(), reducer wrappery\n  perf: Optimize sw events\n  perf: Use jump_labels to optimize the scheduler hooks\n  jump_label: Add atomic_t interface\n  jump_label: Use more consistent naming\n  perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n  perf: Find task before event alloc\n  perf: Fix task refcount bugs\n  perf: Fix group moving\n  irq_work: Add generic hardirq context callbacks\n  perf_events: Fix transaction recovery in group_sched_in()\n  perf_events: Fix bogus AMD64 generic TLB events\n  perf_events: Fix bogus context time tracking\n  tracing: Remove parent recording in latency tracer graph options\n  tracing: Use one prologue for the preempt irqs off tracer function tracers\n  ...\n"
    },
    {
      "commit": "6de5bd128d381ad88ac6d419a5e597048eb468cf",
      "tree": "7b3a0440f645c6e98367a87b1ca0ed1e0df204dd",
      "parents": [
        "7ff52efdca367d4bfe2449bd3d4a1f8172c5953a"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Sep 11 18:00:57 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Oct 21 15:44:13 2010 +0200"
      },
      "message": "BKL: introduce CONFIG_BKL.\n\nWith all the patches we have queued in the BKL removal tree, only a\nfew dozen modules are left that actually rely on the BKL, and even\nthere are lots of low-hanging fruit. We need to decide what to do\nabout them, this patch illustrates one of the options:\n\nEvery user of the BKL is marked as \u0027depends on BKL\u0027 in Kconfig,\nand the CONFIG_BKL becomes a user-visible option. If it gets\ndisabled, no BKL using module can be built any more and the BKL\ncode itself is compiled out.\n\nThe one exception is file locking, which is practically always\nenabled and does a \u0027select BKL\u0027 instead. This effectively forces\nCONFIG_BKL to be enabled until we have solved the fs/lockd\nmess and can apply the patch that removes the BKL from fs/locks.c.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "3b6e901f839f42afb40f614418df82c08b01320a",
      "tree": "04056f3347b926e9623c225acd496e39b9d1b85a",
      "parents": [
        "d580ff8699e8811a9af37e9de4dea375401bdeec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 21:10:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:56 2010 +0200"
      },
      "message": "jump_label: Use more consistent naming\n\nNow that there\u0027s still only a few users around, rename things to make\nthem more consistent.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101014203625.448565169@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "6b945df74233386aab526cddd3593ed4b854f574",
      "tree": "6d93d4a5ed3d427c9bd8cf665139f2c21cc676ca",
      "parents": [
        "6496a5c9e7ccc4e2ec34c09d04a819f8fdc29981"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:54:47 2010 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Oct 14 14:54:47 2010 -0400"
      },
      "message": "kmemleak: add TILE to the list of supported architectures.\n\nAll the necessary functionality was already there; we just need\nto make it possible to select the config option.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "e79f86b2ef9c0a8c47225217c1018b7d3d90101c",
      "tree": "53ba03cad303a566831fa03ebbfc408ab36ae36c",
      "parents": [
        "03620b2d7545fee29ecd3bb270f206b9cff75e58"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Oct 11 10:40:25 2010 -0700"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Oct 11 17:08:36 2010 -0400"
      },
      "message": "swiotlb: Use page alignment for early buffer allocation\n\nWe could call free_bootmem_late() if swiotlb is not used, and\nit will shrink to page alignment.\n\nSo alloc them with page alignment at first, to avoid lose two pages\n\nbefore patch:\n[    0.000000]     memblock_x86_reserve_range: [00d3600000, 00d7600000]   swiotlb buffer\n[    0.000000]     memblock_x86_reserve_range: [00d7e7ef40, 00d7e9ef40]     swiotlb list\n[    0.000000]     memblock_x86_reserve_range: [00d7e3ef40, 00d7e7ef40]  swiotlb orig_ad\n[    0.000000]     memblock_x86_reserve_range: [000008a000, 0000092000]  swiotlb overflo\n\nafter patch will get\n[    0.000000]     memblock_x86_reserve_range: [00d3600000, 00d7600000]   swiotlb buffer\n[    0.000000]     memblock_x86_reserve_range: [00d7e7e000, 00d7e9e000]     swiotlb list\n[    0.000000]     memblock_x86_reserve_range: [00d7e3e000, 00d7e7e000]  swiotlb orig_ad\n[    0.000000]     memblock_x86_reserve_range: [000008a000, 0000092000]  swiotlb overflo\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Becky Bruce \u003cbeckyb@kernel.crashing.org\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "03620b2d7545fee29ecd3bb270f206b9cff75e58",
      "tree": "1f768d8f00ab55b810a29eed086684ff6c7e8743",
      "parents": [
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Aug 02 23:48:06 2010 +0900"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon Oct 11 14:54:27 2010 -0400"
      },
      "message": "swiotlb: make io_tlb_overflow static\n\nWe don\u0027t need to export io_tlb_overflow_buffer. I\u0027ll remove\nio_tlb_overflow_buffer completely in the long term though.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "7cd2541cf2395962daf98ec32a141aba3398a9b2",
      "tree": "3c8bebb277462ba0de9d44233a970d34056dc45e",
      "parents": [
        "c62f981f9309486ba5546edbb5925f71e441fa65",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 08 10:46:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 08 10:46:27 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/module.c\n\nMerge reason: Resolve the conflict, pick up fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "400fb7f6a0cfe13025cb0296fdb4737da7025a8a",
      "tree": "f0e956b04e3c566020b2ce1ba9454d3e4a49cf63",
      "parents": [
        "6391987d6f8ced7d0fafaa1440dcc57bb4b34d8f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Oct 07 15:25:04 2010 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Oct 07 15:25:04 2010 -0700"
      },
      "message": "move async raid6 test to lib/Kconfig.debug\n\nThe prompt for \"Self test for hardware accelerated raid6 recovery\" does not\nbelong in the top level configuration menu.  All the options in\ncrypto/async_tx/Kconfig are selected and do not depend on CRYPTO.\nKconfig.debug seems like a reasonable fit.\n\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "556ef63255f1a6f82910a637c4164dbf7d3d1af2",
      "tree": "ae209fe4959e0837bf4eb72abc6e02c8a82179a1",
      "parents": [
        "d4f8f217b8a5d5bd02af979650418dca4caec472",
        "cb655d0f3d57c23db51b981648e452988c0223f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:45 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc7\u0027 into core/rcu\n\nMerge reason: Update from -rc3 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4f8f217b8a5d5bd02af979650418dca4caec472",
      "tree": "af047bfa9729c975e24cb7624107574e884d3a57",
      "parents": [
        "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
        "773e3f93577ffb493fb7c39b1a6ecf39b5748e87"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 07 09:43:11 2010 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "ab4d5ed5eeda4f57c50d14131ce1b1da75d0c938",
      "tree": "e0c574c802138d9b6514dae4f2c46fcc6365b951",
      "parents": [
        "15b7c5142049e7efc3071280e1370dc3b8add6f5"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Tue Oct 05 13:57:26 2010 -0500"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Wed Oct 06 16:54:36 2010 +0300"
      },
      "message": "slub: Enable sysfs support for !CONFIG_SLUB_DEBUG\n\nCurrently disabling CONFIG_SLUB_DEBUG also disabled SYSFS support meaning\nthat the slabs cannot be tuned without DEBUG.\n\nMake SYSFS support independent of CONFIG_SLUB_DEBUG\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\n"
    },
    {
      "commit": "5336377d6225959624146629ce3fc88ee8ecda3d",
      "tree": "571b9db75d1ba50faa1e399509563f367fd5694f",
      "parents": [
        "2f6b3aa7a563d05453c4d73ccf88191aee84333f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 05 11:29:27 2010 -0700"
      },
      "message": "modules: Fix module_bug_list list corruption race\n\nWith all the recent module loading cleanups, we\u0027ve minimized the code\nthat sits under module_mutex, fixing various deadlocks and making it\npossible to do most of the module loading in parallel.\n\nHowever, that whole conversion totally missed the rather obscure code\nthat adds a new module to the list for BUG() handling.  That code was\ndoubly obscure because (a) the code itself lives in lib/bugs.c (for\ndubious reasons) and (b) it gets called from the architecture-specific\n\"module_finalize()\" rather than from generic code.\n\nCalling it from arch-specific code makes no sense what-so-ever to begin\nwith, and is now actively wrong since that code isn\u0027t protected by the\nmodule loading lock any more.\n\nSo this commit moves the \"module_bug_{finalize,cleanup}()\" calls away\nfrom the arch-specific code, and into the generic code - and in the\nprocess protects it with the module_mutex so that the list operations\nare now safe.\n\nFuture fixups:\n - move the module list handling code into kernel/module.c where it\n   belongs.\n - get rid of \u0027module_bug_list\u0027 and just use the regular list of modules\n   (called \u0027modules\u0027 - imagine that) that we already create and maintain\n   for other reasons.\n\nReported-and-tested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f015ac3edd84ad72f88e08a4d83c56c360aae404",
      "tree": "87f88c4e502d69752776dd36451d0ece5416f9f1",
      "parents": [
        "982f7c2b2e6a28f8f266e075d92e19c0dd4c6e56"
      ],
      "author": {
        "name": "Don Mullis",
        "email": "don.mullis@gmail.com",
        "time": "Thu Sep 30 15:15:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 01 10:50:58 2010 -0700"
      },
      "message": "lib/list_sort: do not pass bad pointers to cmp callback\n\nIf the original list is a POT in length, the first callback from line 73\nwill pass a\u003d\u003db both pointing to the original list_head.  This is dangerous\nbecause the \u0027list_sort()\u0027 user can use \u0027container_of()\u0027 and accesses the\n\"containing\" object, which does not necessary exist for the list head.  So\nthe user can access RAM which does not belong to him.  If this is a write\naccess, we can end up with memory corruption.\n\nSigned-off-by: Don Mullis \u003cdon.mullis@gmail.com\u003e\nTested-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2dfbf4dfbe47a484bae20456c12b40763b9b6af7",
      "tree": "466a7dcef708a96c419083d587b00313cf7b3785",
      "parents": [
        "269dcc1c2ec25864308ee03a3fa26ea819d9f5d0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 15 23:30:48 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Sep 23 09:16:54 2010 -0700"
      },
      "message": "rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n\nThe PROVE_RCU_REPEATEDLY has no \"Say Y\"/\"Say N\" advice, so this commit\nadds it.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "52159d98be6f26c48f5e02c7ab3c9848a85979b5",
      "tree": "29ba759acd0a9fd82b796b9e965dab5ed9d30ce6",
      "parents": [
        "8f7b50c514206211cc282a4247f7b12f18dee674"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Sep 17 11:09:17 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 22 16:31:19 2010 -0400"
      },
      "message": "jump label: Convert dynamic debug to use jump labels\n\nConvert the \u0027dynamic debug\u0027 infrastructure to use jump labels.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003cb77627358cea3e27d7be4386f45f66219afb8452.1284733808.git.jbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3aabae7d9dfaed60effe93662f02c19bafc18537",
      "tree": "af94cdd69add07601d9f3f5988dfc1dc255e3886",
      "parents": [
        "79e406d7b00ab2b261ae32a59f266fd3b7af6f29",
        "57c072c7113f54f9512624d6c665db6184448782"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "ff3cb3fec3c5bbb5110e652bbdd410bc99a47e9f",
      "tree": "5b6834a3a4ecd479d544f8cc8cd10811c1ae13e1",
      "parents": [
        "6ccaa3172941c0a97c7f1c5155b1d32ecd27ec2f",
        "be14eb619108fa8b7120eb2c42d66d5f623ae10e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:26:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 10 07:26:27 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: Range check cpu in blk_cpu_to_group\n  scatterlist: prevent invalid free when alloc fails\n  writeback: Fix lost wake-up shutting down writeback thread\n  writeback: do not lose wakeup events when forking bdi threads\n  cciss: fix reporting of max queue depth since init\n  block: switch s390 tape_block and mg_disk to elevator_change()\n  block: add function call to switch the IO scheduler from a driver\n  fs/bio-integrity.c: return -ENOMEM on kmalloc failure\n  bio-integrity.c: remove dependency on __GFP_NOFAIL\n  BLOCK: fix bio.bi_rw handling\n  block: put dev-\u003ekobj in blk_register_queue fail path\n  cciss: handle allocation failure\n  cfq-iosched: Documentation help for new tunables\n  cfq-iosched: blktrace print per slice sector stats\n  cfq-iosched: Implement tunable group_idle\n  cfq-iosched: Do group share accounting in IOPS when slice_idle\u003d0\n  cfq-iosched: Do not idle if slice_idle\u003d0\n  cciss: disable doorbell reset on reset_devices\n  blkio: Fix return code for mkdir calls\n"
    },
    {
      "commit": "46b93b74fc022885ab69dfc8e2af0562dd626638",
      "tree": "43596f815dd0210df9985ae64e7ef3c9ca160eab",
      "parents": [
        "3449dafaf514f83de8d9a41f2c437a8803eea24d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Aug 31 16:35:20 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 31 16:35:20 2010 -0400"
      },
      "message": "tracing/lockdep: Fix dependency of TRACE_IRQFLAGS\n\nWhen CONFIG_IRQSOFF_TRACER is set and CONFIG_PROVE_LOCKING is not, we\nget the following error:\n\n$  make oldconfig\nscripts/kconfig/conf --oldconfig arch/x86/Kconfig\nwarning: (IRQSOFF_TRACER \u0026\u0026 TRACING_SUPPORT \u0026\u0026 FTRACE \u0026\u0026 TRACE_IRQFLAGS_SUPPORT \u0026\u0026 !ARCH_USES_GETTIMEOFFSET) selects TRACE_IRQFLAGS which has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 TRACE_IRQFLAGS_SUPPORT \u0026\u0026 PROVE_LOCKING)\nwarning: (IRQSOFF_TRACER \u0026\u0026 TRACING_SUPPORT \u0026\u0026 FTRACE \u0026\u0026 TRACE_IRQFLAGS_SUPPORT \u0026\u0026 !ARCH_USES_GETTIMEOFFSET) selects TRACE_IRQFLAGS which has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 TRACE_IRQFLAGS_SUPPORT \u0026\u0026 PROVE_LOCKING)\n\nThis is because IRQSOFF_TRACER selects TRACE_IRQFLAGS but TRACE_IRQFLAGS\nhas PROVE_LOCKING as a dependency. This code is incorrect, and\nthis patch changes the TRACE_IRQFLAGS to be just a simple bool that\ndoes not depend or select anything. Instead both IRQSOFF_TRACER and\nPROVE_LOCKING select it.\n\nReported-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1458ce166c1b333ecbaf8caa9f4f54eab3a522a7",
      "tree": "3375dc429c3c637a05f1c185d767bf911d4e92ee",
      "parents": [
        "ea24ea850bcd7dd5f0994de2cf99ace10c4484cc"
      ],
      "author": {
        "name": "Naohiro Aota",
        "email": "naota@elisp.net",
        "time": "Fri Aug 27 17:43:46 2010 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Aug 31 09:43:59 2010 +0200"
      },
      "message": "idr: describe how nextidp works in idr_get_next().\n\nIt was unclear in original kernel-doc how nextidp worked in\nidr_get_next(). Let\u0027s describe it.\n\nSigned-off-by: Naohiro Aota \u003cnaota@elisp.net\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ea24ea850bcd7dd5f0994de2cf99ace10c4484cc",
      "tree": "e7380a9077841a8a7ed7246cd85a3d55c1d2929a",
      "parents": [
        "10466f5ae36074bb620e4add1247fbf78ee564c0"
      ],
      "author": {
        "name": "Naohiro Aota",
        "email": "naota@elisp.net",
        "time": "Tue Aug 31 00:37:03 2010 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Aug 31 09:32:02 2010 +0200"
      },
      "message": "idr: fix kernel-doc warnings.\n\nFix the following kernel-doc warnings.\n\n% perl scripts/kernel-doc lib/idr.c \u003e /dev/null\nWarning(lib/idr.c:300): No description found for parameter \u0027starting_id\u0027\nWarning(lib/idr.c:300): Excess function parameter \u0027start_id\u0027 description in \u0027idr_get_new_above\u0027\nWarning(lib/idr.c:485): No description found for parameter \u0027idp\u0027\nWarning(lib/idr.c:596): No description found for parameter \u0027nextidp\u0027\nWarning(lib/idr.c:596): Excess function parameter \u0027id\u0027 description in \u0027idr_get_next\u0027\nWarning(lib/idr.c:774): No description found for parameter \u0027starting_id\u0027\nWarning(lib/idr.c:774): Excess function parameter \u0027staring_id\u0027 description in \u0027ida_get_new_above\u0027\nWarning(lib/idr.c:918): No description found for parameter \u0027ida\u0027\n\nSigned-off-by: Naohiro Aota \u003cnaota@elisp.net\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "edce6820a9fdda85521211cb334a183e34cc455e",
      "tree": "c2944c0a6e175cd089dde7b808398763ae5c50dd",
      "parents": [
        "b76b4014f9d988d2412b873e4d4c13c7f9afc4e4"
      ],
      "author": {
        "name": "Jeffrey Carlyle",
        "email": "jeff.carlyle@motorola.com",
        "time": "Mon Aug 30 19:55:09 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Aug 30 19:55:09 2010 +0200"
      },
      "message": "scatterlist: prevent invalid free when alloc fails\n\nWhen alloc fails, free_table is being called. Depending on the number of\nbytes requested, we determine if we are going to call _get_free_page()\nor kmalloc(). When alloc fails, our math is wrong (due to sg_size - 1),\nand the last buffer is wrongfully assumed to have been allocated by\nkmalloc. Hence, kfree gets called and a panic occurs.\n\nSigned-off-by: Jeffrey Carlyle \u003cjeff.carlyle@motorola.com\u003e\nSigned-off-by: Olusanya Soyannwo \u003cc23746@motorola.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7c44ece988a3419e51c833cf14be186a22224dd1",
      "tree": "914239dd8f2ce809caf94f6fa7b73cc302f679c4",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Aug 30 17:35:52 2010 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Aug 30 17:35:52 2010 +1000"
      },
      "message": "Move .gitignore from drivers/md to lib/raid6\n\nAnother missing bit of the raid6 -\u003e /lib move.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f6e6e7799ebcad40fa15e4015beca2d776554302",
      "tree": "7d6c211016663cb5182f72f5d5e747326f417a9e",
      "parents": [
        "f45f3c1f3f616ca1d1e1eb5e7a720ca63cb59550"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Fri Aug 13 18:58:10 2010 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 23 18:12:46 2010 -0700"
      },
      "message": "kobject_uevent: fix typo in comments\n\ns/ending/sending, s/kobject_uevent()/kobject_uevent_env() in the comments.\n\nSigned-off-by: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "a6b9b4d50f492630443b38404d1f436b3b748c14"
}
