)]}'
{
  "log": [
    {
      "commit": "411f05f123cbd7f8aa1edcae86970755a6e2a9d9",
      "tree": "63fa10cd8d895c36bbbacd8c5b38b25e3e1f3448",
      "parents": [
        "ca1376d10810bc2c20c8d0821a9ee04ca2507c01"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 23:00:28 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 12 15:18:16 2011 -0700"
      },
      "message": "vsprintf: Turn kptr_restrict off by default\n\nkptr_restrict has been triggering bugs in apps such as perf, and it also makes\nthe system less useful by default, so turn it off by default.\n\nThis is how we generally handle security features that remove functionality,\nsuch as firewall code or SELinux - they have to be configured and activated\nfrom user-space.\n\nDistributions can turn kptr_restrict on again via this line in\n/etc/sysctrl.conf:\n\nkernel.kptr_restrict \u003d 1\n\n( Also mark the variable __read_mostly while at it, as it\u0027s typically modified\n  only once per bootup, or not at all. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f239284542bae297d27355d06afbb8df23c5db9",
      "tree": "b0ba42fb54cd05178c61584e0913be38a57f0384",
      "parents": [
        "609cfda586c7fe3e5d1a02c51edb587506294167",
        "bf69d41d198138e3c601e9a6645f4f1369aff7e0"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed May 04 11:59:34 2011 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed May 04 11:59:34 2011 +1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/selinux into for-linus\n"
    },
    {
      "commit": "646032e3b05b32d3f20cb108a030593d9d792eb5",
      "tree": "1ced1d6ba3628d76ae389175b0f2c24711358d84",
      "parents": [
        "3fd9952df4964fac7d5868ba48eadcc9dae3ba46"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Sun May 01 19:38:42 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:46:12 2011 -0700"
      },
      "message": "XZ decompressor: Fix decoding of empty LZMA2 streams\n\nThe old code considered valid empty LZMA2 streams to be corrupt.\nNote that a typical empty .xz file has no LZMA2 data at all,\nand thus most .xz files having no uncompressed data are handled\ncorrectly even without this fix.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf69d41d198138e3c601e9a6645f4f1369aff7e0",
      "tree": "6cd3c35430f616732caa0096bd7791b56c8bd3ab",
      "parents": [
        "5d30b10bd68df007e7ae21e77d1e0ce184b53040"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 16:12:54 2011 -0400"
      },
      "message": "flex_arrays: allow zero length flex arrays\n\nJust like kmalloc will allow one to allocate a 0 length segment of memory\nflex arrays should do the same thing.  It should bomb if you try to use\nsomething, but it should at least allow the allocation.\n\nThis is needed because when SELinux switched to using flex_arrays in 2.6.38\nthe inability to allocate a 0 length array resulted in SELinux policy load\nreturning -ENOSPC when previously it worked.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "5d30b10bd68df007e7ae21e77d1e0ce184b53040",
      "tree": "61d97a80d0fac7c6dfd97db7040fedd75771adda",
      "parents": [
        "cb1e922fa104bb0bb3aa5fc6ca7f7e070f3b55e9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 15:55:52 2011 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Apr 28 16:12:47 2011 -0400"
      },
      "message": "flex_array: flex_array_prealloc takes a number of elements, not an end\n\nChange flex_array_prealloc to take the number of elements for which space\nshould be allocated instead of the last (inclusive) element. Users\nand documentation are updated accordingly.  flex_arrays got introduced before\nthey had users.  When folks started using it, they ended up needing a\ndifferent API than was coded up originally.  This swaps over to the API that\nfolks apparently need.\n\nBased-on-patch-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nTested-by: Chris Richards \u003cgizmo@giz-works.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: stable@kernel.org [2.6.38+]\n"
    },
    {
      "commit": "78be959e38567f0e020848179a5d64d2b064391a",
      "tree": "2b6b42edb8ba4f717db5d7a140c77d4993934f0d",
      "parents": [
        "01eda2e0c0cf035308308a19581e4979285b51ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 14 15:22:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "kstrtox: simpler code in _kstrtoull()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01eda2e0c0cf035308308a19581e4979285b51ec",
      "tree": "eceb069a21aa22a46c1a3523a004ff38916164d5",
      "parents": [
        "592ce316395abc6b4e96c1ac198e5f347bb5d578"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 14 15:22:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:54 2011 -0700"
      },
      "message": "kstrtox: fix compile warnings in test\n\nFix the following warnings:\n\n    CC [M]  lib/test-kstrtox.o\n  lib/test-kstrtox.c: In function \u0027test_kstrtou64_ok\u0027:\n  lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90\n\t...\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "9718269a7f5f6f3d723dd34e05269579a3ccfc1e",
      "tree": "c9b5d2691c04fc13d6cd716a986279e44d0463d4",
      "parents": [
        "f65e51d740688b8a0ad15cbde34974e6c4559972"
      ],
      "author": {
        "name": "Daniel Baluta",
        "email": "dbaluta@ixiacom.com",
        "time": "Mon Apr 04 15:06:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:47 2011 -0700"
      },
      "message": "kemleak-test: build as module only\n\nmm/kmemleak-test.c is used to provide an example of how kmemleak\ntool works.\n\nMemory is leaked at module unload-time, so building the test\nin kernel (Y) makes the leaks impossible and the test useless.\n\nQualify DEBUG_KMEMLEAK_TEST config symbol with \"depends on m\",\nto restrict module-only building.\n\nSigned-off-by: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "a17d47300b4042a3893217c0c3f2d806fe1faa3b",
      "tree": "91964353354d358cbafc350421e2bddb9455c73c",
      "parents": [
        "04a6553f0766df3f56830c89b7da2f618b7ef0b0",
        "7bf7e370d5919112c223a269462cd0b546903829"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:40:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:40:56 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus-1\u0027 of git://git.infradead.org/mtd-2.6\n\n* \u0027for-linus-1\u0027 of git://git.infradead.org/mtd-2.6: (49 commits)\n  mtd: mtdswap: fix compilation warning\n  mtdswap: kill strict error handling option\n  mtd: nand: enable software BCH ECC in nand simulator\n  mtd: nand: add software BCH ECC support\n  mtd: fix printf format warnings, mostly lack of %zd for size_t, in mtdswap\n  mtd: sm_rtl: check kmalloc return value\n  mtd: cfi: add support for AMIC flashes (e.g. A29L160AT)\n  lib: add shared BCH ECC library\n  mtd: mxc_nand: fix OOB corruption when page size \u003e 2KiB\n  mtd: DaVinci: Removed header file that is not required\n  mtd: pxa3xx_nand: clean the keep configure code\n  mtd: pxa3xx_nand: mtd scan id process could be defined by driver itself\n  mtd: pxa3xx_nand: unify prepare command\n  mtd: pxa3xx_nand: discard wait_for_event,write_cmd,__readid function\n  mtd: pxa3xx_nand: rework irq logic\n  mtd: pxa3xx_nand: make scan procedure more clear\n  mtd: speedtest: fix integer overflow\n  mtd: mxc_nand: fix read past buffer end\n  mtd: omap3: nand: report corrected ecc errors\n  jffs2: remove a trailing white space in commentaries\n  ...\n"
    },
    {
      "commit": "94df491c4a01b39d81279a68386158eb02656712",
      "tree": "ba431d9d74f11a7117883df54908ea39e4ef7c5c",
      "parents": [
        "26ff6801f751cd47e44c2e9507ec08b447f2d2b9",
        "29096202176ceaa5016a17ea2dd1aea19a4e90e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 17:52:22 2011 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix WARN_ON() test for UP\n  WARN_ON_SMP(): Allow use in if() statements on UP\n  x86, dumpstack: Use %pB format specifier for stack trace\n  vsprintf: Introduce %pB format specifier\n  lockdep: Remove unused \u0027factor\u0027 variable from lockdep_stats_show()\n"
    },
    {
      "commit": "7bf7e370d5919112c223a269462cd0b546903829",
      "tree": "03ccc715239df14ae168277dbccc9d9cf4d8a2c8",
      "parents": [
        "68b1a1e786f29c900fa1c516a402e24f0ece622a",
        "d39dd11c3e6a7af5c20bfac40594db36cf270f42"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Mar 25 17:41:20 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)\n  [media] rc: update for bitop name changes\n  fs: simplify iget \u0026 friends\n  fs: pull inode-\u003ei_lock up out of writeback_single_inode\n  fs: rename inode_lock to inode_hash_lock\n  fs: move i_wb_list out from under inode_lock\n  fs: move i_sb_list out from under inode_lock\n  fs: remove inode_lock from iput_final and prune_icache\n  fs: Lock the inode LRU list separately\n  fs: factor inode disposal\n  fs: protect inode-\u003ei_state with inode-\u003ei_lock\n  lib, arch: add filter argument to show_mem and fix private implementations\n  SLUB: Write to per cpu data when allocating it\n  slub: Fix debugobjects with lockless fastpath\n  autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()\n  autofs4 - remove autofs4_lock\n  autofs4 - fix d_manage() return on rcu-walk\n  autofs4 - fix autofs4_expire_indirect() traversal\n  autofs4 - fix dentry leak in autofs4_expire_direct()\n  autofs4 - reinstate last used update on access\n  vfs - check non-mountpoint dentry might block in __follow_mount_rcu()\n  ...\n\nNOTE!\n\nThis merge commit was created to fix compilation error. The block\ntree was merged upstream and removed the \u0027elv_queue_empty()\u0027\nfunction which the new \u0027mtdswap\u0027 driver is using. So a simple\nmerge of the mtd tree with upstream does not compile. And the\nmtd tree has already be published, so re-basing it is not an option.\n\nTo fix this unfortunate situation, I had to merge upstream into the\nmtd-2.6.git tree without committing, put the fixup patch on top of\nthis, and then commit this. The result is that we do not have commits\nwhich do not compile.\n\nIn other words, this merge commit \"merges\" 3 things: the MTD tree, the\nupstream tree, and the fixup patch.\n"
    },
    {
      "commit": "b2b755b5f10eb32fbdc73a9907c07006b17f714b",
      "tree": "444c7a93cc6c3dd109a4b23f1f76cdc38cf5eb10",
      "parents": [
        "e285c1746accb80620e511f9c72e9893beeedc0e"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Mar 24 15:18:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 17:49:37 2011 -0700"
      },
      "message": "lib, arch: add filter argument to show_mem and fix private implementations\n\nCommit ddd588b5dd55 (\"oom: suppress nodes that are not allowed from\nmeminfo on oom kill\") moved lib/show_mem.o out of lib/lib.a, which\nresulted in build warnings on all architectures that implement their own\nversions of show_mem():\n\n\tlib/lib.a(show_mem.o): In function `show_mem\u0027:\n\tshow_mem.c:(.text+0x1f4): multiple definition of `show_mem\u0027\n\tarch/sparc/mm/built-in.o:(.text+0xd70): first defined here\n\nThe fix is to remove __show_mem() and add its argument to show_mem() in\nall implementations to prevent this breakage.\n\nArchitectures that implement their own show_mem() actually don\u0027t do\nanything with the argument yet, but they could be made to filter nodes\nthat aren\u0027t allowed in the current context in the future just like the\ngeneric implementation.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nReported-by: James Bottomley \u003cJames.Bottomley@hansenpartnership.com\u003e\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f77a8d378254f27df4a114a5da67223af1fe93f",
      "tree": "edc37c211adce744100d4776e4a28fb868c8b3c0",
      "parents": [
        "dec2960827c85253d76938dbfa909df3be34958b"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Thu Mar 24 11:42:29 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 24 08:36:10 2011 +0100"
      },
      "message": "vsprintf: Introduce %pB format specifier\n\nThe %pB format specifier is for stack backtrace. Its handler\nsprint_backtrace() does symbol lookup using (address-1) to\nensure the address will not point outside of the function.\n\nIf there is a tail-call to the function marked \"noreturn\",\ngcc optimized out the code after the call then causes saved\nreturn address points outside of the function (i.e. the start\nof the next function), so pollutes call trace somewhat.\n\nThis patch adds the %pB printk mechanism that allows architecture\ncall-trace printout functions to improve backtrace printouts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: linux-arch@vger.kernel.org\nLKML-Reference: \u003c1300934550-21394-1-git-send-email-namhyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0664996b7c2fdb1b7f90954469cc242274abd7db",
      "tree": "21bcf25afb94791f87fc5aa8c7e79ac1a8845ad8",
      "parents": [
        "3f5527fe7e0fb50556b97b8addbe3832985f793e"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:14 2011 -0700"
      },
      "message": "bitops: introduce CONFIG_GENERIC_FIND_BIT_LE\n\nThis introduces CONFIG_GENERIC_FIND_BIT_LE to tell whether to use generic\nimplementation of find_*_bit_le() in lib/find_next_bit.c or not.\n\nFor now we select CONFIG_GENERIC_FIND_BIT_LE for all architectures which\nenable CONFIG_GENERIC_FIND_NEXT_BIT.\n\nBut m68knommu wants to define own faster find_next_zero_bit_le() and\ncontinues using generic find_next_{,zero_}bit().\n(CONFIG_GENERIC_FIND_NEXT_BIT and !CONFIG_GENERIC_FIND_BIT_LE)\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a56560b3b233238e85205d4e8d7bded904ac2306",
      "tree": "3965be2ab5fcf6c70fc09604861c14ef554915e8",
      "parents": [
        "c4945b9ed472e8796e352f10df9dbc2841ba7b61"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:12 2011 -0700"
      },
      "message": "asm-generic: change little-endian bitops to take any pointer types\n\nThis makes the little-endian bitops take any pointer types by changing the\nprototypes and adding casts in the preprocessor macros.\n\nThat would seem to at least make all the filesystem code happier, and they\ncan continue to do just something like\n\n  #define ext2_set_bit __test_and_set_bit_le\n\n(or whatever the exact sequence ends up being).\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Kazumoto Kojima \u003ckkojima@rr.iij4u.or.jp\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4945b9ed472e8796e352f10df9dbc2841ba7b61",
      "tree": "6e2fa896f3a153d3bb16e7a07c87620cabf1ebd6",
      "parents": [
        "63ab595fb6b34234f116f05f95dc752dd5f8affb"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:41:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:11 2011 -0700"
      },
      "message": "asm-generic: rename generic little-endian bitops functions\n\nAs a preparation for providing little-endian bitops for all architectures,\nThis renames generic implementation of little-endian bitops.  (remove\n\"generic_\" prefix and postfix \"_le\")\n\ns/generic_find_next_le_bit/find_next_bit_le/\ns/generic_find_next_zero_le_bit/find_next_zero_bit_le/\ns/generic_find_first_zero_le_bit/find_first_zero_bit_le/\ns/generic___test_and_set_le_bit/__test_and_set_bit_le/\ns/generic___test_and_clear_le_bit/__test_and_clear_bit_le/\ns/generic_test_le_bit/test_bit_le/\ns/generic___set_le_bit/__set_bit_le/\ns/generic___clear_le_bit/__clear_bit_le/\ns/generic_test_and_set_le_bit/test_and_set_bit_le/\ns/generic_test_and_clear_le_bit/test_and_clear_bit_le/\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "565d76cb7d5fd7cb010fd690602280a69ab116ef",
      "tree": "beff4279da00976e10145820c22e699192056973",
      "parents": [
        "b12d12596992f608f5506a8dabe4d1299594bd1e"
      ],
      "author": {
        "name": "Jim Keniston",
        "email": "jkenisto@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:35:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:17 2011 -0700"
      },
      "message": "zlib: slim down zlib_deflate() workspace when possible\n\nInstead of always creating a huge (268K) deflate_workspace with the\nmaximum compression parameters (windowBits\u003d15, memLevel\u003d8), allow the\ncaller to obtain a smaller workspace by specifying smaller parameter\nvalues.\n\nFor example, when capturing oops and panic reports to a medium with\nlimited capacity, such as NVRAM, compression may be the only way to\ncapture the whole report.  In this case, a small workspace (24K works\nfine) is a win, whether you allocate the workspace when you need it (i.e.,\nduring an oops or panic) or at boot time.\n\nI\u0027ve verified that this patch works with all accepted values of windowBits\n(positive and negative), memLevel, and compression level.\n\nSigned-off-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c",
      "tree": "25d70c021189efa0bcbdf4e84b3ca97a6c147246",
      "parents": [
        "8a5700cd6754a3c88d2ea2f1d7a56f671987fc25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:14 2011 -0700"
      },
      "message": "kstrto*: converting strings to integers done (hopefully) right\n\n1. simple_strto*() do not contain overflow checks and crufty,\n   libc way to indicate failure.\n2. strict_strto*() also do not have overflow checks but the name and\n   comments pretend they do.\n3. Both families have only \"long long\" and \"long\" variants,\n   but users want strtou8()\n4. Both \"simple\" and \"strict\" prefixes are wrong:\n   Simple doesn\u0027t exactly say what\u0027s so simple, strict should not exist\n   because conversion should be strict by default.\n\nThe solution is to use \"k\" prefix and add convertors for more types.\nEnter\n\tkstrtoull()\n\tkstrtoll()\n\tkstrtoul()\n\tkstrtol()\n\tkstrtouint()\n\tkstrtoint()\n\n\tkstrtou64()\n\tkstrtos64()\n\tkstrtou32()\n\tkstrtos32()\n\tkstrtou16()\n\tkstrtos16()\n\tkstrtou8()\n\tkstrtos8()\n\nInclude runtime testsuite (somewhat incomplete) as well.\n\nstrict_strto*() become deprecated, stubbed to kstrto*() and\neventually will be removed altogether.\n\nUse kstrto*() in code today!\n\nNote: on some archs _kstrtoul() and _kstrtol() are left in tree, even if\n      they\u0027ll be unused at runtime. This is temporarily solution,\n      because I don\u0027t want to hardcode list of archs where these\n      functions aren\u0027t needed. Current solution with sizeof() and\n      __alignof__ at least always works.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af5bcb8d37f99ba415a1adc6da71051b84f93a5",
      "tree": "58ae14d126ef40cbc5a91538cfe04433d26510ae",
      "parents": [
        "9f36e2c448007b54851e7e4fa48da97d1477a175"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Mar 22 16:34:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:13 2011 -0700"
      },
      "message": "printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig\n\nWe\u0027ve been burned by regressions/bugs which we later realized could have\nbeen triaged quicker if only we\u0027d paid closer attention to dmesg.  To make\nit easier to audit dmesg, we\u0027d like to make DEFAULT_MESSAGE_LEVEL\nKconfig-settable.  That way we can set it to KERN_NOTICE and audit any\nmessages \u003c\u003d KERN_WARNING.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f36e2c448007b54851e7e4fa48da97d1477a175",
      "tree": "2fa0ad88c75184dc79b28c287c853e97f779bf1f",
      "parents": [
        "fe3d8ad31cf51b062bbb8a9609eeb1d0c41a7f30"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Tue Mar 22 16:34:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "printk: use %pK for /proc/kallsyms and /proc/modules\n\nIn an effort to reduce kernel address leaks that might be used to help\ntarget kernel privilege escalation exploits, this patch uses %pK when\ndisplaying addresses in /proc/kallsyms, /proc/modules, and\n/sys/module/*/sections/*.\n\nNote that this changes %x to %p, so some legitimately 0 values in\n/proc/kallsyms would have changed from 00000000 to \"(null)\".  To avoid\nthis, \"(null)\" is not used when using the \"K\" format.  Anything that was\nalready successfully parsing \"(null)\" in addition to full hex digits\nshould have no problem with this change.  (Thanks to Joe Perches for the\nsuggestion.) Due to the %x to %p, \"void *\" casts are needed since these\naddresses are already \"unsigned long\" everywhere internally, due to their\nstarting life as ELF section offsets.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Eugene Teo \u003ceugene@redhat.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26297607e09ca6c7e6f2a6b86a8bee2f23503bb8",
      "tree": "b0fbb98f7d25c5aa18f972cbcddb1c81035e387c",
      "parents": [
        "3bb598fb23b6040e67b5e6db9a00b28cd26e5809"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Mar 22 16:34:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "vsprintf: neaten %pK kptr_restrict, save a bit of code space\n\nIf kptr restrictions are on, just set the passed pointer to NULL.\n\n$ size lib/vsprintf.o.*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   8247\t      4\t      2\t   8253\t   203d\tlib/vsprintf.o.new\n   8282\t      4\t      2\t   8288\t   2060\tlib/vsprintf.o.old\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fef2c9bc1b54c0261324a96e948c0b849796e896",
      "tree": "a4dd2733621d9fe1f8ec65d9ef30867ed09b640f",
      "parents": [
        "b1b5f65e53af770ede22c113e249de2f6fa53706"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Mar 22 16:34:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "kernel/watchdog.c: allow hardlockup to panic by default\n\nWhen a cpu is considered stuck, instead of limping along and just printing\na warning, it is sometimes preferred to just panic, let kdump capture the\nvmcore and reboot.  This gets the machine back into a stable state quickly\nwhile saving the info that got it into a stuck state to begin with.\n\nAdd a Kconfig option to allow users to set the hardlockup to panic\nby default.  Also add in a \u0027nmi_watchdog\u003dnopanic\u0027 to override this.\n\n[akpm@linux-foundation.org: fix strncmp length]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddd588b5dd55f14320379961e47683db4e4c1d90",
      "tree": "09de73c51c8c5e701e644236890a5d205ec3cdc9",
      "parents": [
        "94dcf29a11b3d20a28790598d701f98484a969da"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 22 16:30:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:01 2011 -0700"
      },
      "message": "oom: suppress nodes that are not allowed from meminfo on oom kill\n\nThe oom killer is extremely verbose for machines with a large number of\ncpus and/or nodes.  This verbosity can often be harmful if it causes other\nimportant messages to be scrolled from the kernel log and incurs a\nsignicant time delay, specifically for kernels with CONFIG_NODES_SHIFT \u003e\n8.\n\nThis patch causes only memory information to be displayed for nodes that\nare allowed by current\u0027s cpuset when dumping the VM state.  Information\nfor all other nodes is irrelevant to the oom condition; we don\u0027t care if\nthere\u0027s an abundance of memory elsewhere if we can\u0027t access it.\n\nThis only affects the behavior of dumping memory information when an oom\nis triggered.  Other dumps, such as for sysrq+m, still display the\nunfiltered form when using the existing show_mem() interface.\n\nAdditionally, the per-cpu pageset statistics are extremely verbose in oom\nkiller output, so it is now suppressed.  This removes\n\n\tnodes_weight(current-\u003emems_allowed) * (1 + nr_cpus)\n\nlines from the oom killer output.\n\nCallers may use __show_mem(SHOW_MEM_FILTER_NODES) to filter disallowed\nnodes.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eddecbb601c9ea3fab7e67d7892010fc9426d1e6",
      "tree": "4bfa4740ae554e5c5a8468e74b39531a6153ce9f",
      "parents": [
        "0bf8c869701039b12c3520cb1bb1689595ab108b",
        "f2c23f65f63fe0dd83fc94efdfae0364c74458b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 21 15:55:26 2011 -0700"
      },
      "message": "Merge branch \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default\n  genksyms: Regenerate lexer and parser\n  genksyms: Track changes to enum constants\n  genksyms: simplify usage of find_symbol()\n  genksyms: Add helpers for building string lists\n  genksyms: Simplify printing of symbol types\n  genksyms: Simplify lexer\n  genksyms: Do not paste the bison header file to lex.c\n  modpost: fix trailing comma\n  KBuild: silence \"\u0027scripts/unifdef\u0027 is up to date.\"\n  kbuild: Add extra gcc checks\n  kbuild: reenable section mismatch analysis\n  unifdef: update to upstream version 2.5\n"
    },
    {
      "commit": "f2c23f65f63fe0dd83fc94efdfae0364c74458b8",
      "tree": "2747863f1ac5ed8b28afde4e68f86f78fe6145a4",
      "parents": [
        "a88bab9aeebe3118703e1532343d82688c12578e"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Mar 21 10:44:30 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Mar 21 10:47:58 2011 +0100"
      },
      "message": "kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default\n\nCONFIG_DEBUG_SECTION_MISMATCH has also runtime effects due to the\n-fno-inline-functions-called-once compiler flag, so forcing it on\neveryone is not a good idea.\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "f74b9444192c60603020c61d7915b72893137edc",
      "tree": "8b1d16d373234038c2b045c9ceb3c33b93059e8a",
      "parents": [
        "7a6362800cb7d1d618a697a650c7aaed3eb39320",
        "4ba8216cd90560bc402f52076f64d8546e8aefcb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: That\u0027s all, folks\n  fs/locks.c: Remove stale FIXME left over from BKL conversion\n  ipx: remove the BKL\n  appletalk: remove the BKL\n  x25: remove the BKL\n  ufs: remove the BKL\n  hpfs: remove the BKL\n  drivers: remove extraneous includes of smp_lock.h\n  tracing: don\u0027t trace the BKL\n  adfs: remove the big kernel lock\n"
    },
    {
      "commit": "7a6362800cb7d1d618a697a650c7aaed3eb39320",
      "tree": "087f9bc6c13ef1fad4b392c5cf9325cd28fa8523",
      "parents": [
        "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
        "ceda86a108671294052cbf51660097b6534672f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 16:29:25 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)\n  bonding: enable netpoll without checking link status\n  xfrm: Refcount destination entry on xfrm_lookup\n  net: introduce rx_handler results and logic around that\n  bonding: get rid of IFF_SLAVE_INACTIVE netdev-\u003epriv_flag\n  bonding: wrap slave state work\n  net: get rid of multiple bond-related netdevice-\u003epriv_flags\n  bonding: register slave pointer for rx_handler\n  be2net: Bump up the version number\n  be2net: Copyright notice change. Update to Emulex instead of ServerEngines\n  e1000e: fix kconfig for crc32 dependency\n  netfilter ebtables: fix xt_AUDIT to work with ebtables\n  xen network backend driver\n  bonding: Improve syslog message at device creation time\n  bonding: Call netif_carrier_off after register_netdevice\n  bonding: Incorrect TX queue offset\n  net_sched: fix ip_tos2prio\n  xfrm: fix __xfrm_route_forward()\n  be2net: Fix UDP packet detected status in RX compl\n  Phonet: fix aligned-mode pipe socket buffer header reserve\n  netxen: support for GbE port settings\n  ...\n\nFix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c\nwith the staging updates.\n"
    },
    {
      "commit": "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
      "tree": "475bfb1163c59d1370fd77415255afba768f9520",
      "parents": [
        "971f115a50afbe409825c9f3399d5a3b9aca4381",
        "9d90c8d9cde929cbc575098e825d7c29d9f45054"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)\n  printk: do not mangle valid userspace syslog prefixes\n  efivars: Add Documentation\n  efivars: Expose efivars functionality to external drivers.\n  efivars: Parameterize operations.\n  efivars: Split out variable registration\n  efivars: parameterize efivars\n  efivars: Make efivars bin_attributes dynamic\n  efivars: move efivars globals into struct efivars\n  drivers:misc: ti-st: fix debugging code\n  kref: Fix typo in kref documentation\n  UIO: add PRUSS UIO driver support\n  Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches\n  firmware: Fix unaligned memory accesses in dmi-sysfs\n  firmware: Add documentation for /sys/firmware/dmi\n  firmware: Expose DMI type 15 System Event Log\n  firmware: Break out system_event_log in dmi-sysfs\n  firmware: Basic dmi-sysfs support\n  firmware: Add DMI entry types to the headers\n  Driver core: convert platform_{get,set}_drvdata to static inline functions\n  Translate linux-2.6/Documentation/magic-number.txt into Chinese\n  ...\n"
    },
    {
      "commit": "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
      "tree": "7a59610f45f7222f25b3212c53fa28636bb4427c",
      "parents": [
        "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
        "dbebbfbb1605f0179e7c0d900d941cc9c45de569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtmutex: tester: Remove the remaining BKL leftovers\n  lockdep/timers: Explain in detail the locking problems del_timer_sync() may cause\n  rtmutex: Simplify PI algorithm and make highest prio task get lock\n  rwsem: Remove redundant asmregparm annotation\n  rwsem: Move duplicate function prototypes to linux/rwsem.h\n  rwsem: Unify the duplicate rwsem_is_locked() inlines\n  rwsem: Move duplicate init macros and functions to linux/rwsem.h\n  rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h\n  x86: Cleanup rwsem_count_t typedef\n  rwsem: Cleanup includes\n  locking: Remove deprecated lock initializers\n  cred: Replace deprecated spinlock initialization\n  kthread: Replace deprecated spinlock initialization\n  xtensa: Replace deprecated spinlock initialization\n  um: Replace deprecated spinlock initialization\n  sparc: Replace deprecated spinlock initialization\n  mips: Replace deprecated spinlock initialization\n  cris: Replace deprecated spinlock initialization\n  alpha: Replace deprecated spinlock initialization\n  rtmutex-tester: Remove BKL tests\n"
    },
    {
      "commit": "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
      "tree": "b3fbd9dcaac45feefc554b5a46888b2cbec0c51d",
      "parents": [
        "c345f60a5f58a65004f22fb0d257d65ec1528310",
        "07d5ecae2940ddd77746e2fb597dcf57d3c2e277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()\n  futex: Deobfuscate handle_futex_death()\n  plist: Add priority list test\n  plist: Shrink struct plist_head\n  futex,plist: Remove debug lock assignment from plist_node\n  futex,plist: Pass the real head of the priority list to plist_del()\n  futex: Sanitize futex ops argument types\n  futex: Sanitize cmpxchg_futex_value_locked API\n  futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic()\n  futex: Avoid redudant evaluation of task_pid_vnr()\n  futex: Update futex_wait_setup comments about locking\n"
    },
    {
      "commit": "6d55da53db3d9b911f69f2ce1e5fb8943eafe057",
      "tree": "f812fcb0cedfddb562fdc4cb25d3394e5325ccbf",
      "parents": [
        "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:18 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:14:48 2011 -0500"
      },
      "message": "plist: Add priority list test\n\nAdd test code for checking plist when the kernel is booting.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107986.1010302@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac",
      "tree": "c85f2b2acac9bf9b88e0c19d90d252b1780e0d35",
      "parents": [
        "017f2b239dabb2740b91df162e004371b861f371"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:14 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:13:26 2011 -0500"
      },
      "message": "plist: Shrink struct plist_head\n\nstruct plist_head is used in struct task_struct as well as struct\nrtmutex. If we can make it smaller, it will also make these structures\nsmaller as well.\n\nThe field prio_list in struct plist_head is seldom used and we can get\nits information from the plist_nodes. Removing this field will decrease\nthe size of plist_head by half.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107982.9090700@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "409ec36c320d580a036045e603f96286c362c609",
      "tree": "3dd9b3569799f7962b523a068052445e2d2c51aa",
      "parents": [
        "1b7fe59322bef9e7a2c05b64a07a66b875299736",
        "8d5eab5aa676378b4c9daa62d10d08a0bca04677"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "437aa565e2656776a7104aaacd792fe789ea8b2d",
      "tree": "a48688f36673af7bdb29fd24de216e170f4ef22b",
      "parents": [
        "2c1c5f199482356c00f70b6f2f368c3455d1230c"
      ],
      "author": {
        "name": "Ivan Djelic",
        "email": "ivan.djelic@parrot.com",
        "time": "Fri Mar 11 11:05:32 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Mar 11 14:25:50 2011 +0000"
      },
      "message": "lib: add shared BCH ECC library\n\nThis is a new software BCH encoding/decoding library, similar to the shared\nReed-Solomon library.\n\nBinary BCH (Bose-Chaudhuri-Hocquenghem) codes are widely used to correct\nerrors in NAND flash devices requiring more than 1-bit ecc correction; they\nare generally better suited for NAND flash than RS codes because NAND bit\nerrors do not occur in bursts. Latest SLC NAND devices typically require at\nleast 4-bit ecc protection per 512 bytes block.\n\nThis library provides software encoding/decoding, but may also be used with\nASIC/SoC hardware BCH engines to perform error correction. It is being\ncurrently used for this purpose on an OMAP3630 board (4bit/8bit HW BCH). It\nhas also been used to decode raw dumps of NAND devices with on-die BCH ecc\nengines (e.g. Micron 4bit ecc SLC devices).\n\nLatest NAND devices (including SLC) can exhibit high error rates (typically\na dozen or more bitflips per hour during stress tests); in order to\nminimize the performance impact of error correction, this library\nimplements recently developed algorithms for fast polynomial root finding\n(see bch.c header for details) instead of the traditional exhaustive Chien\nroot search; a few performance figures are provided below:\n\nPlatform: arm926ejs @ 468 MHz, 32 KiB icache, 16 KiB dcache\nBCH ecc : 4-bit per 512 bytes\n\nEncoding average throughput: 250 Mbits/s\n\nError correction time (compared with Chien search):\n\n        average   worst      average (Chien)  worst (Chien)\n----------------------------------------------------------\n1 bit    8.5 µs   11 µs         200 µs           383 µs\n2 bit    9.7 µs   12.5 µs       477 µs           728 µs\n3 bit   18.1 µs   20.6 µs       758 µs          1010 µs\n4 bit   19.5 µs   23 µs        1028 µs          1280 µs\n\nIn the above figures, \"worst\" is meant in terms of error pattern, not in\nterms of cache miss / page faults effects (not taken into account here).\n\nThe library has been extensively tested on the following platforms: x86,\nx86_64, arm926ejs, omap3630, qemu-ppc64, qemu-mips.\n\nSigned-off-by: Ivan Djelic \u003civan.djelic@parrot.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "997772884036e6e121de39322179989154437d9f",
      "tree": "618ef63c45e16892ea26a99cafef6b0442e8eca1",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 07 09:58:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 08 16:10:38 2011 +0100"
      },
      "message": "debugobjects: Add hint for better object identification\n\nIn complex subsystems like mac80211 structures can contain several\ntimers and work structs, so identifying a specific instance from the\ncall trace and object type output of debugobjects can be hard.\n\nAllow the subsystems which support debugobjects to provide a hint\nfunction. This function returns a pointer to a kernel address\n(preferrably the objects callback function) which is printed along\nwith the debugobjects type.\n\nAdd hint methods for timer_list, work_struct and hrtimer.\n\n[ tglx: Massaged changelog, made it compile ]\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c20110307085809.GA9334@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4ba8216cd90560bc402f52076f64d8546e8aefcb",
      "tree": "f64c272085c833b36755b5552a726f21eed3d142",
      "parents": [
        "ae7eb8979ccfa5e9e888101b9c940f20bd0f4115"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 22:52:22 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 05 10:56:00 2011 +0100"
      },
      "message": "BKL: That\u0027s all, folks\n\nThis removes the implementation of the big kernel lock,\nat last. A lot of people have worked on this in the\npast, I so the credit for this patch should be with\neveryone who participated in the hunt.\n\nThe names on the Cc list are the people that were the\nmost active in this, according to the recorded git\nhistory, in alphabetical order.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Blunck \u003cjblunck@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a7a9a24dcd2c57edf148ca9a14a510a5765ecf20",
      "tree": "0f4e10f3dd8ff996ec3ebd2fcc9566c7a3b6a970",
      "parents": [
        "b06af7a57de42707fee6eec784ee507960cc9131"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Tue Mar 01 20:03:05 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 14:05:17 2011 -0500"
      },
      "message": "lib-average: Make config option selectable\n\nMake CONFIG_AVERAGE selectable for out-of-tree users\nsuch as compat-wireless.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "4438a02fc4956f5f61918095708f183f5c63a9d3",
      "tree": "cc37b89534e3679d8e4e9c95935d040758a9de74",
      "parents": [
        "fb4b10ab5fadcf5012983e4306aec3131b808b1b",
        "4cd72c6e72e8a36a975decb53d70086008f386db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  MAINTAINERS: Add Andy Gospodarek as co-maintainer.\n  r8169: disable ASPM\n  RxRPC: Fix v1 keys\n  AF_RXRPC: Handle receiving ACKALL packets\n  cnic: Fix lost interrupt on bnx2x\n  cnic: Prevent status block race conditions with hardware\n  net: dcbnl: check correct ops in dcbnl_ieee_set()\n  e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead\n  igb: fix sparse warning\n  e1000: fix sparse warning\n  netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values\n  dccp: fix oops on Reset after close\n  ipvs: fix dst_lock locking on dest update\n  davinci_emac: Add Carrier Link OK check in Davinci RX Handler\n  bnx2x: update driver version to 1.62.00-6\n  bnx2x: properly calculate lro_mss\n  bnx2x: perform statistics \"action\" before state transition.\n  bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode).\n  bnx2x: Fix ethtool -t link test for MF (non-pmf) devices.\n  bnx2x: Fix nvram test for single port devices.\n  ...\n"
    },
    {
      "commit": "f51b452bed4ae5c20e1f8a790e4ed8663d909a40",
      "tree": "3c028a2cb74253d74cf4ed15b2900531217cb6b6",
      "parents": [
        "4688a066ecf60086ea82f68edb3b036b567d2c08"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 21:54:50 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Mar 02 00:02:39 2011 +0100"
      },
      "message": "tracing: don\u0027t trace the BKL\n\nNo reason to trace it when the last user is gone.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "e3fa3aff0cb198e7c53d894f52146121d9592872",
      "tree": "69746e934e9b4cdff8ae686caafb471770755e73",
      "parents": [
        "f5a45325284ec10a907b96052ebf2168e7166b5c"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Feb 28 12:38:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 12:38:25 2011 -0800"
      },
      "message": "net: fix nla_policy_len to actually _iterate_ over the policy\n\nCurrently nla_policy_len always returns n * NLA_HDRLEN:\nIt loops, but does not advance it\u0027s iterator.\nNLA_UNSPEC \u003d\u003d 0 does not contain a .len in any policy.\n\nTrivially fixed by adding p++.\n\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fba99fa38b023224680308a482e12a0eca87e4e1",
      "tree": "c4dba5806fbe88b626805293cf14e6c2b08ca870",
      "parents": [
        "f8407f26b4c9a36aab74fcdbd6e14ffe4f8d9476"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Feb 25 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:36 2011 -0800"
      },
      "message": "swiotlb: fix wrong panic\n\nswiotlb\u0027s map_page wrongly calls panic() when it can\u0027t find a buffer fit\nfor device\u0027s dma mask.  It should return an error instead.\n\nDevices with an odd dma mask (i.e.  under 4G) like b44 network card hit\nthis bug (the system crashes):\n\n   http://marc.info/?l\u003dlinux-kernel\u0026m\u003d129648943830106\u0026w\u003d2\n\nIf swiotlb returns an error, b44 driver can use the own bouncing\nmechanism.\n\nReported-by: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nTested-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de933bd833be1a53bd361c9a327afd3c65413351",
      "tree": "611a38a0c47d39c5249fe524938c1de4231cbc72",
      "parents": [
        "3cbea4366f17dcb22f3bf5f253eeb86b622d24d0"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Feb 18 21:47:20 2011 +0100"
      },
      "committer": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Feb 24 15:26:43 2011 +0100"
      },
      "message": "kbuild: reenable section mismatch analysis\n\nThis was disabled in commit\n\n\te5f95c8 (kbuild: print only total number of section mismatces found)\n\nbecause there were too many warnings.  Now we\u0027re down to a reasonable\nnumber again, so we start scaring people with the details.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\n"
    },
    {
      "commit": "da935c66bacb3ed9ada984b053297f87c2dff63a",
      "tree": "46278da2b312c73f1375b830d7e5912bf23abd78",
      "parents": [
        "9435eb1cf0b76b323019cebf8d16762a50a12a19",
        "2205a6ea93fea76f88b43727fea53f3ce3790d6f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 19 19:17:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/e1000e/netdev.c\n\tnet/xfrm/xfrm_policy.c\n"
    },
    {
      "commit": "3c18d4de86e4a7f93815c081e50e0543fa27200f",
      "tree": "adea22bccd076266bf94cbda3ed6d9a98eea1206",
      "parents": [
        "2a324ce7b79a3a90cc2d4ade5d5f960a99000caa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 11:32:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 18 11:32:28 2011 -0800"
      },
      "message": "Expand CONFIG_DEBUG_LIST to several other list operations\n\nWhen list debugging is enabled, we aim to readably show list corruption\nerrors, and the basic list_add/list_del operations end up having extra\ndebugging code in them to do some basic validation of the list entries.\n\nHowever, \"list_del_init()\" and \"list_move[_tail]()\" ended up avoiding\nthe debug code due to how they were written. This fixes that.\n\nSo the _next_ time we have list_move() problems with stale list entries,\nwe\u0027ll hopefully have an easier time finding them..\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3ec4a603faf4244e275bf11b467aad092dfbd8a",
      "tree": "1c15009716b37629070ea221a00eb9fe2303a317",
      "parents": [
        "51563cd53c4b1c1790fccd2e0af0e2b756589af9",
        "85e2efbb1db9a18d218006706d6e4fbeb0216213"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:33:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:33:41 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38-rc5\u0027 into core/locking\n\nMerge reason: pick up upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73020415564a3fe4931f3f70f500a5db13eea946",
      "tree": "9363beed576c0b1fae011f7e8bebeb6a73934e4f",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Jan 22 22:35:38 2011 +0100"
      },
      "committer": {
        "name": "Greg Ungerer",
        "email": "gerg@uclinux.org",
        "time": "Tue Feb 08 15:07:44 2011 +1000"
      },
      "message": "m68knommu: Remove dependencies on nonexistent M68KNOMMU\n\nM68KNOMMU is set nowhere.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\n"
    },
    {
      "commit": "e8d9792aa514e49bf618713987c393d93babc2c5",
      "tree": "f348c8f70a62f05a4ccb56830f18862c2f12e161",
      "parents": [
        "c47dda7d179dde17697c3f839f150fecaf6770cb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "message": "dynamic_debug: add #include \u003clinux/sched.h\u003e\n\nThis fixes a build breakage caused by\n8ba6ebf583f12da32036fc0f003ab4043e54692e \"Dynamic debug: Add more flags\"\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ba6ebf583f12da32036fc0f003ab4043e54692e",
      "tree": "8fdd980d30fea50722b28fb5d782236174b2d188",
      "parents": [
        "9b99b7f84ea520d2ecaf816bde247a1ad07e454e"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sun Jan 23 17:17:24 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:39:16 2011 -0800"
      },
      "message": "Dynamic debug: Add more flags\n\nAdd flags that allow the user to specify via debugfs whether or not the\nmodule name, function name, line number and/or thread ID have to be\nincluded in the printed message.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Greg Banks \u003cgnb@fmeh.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "51563cd53c4b1c1790fccd2e0af0e2b756589af9",
      "tree": "d2fedfc654ab4fa011feaca262f95481a89e232a",
      "parents": [
        "d123375425d7df4b6081a631fc1203fceafa59b2",
        "8161239a8bcce9ad6b537c04a1fa3b5c68bae693"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 15:08:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 15:09:14 2011 +0100"
      },
      "message": "Merge branch \u0027tip/rtmutex\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into core/locking\n\n*git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace tip/rtmutex:\n   rtmutex: Simplify PI algorithm and make highest prio task get lock\n"
    },
    {
      "commit": "0b6bb66d1247601e4a2560bb048d64c606bd7b73",
      "tree": "74319fede412aab03d19034a30eaf164d3dc2498",
      "parents": [
        "b12ece7d852efbc8db45371c068900fcc62002d4"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@linbit.com",
        "time": "Wed Jan 26 15:55:36 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 12:16:59 2011 +1000"
      },
      "message": "Export the augmented rbtree helper functions\n\nThe augmented rbtree helper functions are not exported to modules right\nnow.\n\n(We have started using augmented rbtrees in the upcoming version of\ndrbd.)\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@linbit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7205649778ca4a110d6098f8defd7312f0bb7289",
      "tree": "1e056fcdf578a62e5639e0a2b5cb8cd393115491",
      "parents": [
        "0b711cac8b9e604c93b32ca6e0b6b73261056d65",
        "4bb9ebc78097376b3734c6d3001a96aecac0f7bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:35:51 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 28 06:35:51 2011 +1000"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits)\n  bnx2: Eliminate AER error messages on systems not supporting it\n  cnic: Fix big endian bug\n  xfrm6: Don\u0027t forget to propagate peer into ipsec route.\n  tg3: Use new VLAN code\n  bonding: update documentation - alternate configuration.\n  TCP: fix a bug that triggers large number of TCP RST by mistake\n  MAINTAINERS: remove Reinette Chatre as iwlwifi maintainer\n  rt2x00: add device id for windy31 usb device\n  mac80211: fix a crash in ieee80211_beacon_get_tim on change_interface\n  ipv6: Revert \u0027administrative down\u0027 address handling changes.\n  textsearch: doc - fix spelling in lib/textsearch.c.\n  USB NET KL5KUSB101: Fix mem leak in error path of kaweth_download_firmware()\n  pch_gbe: don\u0027t use flush_scheduled_work()\n  bnx2: Always set ETH_FLAG_TXVLAN\n  net: clear heap allocation for ethtool_get_regs()\n  ipv6: Always clone offlink routes.\n  dcbnl: make get_app handling symmetric for IEEE and CEE DCBx\n  tcp: fix bug in listening_get_next()\n  inetpeer: Use correct AVL tree base pointer in inet_getpeer().\n  GRO: fix merging a paged skb after non-paged skbs\n  ...\n"
    },
    {
      "commit": "d123375425d7df4b6081a631fc1203fceafa59b2",
      "tree": "4236dd54ab130ff87e257a85dc87a55d49ed4222",
      "parents": [
        "aac72277fda6ef788bb8d5deaa502ce9b9b6e472"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 26 21:32:01 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 27 12:30:40 2011 +0100"
      },
      "message": "rwsem: Remove redundant asmregparm annotation\n\nPeter Zijlstra pointed out, that the only user of asmregparm (x86) is\ncompiling the kernel already with -mregparm\u003d3. So the annotation of\nthe rwsem functions is redundant. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1101262130450.31804@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b4e69ac670d71b5748dc81e536b2cb103489badd",
      "tree": "26a04ba5d950657132fd6acb4e0ef17d0bcabe93",
      "parents": [
        "144ce879b057c760194d808c90826cd96308f423",
        "7cc2edb83447775a34ed3bf9d29d8295a434b523"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 26 13:49:30 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "ac15ee691fe84cb46cbd2497ddcb10e246f7ee47",
      "tree": "6f9b37d61833b6170b71fb6ce8b3f2a14196dc33",
      "parents": [
        "1817dc0370873caff77b924b53ae489edaf9b1e2"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Tue Jan 25 15:07:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:04 2011 +1000"
      },
      "message": "radix_tree: radix_tree_gang_lookup_tag_slot() may never return\n\nExecuted command: fsstress -d /mnt -n 600 -p 850\n\n  crash\u003e bt\n  PID: 7947   TASK: ffff880160546a70  CPU: 0   COMMAND: \"fsstress\"\n   #0 [ffff8800dfc07d00] machine_kexec at ffffffff81030db9\n   #1 [ffff8800dfc07d70] crash_kexec at ffffffff810a7952\n   #2 [ffff8800dfc07e40] oops_end at ffffffff814aa7c8\n   #3 [ffff8800dfc07e70] die_nmi at ffffffff814aa969\n   #4 [ffff8800dfc07ea0] do_nmi_callback at ffffffff8102b07b\n   #5 [ffff8800dfc07f10] do_nmi at ffffffff814aa514\n   #6 [ffff8800dfc07f50] nmi at ffffffff814a9d60\n      [exception RIP: __lookup_tag+100]\n      RIP: ffffffff812274b4  RSP: ffff88016056b998  RFLAGS: 00000287\n      RAX: 0000000000000000  RBX: 0000000000000002  RCX: 0000000000000006\n      RDX: 000000000000001d  RSI: ffff88016056bb18  RDI: ffff8800c85366e0\n      RBP: ffff88016056b9c8   R8: ffff88016056b9e8   R9: 0000000000000000\n      R10: 000000000000000e  R11: ffff8800c8536908  R12: 0000000000000010\n      R13: 0000000000000040  R14: ffffffffffffffc0  R15: ffff8800c85366e0\n      ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018\n  \u003cNMI exception stack\u003e\n   #7 [ffff88016056b998] __lookup_tag at ffffffff812274b4\n   #8 [ffff88016056b9d0] radix_tree_gang_lookup_tag_slot at ffffffff81227605\n   #9 [ffff88016056ba20] find_get_pages_tag at ffffffff810fc110\n  #10 [ffff88016056ba80] pagevec_lookup_tag at ffffffff81105e85\n  #11 [ffff88016056baa0] write_cache_pages at ffffffff81104c47\n  #12 [ffff88016056bbd0] generic_writepages at ffffffff81105014\n  #13 [ffff88016056bbe0] do_writepages at ffffffff81105055\n  #14 [ffff88016056bbf0] __filemap_fdatawrite_range at ffffffff810fb2cb\n  #15 [ffff88016056bc40] filemap_write_and_wait_range at ffffffff810fb32a\n  #16 [ffff88016056bc70] generic_file_direct_write at ffffffff810fb3dc\n  #17 [ffff88016056bce0] __generic_file_aio_write at ffffffff810fcee5\n  #18 [ffff88016056bda0] generic_file_aio_write at ffffffff810fd085\n  #19 [ffff88016056bdf0] do_sync_write at ffffffff8114f9ea\n  #20 [ffff88016056bf00] vfs_write at ffffffff8114fcf8\n  #21 [ffff88016056bf30] sys_write at ffffffff81150691\n  #22 [ffff88016056bf80] system_call_fastpath at ffffffff8100c0b2\n\nI think this root cause is the following:\n\n radix_tree_range_tag_if_tagged() always tags the root tag with settag\n if the root tag is set with iftag even if there are no iftag tags\n in the specified range (Of course, there are some iftag tags\n outside the specified range).\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[[[Detailed description]]]\n\n(1) Why cannot radix_tree_gang_lookup_tag_slot() return forever?\n\n__lookup_tag():\n - Return with 0.\n - Return with the index which is not bigger than the old one as the\n   input parameter.\n\nTherefore the following \"while\" repeats forever because the above\nconditions cause \"ret\" not to be updated and the cur_index cannot be\nchanged into the bigger one.\n\n(So, radix_tree_gang_lookup_tag_slot() cannot return forever.)\n\nradix_tree_gang_lookup_tag_slot():\n1178         while (ret \u003c max_items) {\n1179                 unsigned int slots_found;\n1180                 unsigned long next_index;       /* Index of next search */\n1181\n1182                 if (cur_index \u003e max_index)\n1183                         break;\n1184                 slots_found \u003d __lookup_tag(node, results + ret,\n1185                                 cur_index, max_items - ret, \u0026next_index,\ntag);\n1186                 ret +\u003d slots_found;\n\t\t\t// cannot update ret because slots_found \u003d\u003d 0.\n\t\t\t// so, this while loops forever.\n1187                 if (next_index \u003d\u003d 0)\n1188                         break;\n1189                 cur_index \u003d next_index;\n1190         }\n\n(2) Why does __lookup_tag() return with 0 and doesn\u0027t update the index?\n\nAssuming the following:\n  - the one of the slot in radix_tree_node is NULL.\n  - the one of the tag which corresponds to the slot sets with\n    PAGECACHE_TAG_TOWRITE or other.\n  - In a certain height(!\u003d0), the corresponding index is 0.\n\na) __lookup_tag() notices that the tag is set.\n\n1005 static unsigned int\n1006 __lookup_tag(struct radix_tree_node *slot, void ***results, unsigned long index,\n1007         unsigned int max_items, unsigned long *next_index, unsigned int tag)\n1008 {\n1009         unsigned int nr_found \u003d 0;\n1010         unsigned int shift, height;\n1011\n1012         height \u003d slot-\u003eheight;\n1013         if (height \u003d\u003d 0)\n1014                 goto out;\n1015         shift \u003d (height-1) * RADIX_TREE_MAP_SHIFT;\n1016\n1017         while (height \u003e 0) {\n1018                 unsigned long i \u003d (index \u003e\u003e shift) \u0026 RADIX_TREE_MAP_MASK ;\n1019\n1020                 for (;;) {\n1021                         if (tag_get(slot, tag, i))\n1022                                 break;\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n* the index is not updated yet.\n\nb) __lookup_tag() notices that the slot is NULL.\n\n1023                         index \u0026\u003d ~((1UL \u003c\u003c shift) - 1);\n1024                         index +\u003d 1UL \u003c\u003c shift;\n1025                         if (index \u003d\u003d 0)\n1026                                 goto out;       /* 32-bit wraparound */\n1027                         i++;\n1028                         if (i \u003d\u003d RADIX_TREE_MAP_SIZE)\n1029                                 goto out;\n1030                 }\n1031                 height--;\n1032                 if (height \u003d\u003d 0) {      /* Bottom level: grab some items */\n...\n1055                 }\n1056                 shift -\u003d RADIX_TREE_MAP_SHIFT;\n1057                 slot \u003d rcu_dereference_raw(slot-\u003eslots[i]);\n1058                 if (slot \u003d\u003d NULL)\n1059                         break;\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nc) __lookup_tag() doesn\u0027t update the index and return with 0.\n\n1060         }\n1061 out:\n1062         *next_index \u003d index;\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n1063         return nr_found;\n1064 }\n\n(3) Why is the slot NULL even if the tag is set?\n\nBecause radix_tree_range_tag_if_tagged() always sets the root tag with\nPAGECACHE_TAG_TOWRITE if the root tag is set with PAGECACHE_TAG_DIRTY,\neven if there is no tag which can be set with PAGECACHE_TAG_TOWRITE\nin the specified range (from *first_indexp to last_index). Of course,\nsome PAGECACHE_TAG_DIRTY nodes must exist outside the specified range.\n(radix_tree_range_tag_if_tagged() is called only from tag_pages_for_writeback())\n\n 640 unsigned long radix_tree_range_tag_if_tagged(struct radix_tree_root\n*root,\n 641                 unsigned long *first_indexp, unsigned long last_index,\n 642                 unsigned long nr_to_tag,\n 643                 unsigned int iftag, unsigned int settag)\n 644 {\n 645         unsigned int height \u003d root-\u003eheight;\n 646         struct radix_tree_path path[height];\n 647         struct radix_tree_path *pathp \u003d path;\n 648         struct radix_tree_node *slot;\n 649         unsigned int shift;\n 650         unsigned long tagged \u003d 0;\n 651         unsigned long index \u003d *first_indexp;\n 652\n 653         last_index \u003d min(last_index, radix_tree_maxindex(height));\n 654         if (index \u003e last_index)\n 655                 return 0;\n 656         if (!nr_to_tag)\n 657                 return 0;\n 658         if (!root_tag_get(root, iftag)) {\n 659                 *first_indexp \u003d last_index + 1;\n 660                 return 0;\n 661         }\n 662         if (height \u003d\u003d 0) {\n 663                 *first_indexp \u003d last_index + 1;\n 664                 root_tag_set(root, settag);\n 665                 return 1;\n 666         }\n...\n 733         root_tag_set(root, settag);\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n 734         *first_indexp \u003d index;\n 735\n 736         return tagged;\n 737 }\n\nAs the result, there is no radix_tree_node which is set with\nPAGECACHE_TAG_TOWRITE but the root tag(radix_tree_root) is set with\nPAGECACHE_TAG_TOWRITE.\n\n[figure: inside radix_tree]\n(Please see the figure with typewriter font)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY]\n                 |             tag\u003d0:NOTHING\n         tag[0 0 0 1]              1:DIRTY\n            [x x x +]              2:WRITEBACK\n                   |               3:DIRTY,WRITEBACK\n                   p               4:TOWRITE\n             \u003c---\u003e                 5:DIRTY,TOWRITE ...\n     specified range (index: 0 to 2)\n\n* There is no DIRTY tag within the specified range.\n (But there is a DIRTY tag outside that range.)\n\n            | | | | | | | | |\n    after calling tag_pages_for_writeback()\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |                 p is \"page\".\n         tag[0 0 0 1]              x is NULL.\n            [x x x +]              +- is a pointer to \"page\".\n                   |\n                   p\n\n* But TOWRITE tag is set on the root tag.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAfter that, radix_tree_extend() via radix_tree_insert() is called\nwhen the page is added.\nThis function sets the new radix_tree_node with PAGECACHE_TAG_TOWRITE\nto succeed the status of the root tag.\n\n 246 static int radix_tree_extend(struct radix_tree_root *root, unsigned long\nindex)\n 247 {\n 248         struct radix_tree_node *node;\n 249         unsigned int height;\n 250         int tag;\n 251\n 252         /* Figure out what the height should be.  */\n 253         height \u003d root-\u003eheight + 1;\n 254         while (index \u003e radix_tree_maxindex(height))\n 255                 height++;\n 256\n 257         if (root-\u003ernode \u003d\u003d NULL) {\n 258                 root-\u003eheight \u003d height;\n 259                 goto out;\n 260         }\n 261\n 262         do {\n 263                 unsigned int newheight;\n 264                 if (!(node \u003d radix_tree_node_alloc(root)))\n 265                         return -ENOMEM;\n 266\n 267                 /* Increase the height.  */\n 268                 node-\u003eslots[0] \u003d radix_tree_indirect_to_ptr(root-\u003ernode);\n 269\n 270                 /* Propagate the aggregated tag info into the new root */\n 271                 for (tag \u003d 0; tag \u003c RADIX_TREE_MAX_TAGS; tag++) {\n 272                         if (root_tag_get(root, tag))\n 273                                 tag_set(node, tag, 0);\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n 274                 }\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY,TOWRITE]\n                 |     :\n         tag[0 0 0 1] [0 0 0 0]\n            [x x x +] [+ x x x]\n                   |   |\n                   p   p (new page)\n\n            | | | | | | | | |\n    after calling radix_tree_insert\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [5 0 0 0]    *  DIRTY and TOWRITE tags are\n             [+ + x x]       succeeded to the new node.\n              | |\n  tag [0 0 0 1] [0 0 0 0]\n      [x x x +] [+ x x x]\n             |   |\n             p   p\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAfter that, the index 3 page is released by remove_from_page_cache().\nThen we can make the situation that the tag is set with PAGECACHE_TAG_TOWRITE\nand that the slot which corresponds to the tag is NULL.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [5 0 0 0]\n             [+ + x x]\n              | |\n  tag [0 0 0 1] [0 0 0 0]\n      [x x x +] [+ x x x]\n             |   |\n             p   p\n         (remove)\n\n            | | | | | | | | |\n    after calling remove_page_cache\n            | | | | | | | | |\n            v v v v v v v v v\n\n          [roottag \u003d DIRTY,TOWRITE]\n                 |\n         tag [4 0 0 0]      * Only DIRTY tag is cleared\n             [x + x x]        because no TOWRITE tag is existed\n                |             in the bottom node.\n                [0 0 0 0]\n                [+ x x x]\n                 |\n                 p\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nTo solve this problem\n\nChange to that radix_tree_tag_if_tagged() doesn\u0027t tag the root tag\nif it doesn\u0027t set any tags within the specified range.\n\nLike this.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 640 unsigned long radix_tree_range_tag_if_tagged(struct radix_tree_root\n*root,\n 641                 unsigned long *first_indexp, unsigned long last_index,\n 642                 unsigned long nr_to_tag,\n 643                 unsigned int iftag, unsigned int settag)\n 644 {\n 650         unsigned long tagged \u003d 0;\n...\n 733 \t     if (tagged)\n^^^^^^^^^^^^^^^^^^^^^^^^\n 734            root_tag_set(root, settag);\n 735         *first_indexp \u003d index;\n 736\n 737         return tagged;\n 738 }\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de0368d5fec7b9ef95228510f2edb79610beb448",
      "tree": "614abfbcef4a3c5918f1bc146abed735caf719a5",
      "parents": [
        "986e3f6e2b4582d9a7e61de5090042d5af85da44"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Mon Jan 24 02:41:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 23:33:30 2011 -0800"
      },
      "message": "textsearch: doc - fix spelling in lib/textsearch.c.\n\nFound the following spelling errors while reading the textsearch code:\n  \"facitilies\"  -\u003e \"facilities\"\n  \"continously\" -\u003e \"continuously\"\n  \"arbitary\"    -\u003e \"arbitrary\"\n  \"patern\"      -\u003e \"pattern\"\n  \"occurences\"  -\u003e \"occurrences\"\n\nI\u0027ll try to push this patch through DaveM, given the only users\nof textsearch is in the net/ tree (nf_conntrack_amanda.c, xt_string.c\nand em_text.c)\n\nSigned-off-by: Jesper Sander \u003csander.contrib@gmail.com\u003e\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c39649c331c70952700f99832b03f87e9d7f5b4b",
      "tree": "19ba9cea5102595e42bcd043aa53eb666ea834fa",
      "parents": [
        "c2df88cbb43c25db27fbbf94e92318bdad018f3e"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 11:03:25 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 14:51:56 2011 -0800"
      },
      "message": "lib: cpu_rmap: CPU affinity reverse-mapping\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add\nlibrary functions to support a generic reverse-mapping from CPUs to\nobjects with affinity and the specific case where the objects are\nIRQs.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a108a14fa356ef607be308b68337939e56ea94e",
      "tree": "1bf260572bd8f95ed867307a2bcf5d881c8ae4a6",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Thu Jan 20 14:44:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:05 2011 -0800"
      },
      "message": "kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n\nThe meaning of CONFIG_EMBEDDED has long since been obsoleted; the option\nis used to configure any non-standard kernel with a much larger scope than\nonly small devices.\n\nThis patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes\nreferences to the option throughout the kernel.  A new CONFIG_EMBEDDED\noption is added that automatically selects CONFIG_EXPERT when enabled and\ncan be used in the future to isolate options that should only be\nconsidered for embedded systems (RISC architectures, SLOB, etc).\n\nCalling the option \"EXPERT\" more accurately represents its intention: only\nexpert users who understand the impact of the configuration changes they\nare making should enable it.\n\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Woodhouse \u003cdavid.woodhouse@intel.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "1da914e0648ace34e1c3738d9584e8b2cd6fe64a",
      "tree": "d52798bed2086ea7fd9182ff1e9ddae8b09c4740",
      "parents": [
        "303148045aac34b70db722a54e5ad94a3a6625c6"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:25 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:25 2011 -0800"
      },
      "message": "decompressors: check input size in decompress_inflate.c\n\nCheck for end of the input buffer when skipping over the filename field in\nthe .gz file header.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ebe12439ba7fc62e1d6ecb569b7287771716ca1",
      "tree": "65945a63ad1474489d80c8ca1fb1c1c8091fb7a2",
      "parents": [
        "24fa0402a9b6a537e87e38341e78b7da86486846"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:25 2011 -0800"
      },
      "message": "decompressors: add boot-time XZ support\n\nThis implements the API defined in \u003clinux/decompress/generic.h\u003e which is\nused for kernel, initramfs, and initrd decompression.  This patch together\nwith the first patch is enough for XZ-compressed initramfs and initrd;\nXZ-compressed kernel will need arch-specific changes.\n\nThe buffering requirements described in decompress_unxz.c are stricter\nthan with gzip, so the relevant changes should be done to the\narch-specific code when adding support for XZ-compressed kernel.\nSimilarly, the heap size in arch-specific pre-boot code may need to be\nincreased (30 KiB is enough).\n\nThe XZ decompressor needs memmove(), memeq() (memcmp() \u003d\u003d 0), and\nmemzero() (memset(ptr, 0, size)), which aren\u0027t available in all\narch-specific pre-boot environments.  I\u0027m including simple versions in\ndecompress_unxz.c, but a cleaner solution would naturally be nicer.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24fa0402a9b6a537e87e38341e78b7da86486846",
      "tree": "06adb32802cf8a3491dff1f4e5cad464c676040a",
      "parents": [
        "fb7fa589fd3ecc212fabd7867a4ecc3b175260c1"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "decompressors: add XZ decompressor module\n\nIn userspace, the .lzma format has become mostly a legacy file format that\ngot superseded by the .xz format.  Similarly, LZMA Utils was superseded by\nXZ Utils.\n\nThese patches add support for XZ decompression into the kernel.  Most of\nthe code is as is from XZ Embedded \u003chttp://tukaani.org/xz/embedded.html\u003e.\nIt was written for the Linux kernel but is usable in other projects too.\n\nAdvantages of XZ over the current LZMA code in the kernel:\n  - Nice API that can be used by other kernel modules; it\u0027s\n    not limited to kernel, initramfs, and initrd decompression.\n  - Integrity check support (CRC32)\n  - BCJ filters improve compression of executable code on\n    certain architectures. These together with LZMA2 can\n    produce a few percent smaller kernel or Squashfs images\n    than plain LZMA without making the decompression slower.\n\nThis patch: Add the main decompression code (xz_dec), testing module\n(xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,\nand documentation.  The xz_dec module is enough to have a usable XZ\ndecompressor e.g.  for Squashfs.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb7fa589fd3ecc212fabd7867a4ecc3b175260c1",
      "tree": "785e193aaaf9537136140084f8cf2f5ea0d1fb9f",
      "parents": [
        "5a3f81a7029daff5f08aad146f4c4510e790da49"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: fix callback-to-callback mode in decompress_unlzo.c\n\nCallback-to-callback decompression mode is used for initrd (not\ninitramfs).  The LZO wrapper is broken for this use case for two reasons:\n\n  - The argument validation is needlessly too strict by\n    requiring that \"posp\" is non-NULL when \"fill\" is non-NULL.\n\n  - The buffer handling code didn\u0027t work at all for this\n    use case.\n\nI tested with LZO-compressed kernel, initramfs, initrd, and corrupt\n(truncated) initramfs and initrd images.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a3f81a7029daff5f08aad146f4c4510e790da49",
      "tree": "08f0dfe372ebb5db518de2e80c4fb1d7c81f70be",
      "parents": [
        "8f9b54a35a70b604ebd2b2f2e7e04eabd0ff8a54"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Wed Jan 12 17:01:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:24 2011 -0800"
      },
      "message": "Decompressors: check input size in decompress_unlzo.c\n\nThe code assumes that the input is valid and not truncated.  Add checks to\navoid reading past the end of the input buffer.  Change the type of \"skip\"\nfrom u8 to int to fix a possible integer overflow.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "dc88e46029486ed475c71fe1bb696d39511ac8fe"
}
