)]}'
{
  "log": [
    {
      "commit": "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
      "tree": "e391aebab8b81a68fe36e5fef8a729062f643259",
      "parents": [
        "3f4b5c5d275608d42ff54c4981307f9a5c75ea4a",
        "3c506efd7e0f615bd9603ce8c06bc4a896952599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: avoid leaking caches or refcounts on sysfs error\n  slab: Fix comment on #endif\n  slab: remove GFP_THISNODE clearing from alloc_slabmgmt()\n  slub: Add might_sleep_if() to slab_alloc()\n  SLUB: failslab support\n  slub: Fix incorrect use of loose\n  slab: Update the kmem_cache_create documentation regarding the name parameter\n  slub: make early_kmem_cache_node_alloc void\n  slab: unsigned slabp-\u003einuse cannot be less than 0\n  slub - fix get_object_page comment\n  SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n  SLUB: cleanup - define macros instead of hardcoded numbers\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "773ff60e841461cb1f9374a713ffcda029b8c317",
      "tree": "c3691b5a82261a3d2c1861f2913774faac63fa96",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 23 19:37:01 2008 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:27:46 2008 +0200"
      },
      "message": "SLUB: failslab support\n\nCurrently fault-injection capability for SLAB allocator is only\navailable to SLAB. This patch makes it available to SLUB, too.\n\n[penberg@cs.helsinki.fi: unify slab and slub implementations]\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -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: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
      "tree": "59383b15bc0891b8a44500a0ac172a8850f1068d",
      "parents": [
        "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
        "79a66b96c339626a3e4b226fefc0e45244cfe6ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "message": "Merge branch \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits)\n  x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32\n  x86: PAT: fix address types in track_pfn_vma_new()\n  x86: prioritize the FPU traps for the error code\n  x86: PAT: pfnmap documentation update changes\n  x86: PAT: move track untrack pfnmap stubs to asm-generic\n  x86: PAT: remove follow_pfnmap_pte in favor of follow_phys\n  x86: PAT: modify follow_phys to return phys_addr prot and return value\n  x86: PAT: clarify is_linear_pfn_mapping() interface\n  x86: ia32_signal: remove unnecessary declaration\n  x86: common.c boot_cpu_stack and boot_exception_stacks should be static\n  x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies\n  x86: fix warning in arch/x86/kernel/microcode_amd.c\n  x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32\n  x86: asm-offset_64: use rt_sigframe_ia32\n  x86: sigframe.h: include headers for dependency\n  x86: traps.c declare functions before they get used\n  x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3\n  x86: PAT: add pgprot_writecombine() interface for drivers - v3\n  x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3\n  x86: PAT: implement track/untrack of pfnmap regions for x86 - v3\n  ...\n"
    },
    {
      "commit": "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
      "tree": "c7867af2bb4ff0feae889183efcd4d79b0f9a325",
      "parents": [
        "e14e61e967f2b3bdf23f05e4ae5b9aa830151a44",
        "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (105 commits)\n  SELinux: don\u0027t check permissions for kernel mounts\n  security: pass mount flags to security_sb_kern_mount()\n  SELinux: correctly detect proc filesystems of the form \"proc/foo\"\n  Audit: Log TIOCSTI\n  user namespaces: document CFS behavior\n  user namespaces: require cap_set{ug}id for CLONE_NEWUSER\n  user namespaces: let user_ns be cloned with fairsched\n  CRED: fix sparse warnings\n  User namespaces: use the current_user_ns() macro\n  User namespaces: set of cleanups (v2)\n  nfsctl: add headers for credentials\n  coda: fix creds reference\n  capabilities: define get_vfs_caps_from_disk when file caps are not enabled\n  CRED: Allow kernel services to override LSM settings for task actions\n  CRED: Add a kernel_service object class to SELinux\n  CRED: Differentiate objective and effective subjective credentials on a task\n  CRED: Documentation\n  CRED: Use creds in file structs\n  CRED: Prettify commoncap.c\n  CRED: Make execve() take advantage of copy-on-write credentials\n  ...\n"
    },
    {
      "commit": "6638101c1124c19c8a65b1645e4ecd09e0572f3e",
      "tree": "a1e47e8da2e5478846afdd91e8ebcf0914ed7373",
      "parents": [
        "cc37d3d20604f3759d269247b022616f710aa52d",
        "3ae7020543db0b769538e64d1ce8d51fceff60ca",
        "a08636690d06b2e36cfb4c2b3ee133a81c47e1e0",
        "00ef9f7348dfd2fc223ec42aceb30836e86b367f",
        "26cc271db798cf211d35967cbfbb53e997126b84",
        "12d79bafb75639f406a9f71aab94808c414c836e",
        "3ac52669c7a24b93663acfcab606d1065ed1accd",
        "8b752e3ef6e3f5cde87afc649dd51d92b1e549c1",
        "9212ddb5eada64fec5a08b28207401f3cc3d0876"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "message": "Merge branches \u0027core/debugobjects\u0027, \u0027core/iommu\u0027, \u0027core/locking\u0027, \u0027core/printk\u0027, \u0027core/rcu\u0027, \u0027core/resources\u0027, \u0027core/softirq\u0027 and \u0027core/stacktrace\u0027 into core/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "93027354d6e8a66a12dedb89d59b21cf7c2d35ed",
      "tree": "68a4e3309ab35dcae4b07ca60b3cfc656dac539c",
      "parents": [
        "aa1a85dbd1d3265ca36f684026fe7689b7836bed"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 13 22:05:13 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:48 2008 +1100"
      },
      "message": "libcrc32c: Select CRYPTO in Kconfig\n\nSelecting CRYPTO_CRC32C is not enough as CRYPTO which CRYPTO_CRC32C\ndepends on may be disabled.  This patch adds the select on CRYPTO.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "53b146ae598268edbe2bf7ea7dfec721d51adddd",
      "tree": "c605309ecee7320e3419e426c8b54638441cef35",
      "parents": [
        "69c35efcf1576ab5f00cba83e8ca740923afb6c9"
      ],
      "author": {
        "name": "Adrian-Ken Rueegsegger",
        "email": "rueegsegger@swiss-it.ch",
        "time": "Tue Nov 11 12:14:00 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:42 2008 +1100"
      },
      "message": "libcrc32c: Fix \"crc32c undefined\" compilation error\n\nThe latest shash changes leave crc32c undefined:\n\n[...]\nBuilding modules, stage 2.\n  MODPOST 1381 modules\n  ERROR: \"crc32c\" [net/sctp/sctp.ko] undefined!\n  ERROR: \"crc32c\" [net/ipv4/netfilter/nf_nat_proto_sctp.ko] undefined!\n\nAdding EXPORT_SYMBOL(crc32c) to lib/libcrc32c.c fixes the compile error.\nThis patch has been compile-tested only.\n\nSigned-off-by: Adrian-Ken Rueegsegger \u003crueegsegger@swiss-it.ch\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "69c35efcf1576ab5f00cba83e8ca740923afb6c9",
      "tree": "faf3bba45be45d530e3355c46d6bf2cd99d0e83c",
      "parents": [
        "8e3ee85e68c5d5c95451afd3e8f0997eec6f99e5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 07 15:11:47 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:40 2008 +1100"
      },
      "message": "libcrc32c: Move implementation to crypto crc32c\n\nThis patch swaps the role of libcrc32c and crc32c.  Previously\nthe implementation was in libcrc32c and crc32c was a wrapper.\nNow the code is in crc32c and libcrc32c just calls the crypto\nlayer.\n\nThe reason for the change is to tap into the algorithm selection\ncapability of the crypto API so that optimised implementations\nsuch as the one utilising Intel\u0027s CRC32C instruction can be\nused where available.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "fa623d1b0222adbe8f822e53c08003b9679a410c",
      "tree": "261a320f3fbf88fab8a3203419ca4d71bdf49152",
      "parents": [
        "3d44cc3e01ee1b40317f79ed54324e25c4f848df",
        "1ccedb7cdba6886939dd8b4c8f965a826f696e56",
        "34945ede31071ac7d72270cc6c1893323f392b3f",
        "d4377974062122d6d9be0bbd8a910a0954714194",
        "c415b3dce30dfb41234e118662e8720f47343a4f",
        "beeb4195cbc80b7489631361b7ed38b7518af433",
        "f269b07e862c395d6981ab2c05d6bc34b0249e90",
        "4e42ebd57b2e727b28bf5f6068e95cd19b0e807b",
        "e1286f2c686f5976e0424bb6195ece25e7a17607",
        "878719e831d9e076961aa15d4049a57a6668c67a",
        "fd28a5b58dddf5cb5df162ae5c8797a63171c31d",
        "adf77bac052bb5bf0722b2ce2af9fefc5b2d2a71",
        "8f2466f45f75e3cbe3aa2b69d33fd9d6e343b9cc",
        "93093d099e5dd0c258fd530c12668e828c20df41",
        "bb5574608a8375026510b4f983ffbb06ece33fe2",
        "f34a10bd9f8cc95ebdc69a079db195636b2e22e0",
        "b6fd6f26733e864fba2ea3eb1d716e23d2e66f3a",
        "30604bb410b53efa9c93ee8f03d7aa7494094faa",
        "5b9a0e14eb4bf40a7cb780af4723560e06753f2d",
        "67bac792cd0c05b4b6e0393c32605b028b8dd533",
        "7a9787e1eba95a166265e6a260cf30af04ef0a99",
        "f4166c54bfe04f64603974058e44fbd7cfef0ccc",
        "69b88afa8d114a43a3c0431722b79e31d9920692",
        "8daa19051e1c7369c89ace7b18e74fe1f55dfa29",
        "3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb",
        "8403295e0fa460f6240e2d781e25dc29189f33c7",
        "4db646b1af8fdcf01d690d29eeae44cd937edb0d",
        "205516c12dbba003c26b42cfb41e598631300106",
        "c8182f0016fb65a721c4fbe487909a2d56178135",
        "ecbf29cdb3990c83d90d0c4187c89fb2ce423367"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 16:27:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 23 16:27:23 2008 +0100"
      },
      "message": "Merge branches \u0027x86/apic\u0027, \u0027x86/cleanups\u0027, \u0027x86/cpufeature\u0027, \u0027x86/crashdump\u0027, \u0027x86/debug\u0027, \u0027x86/defconfig\u0027, \u0027x86/detect-hyper\u0027, \u0027x86/doc\u0027, \u0027x86/dumpstack\u0027, \u0027x86/early-printk\u0027, \u0027x86/fpu\u0027, \u0027x86/idle\u0027, \u0027x86/io\u0027, \u0027x86/memory-corruption-check\u0027, \u0027x86/microcode\u0027, \u0027x86/mm\u0027, \u0027x86/mtrr\u0027, \u0027x86/nmi-watchdog\u0027, \u0027x86/pat2\u0027, \u0027x86/pci-ioapic-boot-irq-quirks\u0027, \u0027x86/ptrace\u0027, \u0027x86/quirks\u0027, \u0027x86/reboot\u0027, \u0027x86/setup-memory\u0027, \u0027x86/signal\u0027, \u0027x86/sparse-fixes\u0027, \u0027x86/time\u0027, \u0027x86/uv\u0027 and \u0027x86/xen\u0027 into x86/core\n"
    },
    {
      "commit": "64db4cfff99c04cd5f550357edcc8780f96b54a2",
      "tree": "4856e788d21f0e31ed78a22b70b4521f7237705e",
      "parents": [
        "d110ec3a1e1f522e2e9dfceb9c36d6590c26d2d4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Dec 18 21:55:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 21:56:04 2008 +0100"
      },
      "message": "\"Tree RCU\": scalable classic RCU implementation\n\nThis patch fixes a long-standing performance bug in classic RCU that\nresults in massive internal-to-RCU lock contention on systems with\nmore than a few hundred CPUs.  Although this patch creates a separate\nflavor of RCU for ease of review and patch maintenance, it is intended\nto replace classic RCU.\n\nThis patch still handles stress better than does mainline, so I am still\ncalling it ready for inclusion.  This patch is against the -tip tree.\nNevertheless, experience on an actual 1000+ CPU machine would still be\nmost welcome.\n\nMost of the changes noted below were found while creating an rcutiny\n(which should permit ejecting the current rcuclassic) and while doing\ndetailed line-by-line documentation.\n\nUpdates from v9 (http://lkml.org/lkml/2008/12/2/334):\n\no\tFixes from remainder of line-by-line code walkthrough,\n\tincluding comment spelling, initialization, undesirable\n\tnarrowing due to type conversion, removing redundant memory\n\tbarriers, removing redundant local-variable initialization,\n\tand removing redundant local variables.\n\n\tI do not believe that any of these fixes address the CPU-hotplug\n\tissues that Andi Kleen was seeing, but please do give it a whirl\n\tin case the machine is smarter than I am.\n\n\tA writeup from the walkthrough may be found at the following\n\tURL, in case you are suffering from terminal insomnia or\n\tmasochism:\n\n\thttp://www.kernel.org/pub/linux/kernel/people/paulmck/tmp/rcutree-walkthrough.2008.12.16a.pdf\n\no\tMade rcutree tracing use seq_file, as suggested some time\n\tago by Lai Jiangshan.\n\no\tAdded a .csv variant of the rcudata debugfs trace file, to allow\n\tpeople having thousands of CPUs to drop the data into\n\ta spreadsheet.\tTested with oocalc and gnumeric.  Updated\n\tdocumentation to suit.\n\nUpdates from v8 (http://lkml.org/lkml/2008/11/15/139):\n\no\tFix a theoretical race between grace-period initialization and\n\tforce_quiescent_state() that could occur if more than three\n\tjiffies were required to carry out the grace-period\n\tinitialization.  Which it might, if you had enough CPUs.\n\no\tApply Ingo\u0027s printk-standardization patch.\n\no\tSubstitute local variables for repeated accesses to global\n\tvariables.\n\no\tFix comment misspellings and redundant (but harmless) increments\n\tof -\u003en_rcu_pending (this latter after having explicitly added it).\n\no\tApply checkpatch fixes.\n\nUpdates from v7 (http://lkml.org/lkml/2008/10/10/291):\n\no\tFixed a number of problems noted by Gautham Shenoy, including\n\tthe cpu-stall-detection bug that he was having difficulty\n\tconvincing me was real.  ;-)\n\no\tChanged cpu-stall detection to wait for ten seconds rather than\n\tthree in order to reduce false positive, as suggested by Ingo\n\tMolnar.\n\no\tProduced a design document (http://lwn.net/Articles/305782/).\n\tThe act of writing this document uncovered a number of both\n\ttheoretical and \"here and now\" bugs as noted below.\n\no\tFix dynticks_nesting accounting confusion, simplify WARN_ON()\n\tcondition, fix kerneldoc comments, and add memory barriers\n\tin dynticks interface functions.\n\no\tAdd more data to tracing.\n\no\tRemove unused \"rcu_barrier\" field from rcu_data structure.\n\no\tCount calls to rcu_pending() from scheduling-clock interrupt\n\tto use as a surrogate timebase should jiffies stop counting.\n\no\tFix a theoretical race between force_quiescent_state() and\n\tgrace-period initialization.  Yes, initialization does have to\n\tgo on for some jiffies for this race to occur, but given enough\n\tCPUs...\n\nUpdates from v6 (http://lkml.org/lkml/2008/9/23/448):\n\no\tFix a number of checkpatch.pl complaints.\n\no\tApply review comments from Ingo Molnar and Lai Jiangshan\n\ton the stall-detection code.\n\no\tFix several bugs in !CONFIG_SMP builds.\n\no\tFix a misspelled config-parameter name so that RCU now announces\n\tat boot time if stall detection is configured.\n\no\tRun tests on numerous combinations of configurations parameters,\n\twhich after the fixes above, now build and run correctly.\n\nUpdates from v5 (http://lkml.org/lkml/2008/9/15/92, bad subject line):\n\no\tFix a compiler error in the !CONFIG_FANOUT_EXACT case (blew a\n\tchangeset some time ago, and finally got around to retesting\n\tthis option).\n\no\tFix some tracing bugs in rcupreempt that caused incorrect\n\ttotals to be printed.\n\no\tI now test with a more brutal random-selection online/offline\n\tscript (attached).  Probably more brutal than it needs to be\n\ton the people reading it as well, but so it goes.\n\no\tA number of optimizations and usability improvements:\n\n\to\tMake rcu_pending() ignore the grace-period timeout when\n\t\tthere is no grace period in progress.\n\n\to\tMake force_quiescent_state() avoid going for a global\n\t\tlock in the case where there is no grace period in\n\t\tprogress.\n\n\to\tRearrange struct fields to improve struct layout.\n\n\to\tMake call_rcu() initiate a grace period if RCU was\n\t\tidle, rather than waiting for the next scheduling\n\t\tclock interrupt.\n\n\to\tInvoke rcu_irq_enter() and rcu_irq_exit() only when\n\t\tidle, as suggested by Andi Kleen.  I still don\u0027t\n\t\tcompletely trust this change, and might back it out.\n\n\to\tMake CONFIG_RCU_TRACE be the single config variable\n\t\tmanipulated for all forms of RCU, instead of the prior\n\t\tconfusion.\n\n\to\tDocument tracing files and formats for both rcupreempt\n\t\tand rcutree.\n\nUpdates from v4 for those missing v5 given its bad subject line:\n\no\tSeparated dynticks interface so that NMIs and irqs call separate\n\tfunctions, greatly simplifying it.  In particular, this code\n\tno longer requires a proof of correctness.  ;-)\n\no\tSeparated dynticks state out into its own per-CPU structure,\n\tavoiding the duplicated accounting.\n\no\tThe case where a dynticks-idle CPU runs an irq handler that\n\tinvokes call_rcu() is now correctly handled, forcing that CPU\n\tout of dynticks-idle mode.\n\no\tReview comments have been applied (thank you all!!!).\n\tFor but one example, fixed the dynticks-ordering issue that\n\tManfred pointed out, saving me much debugging.  ;-)\n\no\tAdjusted rcuclassic and rcupreempt to handle dynticks changes.\n\nAttached is an updated patch to Classic RCU that applies a hierarchy,\ngreatly reducing the contention on the top-level lock for large machines.\nThis passes 10-hour concurrent rcutorture and online-offline testing on\n128-CPU ppc64 without dynticks enabled, and exposes some timekeeping\nbugs in presence of dynticks (exciting working on a system where\n\"sleep 1\" hangs until interrupted...), which were fixed in the\n2.6.27 kernel.  It is getting more reliable than mainline by some\nmeasures, so the next version will be against -tip for inclusion.\nSee also Manfred Spraul\u0027s recent patches (or his earlier work from\n2004 at http://marc.info/?l\u003dlinux-kernel\u0026m\u003d108546384711797\u0026w\u003d2).\nWe will converge onto a common patch in the fullness of time, but are\ncurrently exploring different regions of the design space.  That said,\nI have already gratefully stolen quite a few of Manfred\u0027s ideas.\n\nThis patch provides CONFIG_RCU_FANOUT, which controls the bushiness\nof the RCU hierarchy.  Defaults to 32 on 32-bit machines and 64 on\n64-bit machines.  If CONFIG_NR_CPUS is less than CONFIG_RCU_FANOUT,\nthere is no hierarchy.  By default, the RCU initialization code will\nadjust CONFIG_RCU_FANOUT to balance the hierarchy, so strongly NUMA\narchitectures may choose to set CONFIG_RCU_FANOUT_EXACT to disable\nthis balancing, allowing the hierarchy to be exactly aligned to the\nunderlying hardware.  Up to two levels of hierarchy are permitted\n(in addition to the root node), allowing up to 16,384 CPUs on 32-bit\nsystems and up to 262,144 CPUs on 64-bit systems.  I just know that I\nam going to regret saying this, but this seems more than sufficient\nfor the foreseeable future.  (Some architectures might wish to set\nCONFIG_RCU_FANOUT\u003d4, which would limit such architectures to 64 CPUs.\nIf this becomes a real problem, additional levels can be added, but I\ndoubt that it will make a significant difference on real hardware.)\n\nIn the common case, a given CPU will manipulate its private rcu_data\nstructure and the rcu_node structure that it shares with its immediate\nneighbors.  This can reduce both lock and memory contention by multiple\norders of magnitude, which should eliminate the need for the strange\nmanipulations that are reported to be required when running Linux on\nvery large systems.\n\nSome shortcomings:\n\no\tMore bugs will probably surface as a result of an ongoing\n\tline-by-line code inspection.\n\n\tPatches will be provided as required.\n\no\tThere are probably hangs, rcutorture failures, \u0026c.  Seems\n\tquite stable on a 128-CPU machine, but that is kind of small\n\tcompared to 4096 CPUs.  However, seems to do better than\n\tmainline.\n\n\tPatches will be provided as required.\n\no\tThe memory footprint of this version is several KB larger\n\tthan rcuclassic.\n\n\tA separate UP-only rcutiny patch will be provided, which will\n\treduce the memory footprint significantly, even compared\n\tto the old rcuclassic.  One such patch passes light testing,\n\tand has a memory footprint smaller even than rcuclassic.\n\tInitial reaction from various embedded guys was \"it is not\n\tworth it\", so am putting it aside.\n\nCredits:\n\no\tManfred Spraul for ideas, review comments, and bugs spotted,\n\tas well as some good friendly competition.  ;-)\n\no\tJosh Triplett, Ingo Molnar, Peter Zijlstra, Mathieu Desnoyers,\n\tLai Jiangshan, Andi Kleen, Andy Whitcroft, and Andrew Morton\n\tfor reviews and comments.\n\no\tThomas Gleixner for much-needed help with some timer issues\n\t(see patches below).\n\no\tJon M. Tollefson, Tim Pepper, Andrew Theurer, Jose R. Santos,\n\tAndy Whitcroft, Darrick Wong, Nishanth Aravamudan, Anton\n\tBlanchard, Dave Kleikamp, and Nathan Lynch for keeping machines\n\talive despite my heavy abuse^Wtesting.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa6f3c640781c8ac213a4ed3011dcced36f899e3",
      "tree": "aebfec91ee7dca336bcd8ca4e4f1a48ec0578f88",
      "parents": [
        "09a35ce00fa6bbb8bd130a828807e237488aa7ea"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Nov 30 14:01:26 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 17 11:23:07 2008 -0800"
      },
      "message": "driver core: add newlines to debugging enabled/disabled messages\n\nBoth messages are missing the newline and thus dmesg output gets\nscrambled.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c93ca09863a544cec24fc8e33491f645df80e59",
      "tree": "f023bbb17ebbf2dd9d0e352d621a282b79b06298",
      "parents": [
        "1bda71282ded6a2e09a2db7c8884542fb46bfd4f"
      ],
      "author": {
        "name": "Johann Felix Soden",
        "email": "johfel@users.sourceforge.net",
        "time": "Thu Oct 30 22:44:39 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 17 11:23:06 2008 -0800"
      },
      "message": "driver core: fix using \u0027ret\u0027 variable in unregister_dynamic_debug_module\n\nThe \u0027ret\u0027 variable is assigned, but not used in the return statement. Fix this.\n\nSigned-off-by: Johann Felix Soden \u003cjohfel@users.sourceforge.net\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2e5b2b86b65fe36bb8401e5608eb0b7603aa1cab",
      "tree": "a407d13491a0758607347bd7fa6dd5a31d64ad41",
      "parents": [
        "ef9b189352f2eb78f14e52996f4780a523b04a49"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:34 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:17 2008 +0100"
      },
      "message": "swiotlb: consolidate swiotlb info message printing\n\nImpact: clean up swiotlb printks\n\nRemove duplicated swiotlb info printing, and make it more detailed.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef9b189352f2eb78f14e52996f4780a523b04a49",
      "tree": "801c230f291d36db2f86404a91c1443bf6636f56",
      "parents": [
        "1b548f667c1487d92e794a9f7a67788f49b952d8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:33 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:15 2008 +0100"
      },
      "message": "swiotlb: support bouncing of HighMem pages\n\nImpact: prepare the swiotlb code for HighMem struct pages\n\nThis requires us to treat DMA regions in terms of page+offset rather\nthan virtual addressing since a HighMem page may not have a mapping.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1b548f667c1487d92e794a9f7a67788f49b952d8",
      "tree": "5d3dc337430be7a13ab0235e44e8ee3697608113",
      "parents": [
        "b81ea27b2329bf44b30c427800954f845896d476"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:32 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:14 2008 +0100"
      },
      "message": "swiotlb: factor out copy to/from device\n\nImpact: generalize IO bounce memcpys\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b81ea27b2329bf44b30c427800954f845896d476",
      "tree": "84bbfc80477c3561ee601c1c05dcc0917ced196b",
      "parents": [
        "e08e1f7adba522378e8d2ae941bf25443866136d"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:13 2008 +0100"
      },
      "message": "swiotlb: add arch hook to force mapping\n\nImpact: generalize the sw-IOTLB range checks\n\nSome architectures require special rules to determine whether a range\nneeds mapping or not.  This adds a weak function for architectures to\noverride.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e08e1f7adba522378e8d2ae941bf25443866136d",
      "tree": "4410e414d856dc03d77a0c654d6b9672f6e69f36",
      "parents": [
        "a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:30 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:58:09 2008 +0100"
      },
      "message": "swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n\nImpact: generalize phys\u003c-\u003ebus\u003c-\u003ephys conversions in the swiotlb code\n\nArchitectures may need to override these conversions. Implement a\n__weak hook point containing the default implementation.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5ddde4a558b3bd1e3dc50e274a0db2ea7a8fd06",
      "tree": "e304335e81bc43942c00bb0d1c9f51f9286ebab6",
      "parents": [
        "0016fdee927f7aa0f428494bcf11ae60c7470a02"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:29 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 17 18:57:02 2008 +0100"
      },
      "message": "swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n\nImpact: cleanup\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0016fdee927f7aa0f428494bcf11ae60c7470a02",
      "tree": "ca1080f691efe9c6f76965d38fface872fb856ac",
      "parents": [
        "8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "ian.campbell@citrix.com",
        "time": "Tue Dec 16 12:17:27 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:31:40 2008 +0100"
      },
      "message": "swiotlb: move some definitions to header\n\nImpact: cleanup\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c5df16bec8a60bb8589fc232b9e26cac0ed4b2c",
      "tree": "b85d46d552ba86da332ebad328761998171332c5",
      "parents": [
        "a79b7a2a758c39315344f0d86b5adb21d90d786e"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Dec 16 12:17:26 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 21:31:38 2008 +0100"
      },
      "message": "swiotlb: allow architectures to override swiotlb pool allocation\n\nImpact: generalize swiotlb allocation code\n\nArchitectures may need to allocate memory specially for use with\nthe swiotlb.  Create the weak function swiotlb_alloc_boot() and\nswiotlb_alloc() defaulting to the current behaviour.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b93a531e315e97ef00367099e6b5f19651936e20",
      "tree": "231e6d626fbf85dd80d7cbac49a9c9a14282f898",
      "parents": [
        "85072bd55219231b8ca5d9d3fa3492eb4fa6635f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Dec 16 11:40:27 2008 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 18:40:32 2008 +0100"
      },
      "message": "allow bug table entries to use relative pointers (and use it on x86-64)\n\nImpact: reduce bug table size\n\nThis allows reducing the bug table size by half. Perhaps there are\nother 64-bit architectures that could also make use of this.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb14f019597cd86c21a6c601d7e900f40030c2e7",
      "tree": "36fb2f36a1747f98988f87215db1eef3a71d45eb",
      "parents": [
        "9a4a84294b0d60b8c287131478f743ba2bc68949",
        "a3dd15444baa9c7522c8457ab564c41219dfb44c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 15 20:03:50 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/e1000e/ich8lan.c\n"
    },
    {
      "commit": "711a49a07f84f914aac26a52143f6e7526571143",
      "tree": "3ca4f774f868c1884bc6dc416ea68aa7b8666ef7",
      "parents": [
        "c7f8d6f6b5d121e5f7408119661ca29fc4661c10"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Wed Dec 10 18:17:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 13:34:33 2008 -0800"
      },
      "message": "lib/idr.c: Fix bug introduced by RCU fix\n\nThe last patch to lib/idr.c caused a bug if idr_get_new_above() was\ncalled on an empty idr.\n\nUsually, nodes stay on the same layer.  New layers are added to the top\nof the tree.\n\nThe exception is idr_get_new_above() on an empty tree: In this case, the\nnew root node is first added on layer 0, then moved upwards.  p-\u003elayer\nwas not updated.\n\nAs usual: You shall never rely on the source code comments, they will\nonly mislead you.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d211688727ad02bb4555b1aa8ae2de16b21b39",
      "tree": "2ee10b2f0cbfb615c40a2df98627426b8543d6cd",
      "parents": [
        "71c5576fbd809f2015f4eddf72e501e298720cf3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu_counter: new function percpu_counter_sum_and_set\"\n\nRevert\n\n    commit e8ced39d5e8911c662d4d69a342b9d053eaaac4e\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Fri Jul 11 19:27:31 2008 -0400\n\n        percpu_counter: new function percpu_counter_sum_and_set\n\nAs described in\n\n\trevert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nthe new percpu_counter_sum_and_set() is racy against updates to the\ncpu-local accumulators on other CPUs.  Revert that change.\n\nThis means that ext4 will be slow again.  But correct.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71c5576fbd809f2015f4eddf72e501e298720cf3",
      "tree": "b2d1ac56e6c3c9a60946a180cd45d493fc60738a",
      "parents": [
        "fd3d664fef97cf01f8e28fe0b024ad52f3bbc1bc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Dec 09 13:14:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "revert \"percpu counter: clean up percpu_counter_sum_and_set()\"\n\nRevert\n\n    commit 1f7c14c62ce63805f9574664a6c6de3633d4a354\n    Author: Mingming Cao \u003ccmm@us.ibm.com\u003e\n    Date:   Thu Oct 9 12:50:59 2008 -0400\n\n        percpu counter: clean up percpu_counter_sum_and_set()\n\nBefore this patch we had the following:\n\npercpu_counter_sum(): return the percpu_counter\u0027s value\n\npercpu_counter_sum_and_set(): return the percpu_counter\u0027s value, copying\nthat value into the central value and zeroing the per-cpu counters before\nreturning.\n\nAfter this patch, percpu_counter_sum_and_set() has gone, and\npercpu_counter_sum() gets the old percpu_counter_sum_and_set()\nfunctionality.\n\nProblem is, as Eric points out, the old percpu_counter_sum_and_set()\nfunctionality was racy and wrong.  It zeroes out counters on \"other\" cpus,\nwithout holding any locks which will prevent races agaist updates from\nthose other CPUS.\n\nThis patch reverts 1f7c14c62ce63805f9574664a6c6de3633d4a354.  This means\nthat percpu_counter_sum_and_set() still has the race, but\npercpu_counter_sum() does not.\n\nNote that this is not a simple revert - ext4 has since started using\npercpu_counter_sum() for its dirty_blocks counter as well.\n\nNote that this revert patch changes percpu_counter_sum() semantics.\n\nBefore the patch, a call to percpu_counter_sum() will bring the counter\u0027s\ncentral counter mostly up-to-date, so a following percpu_counter_read()\nwill return a close value.\n\nAfter this patch, a call to percpu_counter_sum() will leave the counter\u0027s\ncentral accumulator unaltered, so a subsequent call to\npercpu_counter_read() can now return a significantly inaccurate result.\n\nIf there is any code in the tree which was introduced after\ne8ced39d5e8911c662d4d69a342b9d053eaaac4e was merged, and which depends\nupon the new percpu_counter_sum() semantics, that code will break.\n\nReported-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@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": "fd3d664fef97cf01f8e28fe0b024ad52f3bbc1bc",
      "tree": "cc1b4d38e5ebd88c25b2bcee684c9e882be9a2ac",
      "parents": [
        "fe102c71a65a503646bcc94ccb6859da613c2f4f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 09 13:14:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 10 08:01:52 2008 -0800"
      },
      "message": "percpu_counter: fix CPU unplug race in percpu_counter_destroy()\n\nWe should first delete the counter from percpu_counters list\nbefore freeing memory, or a percpu_counter_hotcpu_callback()\ncould dereference a NULL pointer.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "6ff2d39b91aec3dcae951afa982059e3dd9b49dc",
      "tree": "8d480975d95adf85f3a87dd478e36e4ac0b0edd0",
      "parents": [
        "1d678f365dae28420fa7329a2a35390b3582678d"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Mon Dec 01 13:14:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 01 19:55:25 2008 -0800"
      },
      "message": "lib/idr.c: fix rcu related race with idr_find\n\n2nd part of the fixes needed for\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11796.\n\nWhen the idr tree is either grown or shrunk, then the update to the number\nof layers and the top pointer were not atomic.  This race caused crashes.\n\nThe attached patch fixes that by replicating the layers counter in each\nlayer, thus idr_find doesn\u0027t need idp-\u003elayers anymore.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Clement Calmels \u003ccboulte@gmail.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae7020543db0b769538e64d1ce8d51fceff60ca",
      "tree": "ceb0b336afd954bbaff7c58002501b1486b74e03",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 10:02:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 10:07:06 2008 +0100"
      },
      "message": "debugobjects: add boot parameter default value\n\nImpact: add .config driven boot parameter default value\n\nRight now debugobjects can only be activated if the debug_objects\nboot parameter is passed in via the boot command line.\n\nMake this more convenient (and randomizable) by also providing\na .config method. Enable it by default. (DEBUG_OBJECTS itself\nis default-off)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "411c41eea58bd3500cf897e2c27dd5330935a3a8",
      "tree": "c6987d1351581def73321b7c8d518ac75db876a2",
      "parents": [
        "9c8f92aed16dbd1924910f3305f5992a4f29fe2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "message": "aoe: remove private mac address format function\n\nAdd %pm to omit the colons when printing a mac address.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b19b3c74c7bbec45a848631b8f970ac110665a01",
      "tree": "2966e612c7b902964cf82bedc5d9e523505228b5",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8",
        "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
        "42569c39917a08e8de1e8b5685463be7b74baebd",
        "7918baa555140989eeee1270f48533987d48fdba",
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24",
        "2b5fe6de58276d0b5a7c884d5dbfc300ca47db78",
        "b0788caf7af773b6c2374590dabd3a205f0918a8",
        "8dd2337470d2ead6835982ed856d988f9e062140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "message": "Merge branches \u0027core/debug\u0027, \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027, \u0027core/signal\u0027, \u0027core/urgent\u0027 and \u0027core/xen\u0027 into core/core\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "f652c521e0bec2e70cf123f47e80117a7e6ed139",
      "tree": "8c82d64a8b9221460f9fb14bd7d3c2c863dd264a",
      "parents": [
        "a495a6d35a026826d54a69d01f373681e14f59ac"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Wed Nov 19 15:36:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 19 18:49:58 2008 -0800"
      },
      "message": "lib/scatterlist.c: fix kunmap() argument in sg_miter_stop()\n\nkunmap() takes as argument the struct page that orginally got kmap()\u0027d,\nhowever the sg_miter_stop() function passed it the kernel virtual address\ninstead, resulting in weird stuff.\n\nSomehow I ended up fixing this bug by accident while looking for a bug in\nthe same area.\n\nReported-by: kerneloops.org\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "1e74f3000b86969de421ca0da08f42e7d21cbd99",
      "tree": "45dd090997526dbe31f0a2ac781195580772067a",
      "parents": [
        "e47411b1f4456480d6c60ebdc7a733e81ccd5d66"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Nov 17 16:24:34 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 17 09:12:02 2008 +0100"
      },
      "message": "swiotlb: use coherent_dma_mask in alloc_coherent\n\nImpact: fix DMA buffer allocation coherency bug in certain configs\n\nThis patch fixes swiotlb to use dev-\u003ecoherent_dma_mask in\nswiotlb_alloc_coherent().\n\ncoherent_dma_mask is a subset of dma_mask (equal to it most of\nthe time), enumerating the address range that a given device\nis able to DMA to/from in a cache-coherent way.\n\nBut currently, swiotlb uses dev-\u003edma_mask in alloc_coherent()\nimplicitly via address_needs_mapping(), but alloc_coherent is really\nsupposed to use coherent_dma_mask.\n\nThis bug could break drivers that uses smaller coherent_dma_mask than\ndma_mask (though the current code works for the majority that use the\nsame mask for coherent_dma_mask and dma_mask).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: tony.luck@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d84f4f992cbd76e8f39c488cf0c5d123843923b1",
      "tree": "fc4a0349c42995715b93d0f7a3c78e9ea9b3f36e",
      "parents": [
        "745ca2475a6ac596e3d8d37c2759c0fbe2586227"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:23 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:23 2008 +1100"
      },
      "message": "CRED: Inaugurate COW credentials\n\nInaugurate copy-on-write credentials management.  This uses RCU to manage the\ncredentials pointer in the task_struct with respect to accesses by other tasks.\nA process may only modify its own credentials, and so does not need locking to\naccess or modify its own credentials.\n\nA mutex (cred_replace_mutex) is added to the task_struct to control the effect\nof PTRACE_ATTACHED on credential calculations, particularly with respect to\nexecve().\n\nWith this patch, the contents of an active credentials struct may not be\nchanged directly; rather a new set of credentials must be prepared, modified\nand committed using something like the following sequence of events:\n\n\tstruct cred *new \u003d prepare_creds();\n\tint ret \u003d blah(new);\n\tif (ret \u003c 0) {\n\t\tabort_creds(new);\n\t\treturn ret;\n\t}\n\treturn commit_creds(new);\n\nThere are some exceptions to this rule: the keyrings pointed to by the active\ncredentials may be instantiated - keyrings violate the COW rule as managing\nCOW keyrings is tricky, given that it is possible for a task to directly alter\nthe keys in a keyring in use by another task.\n\nTo help enforce this, various pointers to sets of credentials, such as those in\nthe task_struct, are declared const.  The purpose of this is compile-time\ndiscouragement of altering credentials through those pointers.  Once a set of\ncredentials has been made public through one of these pointers, it may not be\nmodified, except under special circumstances:\n\n  (1) Its reference count may incremented and decremented.\n\n  (2) The keyrings to which it points may be modified, but not replaced.\n\nThe only safe way to modify anything else is to create a replacement and commit\nusing the functions described in Documentation/credentials.txt (which will be\nadded by a later patch).\n\nThis patch and the preceding patches have been tested with the LTP SELinux\ntestsuite.\n\nThis patch makes several logical sets of alteration:\n\n (1) execve().\n\n     This now prepares and commits credentials in various places in the\n     security code rather than altering the current creds directly.\n\n (2) Temporary credential overrides.\n\n     do_coredump() and sys_faccessat() now prepare their own credentials and\n     temporarily override the ones currently on the acting thread, whilst\n     preventing interference from other threads by holding cred_replace_mutex\n     on the thread being dumped.\n\n     This will be replaced in a future patch by something that hands down the\n     credentials directly to the functions being called, rather than altering\n     the task\u0027s objective credentials.\n\n (3) LSM interface.\n\n     A number of functions have been changed, added or removed:\n\n     (*) security_capset_check(), -\u003ecapset_check()\n     (*) security_capset_set(), -\u003ecapset_set()\n\n     \t Removed in favour of security_capset().\n\n     (*) security_capset(), -\u003ecapset()\n\n     \t New.  This is passed a pointer to the new creds, a pointer to the old\n     \t creds and the proposed capability sets.  It should fill in the new\n     \t creds or return an error.  All pointers, barring the pointer to the\n     \t new creds, are now const.\n\n     (*) security_bprm_apply_creds(), -\u003ebprm_apply_creds()\n\n     \t Changed; now returns a value, which will cause the process to be\n     \t killed if it\u0027s an error.\n\n     (*) security_task_alloc(), -\u003etask_alloc_security()\n\n     \t Removed in favour of security_prepare_creds().\n\n     (*) security_cred_free(), -\u003ecred_free()\n\n     \t New.  Free security data attached to cred-\u003esecurity.\n\n     (*) security_prepare_creds(), -\u003ecred_prepare()\n\n     \t New. Duplicate any security data attached to cred-\u003esecurity.\n\n     (*) security_commit_creds(), -\u003ecred_commit()\n\n     \t New. Apply any security effects for the upcoming installation of new\n     \t security by commit_creds().\n\n     (*) security_task_post_setuid(), -\u003etask_post_setuid()\n\n     \t Removed in favour of security_task_fix_setuid().\n\n     (*) security_task_fix_setuid(), -\u003etask_fix_setuid()\n\n     \t Fix up the proposed new credentials for setuid().  This is used by\n     \t cap_set_fix_setuid() to implicitly adjust capabilities in line with\n     \t setuid() changes.  Changes are made to the new credentials, rather\n     \t than the task itself as in security_task_post_setuid().\n\n     (*) security_task_reparent_to_init(), -\u003etask_reparent_to_init()\n\n     \t Removed.  Instead the task being reparented to init is referred\n     \t directly to init\u0027s credentials.\n\n\t NOTE!  This results in the loss of some state: SELinux\u0027s osid no\n\t longer records the sid of the thread that forked it.\n\n     (*) security_key_alloc(), -\u003ekey_alloc()\n     (*) security_key_permission(), -\u003ekey_permission()\n\n     \t Changed.  These now take cred pointers rather than task pointers to\n     \t refer to the security context.\n\n (4) sys_capset().\n\n     This has been simplified and uses less locking.  The LSM functions it\n     calls have been merged.\n\n (5) reparent_to_kthreadd().\n\n     This gives the current thread the same credentials as init by simply using\n     commit_thread() to point that way.\n\n (6) __sigqueue_alloc() and switch_uid()\n\n     __sigqueue_alloc() can\u0027t stop the target task from changing its creds\n     beneath it, so this function gets a reference to the currently applicable\n     user_struct which it then passes into the sigqueue struct it returns if\n     successful.\n\n     switch_uid() is now called from commit_creds(), and possibly should be\n     folded into that.  commit_creds() should take care of protecting\n     __sigqueue_alloc().\n\n (7) [sg]et[ug]id() and co and [sg]et_current_groups.\n\n     The set functions now all use prepare_creds(), commit_creds() and\n     abort_creds() to build and check a new set of credentials before applying\n     it.\n\n     security_task_set[ug]id() is called inside the prepared section.  This\n     guarantees that nothing else will affect the creds until we\u0027ve finished.\n\n     The calling of set_dumpable() has been moved into commit_creds().\n\n     Much of the functionality of set_user() has been moved into\n     commit_creds().\n\n     The get functions all simply access the data directly.\n\n (8) security_task_prctl() and cap_task_prctl().\n\n     security_task_prctl() has been modified to return -ENOSYS if it doesn\u0027t\n     want to handle a function, or otherwise return the return value directly\n     rather than through an argument.\n\n     Additionally, cap_task_prctl() now prepares a new set of credentials, even\n     if it doesn\u0027t end up using it.\n\n (9) Keyrings.\n\n     A number of changes have been made to the keyrings code:\n\n     (a) switch_uid_keyring(), copy_keys(), exit_keys() and suid_keys() have\n     \t all been dropped and built in to the credentials functions directly.\n     \t They may want separating out again later.\n\n     (b) key_alloc() and search_process_keyrings() now take a cred pointer\n     \t rather than a task pointer to specify the security context.\n\n     (c) copy_creds() gives a new thread within the same thread group a new\n     \t thread keyring if its parent had one, otherwise it discards the thread\n     \t keyring.\n\n     (d) The authorisation key now points directly to the credentials to extend\n     \t the search into rather pointing to the task that carries them.\n\n     (e) Installing thread, process or session keyrings causes a new set of\n     \t credentials to be created, even though it\u0027s not strictly necessary for\n     \t process or session keyrings (they\u0027re shared).\n\n(10) Usermode helper.\n\n     The usermode helper code now carries a cred struct pointer in its\n     subprocess_info struct instead of a new session keyring pointer.  This set\n     of credentials is derived from init_cred and installed on the new process\n     after it has been cloned.\n\n     call_usermodehelper_setup() allocates the new credentials and\n     call_usermodehelper_freeinfo() discards them if they haven\u0027t been used.  A\n     special cred function (prepare_usermodeinfo_creds()) is provided\n     specifically for call_usermodehelper_setup() to call.\n\n     call_usermodehelper_setkeys() adjusts the credentials to sport the\n     supplied keyring as the new session keyring.\n\n(11) SELinux.\n\n     SELinux has a number of changes, in addition to those to support the LSM\n     interface changes mentioned above:\n\n     (a) selinux_setprocattr() no longer does its check for whether the\n     \t current ptracer can access processes with the new SID inside the lock\n     \t that covers getting the ptracer\u0027s SID.  Whilst this lock ensures that\n     \t the check is done with the ptracer pinned, the result is only valid\n     \t until the lock is released, so there\u0027s no point doing it inside the\n     \t lock.\n\n(12) is_single_threaded().\n\n     This function has been extracted from selinux_setprocattr() and put into\n     a file of its own in the lib/ directory as join_session_keyring() now\n     wants to use it too.\n\n     The code in SELinux just checked to see whether a task shared mm_structs\n     with other tasks (CLONE_VM), but that isn\u0027t good enough.  We really want\n     to know if they\u0027re part of the same thread group (CLONE_THREAD).\n\n(13) nfsd.\n\n     The NFS server daemon now has to use the COW credentials to set the\n     credentials it is going to use.  It really needs to pass the credentials\n     down to the functions it calls, but it can\u0027t do that until other patches\n     in this series have been applied.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6cc88bc45ce8043171089c9592da223dfab91823",
      "tree": "f89bf8162895a5eb89ea7969098876e08a8999d8",
      "parents": [
        "bb952bb98a7e479262c7eb25d5592545a3af147d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:21 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:21 2008 +1100"
      },
      "message": "CRED: Rename is_single_threaded() to is_wq_single_threaded()\n\nRename is_single_threaded() to is_wq_single_threaded() so that a new\nis_single_threaded() can be created that refers to tasks rather than\nwaitqueues.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "7e452baf6b96b5aeba097afd91501d33d390cc97",
      "tree": "9b0e062d3677d50d731ffd0fba47423bfdee9253",
      "parents": [
        "3ac38c3a2e7dac3f8f35a56eb85c27881a4c3833",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 11 15:43:02 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/message/fusion/mptlan.c\n\tdrivers/net/sfc/ethtool.c\n\tnet/mac80211/debugfs_sta.c\n"
    },
    {
      "commit": "984f2f377fdfd098f5ae58d09ee04d5e29e6112b",
      "tree": "6f6ea07057f5680586a8ac6f77700c118f253bcb",
      "parents": [
        "cd83e42c6b0413dcbb548c2ead799111ff7e6a13"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Nov 08 20:24:19 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 09 21:09:54 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything, v3\n\nImpact: cleanup\n\nClean up based on feedback from Andrew Morton and others:\n\n - change to inline functions instead of macros\n - add __init to bootmem method\n - add a missing debug check\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd83e42c6b0413dcbb548c2ead799111ff7e6a13",
      "tree": "0110f8f39a8f88aacfbe4f0692b099373523edc0",
      "parents": [
        "2d3854a37e8b767a51aba38ed6d22817b0631e33"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Nov 07 11:12:29 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 12:52:30 2008 +0100"
      },
      "message": "cpumask: new API, v2\n\n- add cpumask_of()\n- add free_bootmem_cpumask_var()\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d3854a37e8b767a51aba38ed6d22817b0631e33",
      "tree": "3b55cc93720b2e525460216b196ed20298ae985b",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Nov 05 13:39:10 2008 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 09:05:33 2008 +0100"
      },
      "message": "cpumask: introduce new API, without changing anything\n\nImpact: introduce new APIs\n\nWe want to deprecate cpumasks on the stack, as we are headed for\ngynormous numbers of CPUs.  Eventually, we want to head towards an\nundefined \u0027struct cpumask\u0027 so they can never be declared on stack.\n\n1) New cpumask functions which take pointers instead of copies.\n   (cpus_* -\u003e cpumask_*)\n\n2) Several new helpers to reduce requirements for temporary cpumasks\n   (cpumask_first_and, cpumask_next_and, cpumask_any_and)\n\n3) Helpers for declaring cpumasks on or offstack for large NR_CPUS\n   (cpumask_var_t, alloc_cpumask_var and free_cpumask_var)\n\n4) \u0027struct cpumask\u0027 for explicitness and to mark new-style code.\n\n5) Make iterator functions stop at nr_cpu_ids (a runtime constant),\n   not NR_CPUS for time efficiency and for smaller dynamic allocations\n   in future.\n\n6) cpumask_copy() so we can allocate less than a full cpumask eventually\n   (for alloc_cpumask_var), and so we can eliminate the \u0027struct cpumask\u0027\n   definition eventually.\n\n7) work_on_cpu() helper for doing task on a CPU, rather than saving old\n   cpumask for current thread and manipulating it.\n\n8) smp_call_function_many() which is smp_call_function_mask() except\n   taking a cpumask pointer.\n\nNote that this patch simply introduces the new functions and leaves\nthe obsolescent ones in place.  This is to simplify the transition\npatches.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9ac99855dcc0316ba2feee2b0d3e578f8315b75",
      "tree": "7ca8a4864a3a8f29bc53ab705954c7e7220d2686",
      "parents": [
        "48148938b494cd57029a43c758e9972307a31d2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Nov 03 17:09:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 17:09:55 2008 -0800"
      },
      "message": "printk: ipv4 address digits printed in reverse order\n\nput_dec_trunc prints the digits in reverse order and is reversed\ninside number(). Continue using put_dec_trunc, but reverse each quad\nin ip4_addr_string.\n\n[Noticed by Julius Volz]\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1744d3bee19d3b9cbfb825ab316a101b9c9f109",
      "tree": "c0e2324c09beca0eb5782eb5abf241ea2b7a4a11",
      "parents": [
        "275f165fa970174f8a98205529750e8abb6c0a33",
        "a432226614c5616e3cfd211e0acffa0acfb4770c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/p54/p54common.c\n"
    },
    {
      "commit": "113328306dbdfd5f146f257e447364dc66d025d4",
      "tree": "a62ad2388617b8e7943ed9133a582a3fcef7f0da",
      "parents": [
        "555ac6482ea7d0f29ec524b816f2f547ec94e882"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Mon Oct 27 12:05:14 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 29 15:03:50 2008 -0700"
      },
      "message": "Driver core: fix \u0027dynamic_debug\u0027 cmd line parameter\n\nIn testing 2.6.28-rc1, I found that passing \u0027dynamic_printk\u0027 on the command\nline didn\u0027t activate the debug code. The problem is that dynamic_printk_setup()\n(which activates the debugging) is being called before dynamic_printk_init() is\ncalled (which initializes infrastructure). Fix this by setting setting the\nstate to \u0027DYNAMIC_ENABLED_ALL\u0027 in dynamic_printk_setup(), which will also\ncause all subsequent modules to have debugging automatically started, which is\nprobably the behavior we want.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6b9a1066f8d4c57c1b778affd91fc38e1121b6f8",
      "tree": "6dd772a39de80c2eef621f40e307156fcb1ec2a8",
      "parents": [
        "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:53:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:53:10 2008 -0700"
      },
      "message": "printk: remove %p6 format specifier, fix up comments\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4aa996066ffc0dba24036c961ee38dfdfbfc061c",
      "tree": "61af96e4806e71048b981936b54abdb5506e950a",
      "parents": [
        "96631ed16c514cf8b28fab991a076985ce378c26"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:49:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:49:58 2008 -0700"
      },
      "message": "printk: add %I4, %I6, %i4, %i6 format specifiers\n\nFor use in printing IPv4, or IPv6 addresses in the usual way:\n\n%i4 and %I4 are currently equivalent and print the address in\ndot-separated decimal x.x.x.x\n\n%I6 prints 16-bit network order hex with colon separators:\nxxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\n\n%i6 omits the colons.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "689afa7da106032a3e859ae35494f80dd6eac640",
      "tree": "470f00c94ff2f179c6b0405c4726b92a51e7110a",
      "parents": [
        "3a2dfbe8acb154905fdc2fd03ec56df42e6c4cc4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:04:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 16:04:44 2008 -0700"
      },
      "message": "printk: add %p6 format specifier for IPv6 addresses\n\nTakes a pointer to a IPv6 address and formats it in the usual\ncolon-separated hex format:\nxxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\n\nEach 16 bit word is printed in network-endian byteorder.\n\n%#p6 is also supported and will omit the colons.\n\n%p6 is a replacement for NIP6_FMT and NIP6()\n%#p6 is a replacement for NIP6_SEQFMT and NIP6()\n\nNote that NIP6() took a struct in6_addr whereas this takes a pointer\nto a struct in6_addr.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e946217e4fdaa67681bbabfa8e6b18641921f750",
      "tree": "057ad6cb5869e20db7b93f154319560b55cbc725",
      "parents": [
        "a1865769254dd4eefbc1e857d17bc2a77d5f8580",
        "60063a66236c15f5613f91390631e06718689782"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:52:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:52:25 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  ftrace: fix current_tracer error return\n  tracing: fix a build error on alpha\n  ftrace: use a real variable for ftrace_nop in x86\n  tracing/ftrace: make boot tracer select the sched_switch tracer\n  tracepoint: check if the probe has been registered\n  asm-generic: define DIE_OOPS in asm-generic\n  trace: fix printk warning for u64\n  ftrace: warning in kernel/trace/ftrace.c\n  ftrace: fix build failure\n  ftrace, powerpc, sparc64, x86: remove notrace from arch ftrace file\n  ftrace: remove ftrace hash\n  ftrace: remove mcount set\n  ftrace: remove daemon\n  ftrace: disable dynamic ftrace for all archs that use daemon\n  ftrace: add ftrace warn on to disable ftrace\n  ftrace: only have ftrace_kill atomic\n  ftrace: use probe_kernel\n  ftrace: comment arch ftrace code\n  ftrace: return error on failed modified text.\n  ftrace: dynamic ftrace process only text section\n  ...\n"
    },
    {
      "commit": "0d8762c9ee40cf83d5dbf3a22843bc566912b592",
      "tree": "d3ae691a55226e3671caa1f837e127693f6742e8",
      "parents": [
        "cf76dddb22c019f03ada6479210f894f19bd591b",
        "6afe40b4dace385d7ba2faf24b352f066f3b71bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:49:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 28 09:49:27 2008 -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  lockdep: fix irqs on/off ip tracing\n  lockdep: minor fix for debug_show_all_locks()\n  x86: restore the old swiotlb alloc_coherent behavior\n  x86: use GFP_DMA for 24bit coherent_dma_mask\n  swiotlb: remove panic for alloc_coherent failure\n  xen: compilation fix of drivers/xen/events.c on IA64\n  xen: portability clean up and some minor clean up for xencomm.c\n  xen: don\u0027t reload cr3 on suspend\n  kernel/resource: fix reserve_region_with_split() section mismatch\n  printk: remove unused code from kernel/printk.c\n"
    },
    {
      "commit": "dd45c9cf687682c9ce256ab14bd8914db77410bb",
      "tree": "0769c1655b55f2528e9aaf8f96ba8d856f72f0ca",
      "parents": [
        "1080d709fb9d8cd4392f93476ee46a9d6ea05a5b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Oct 27 15:47:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:15 2008 -0700"
      },
      "message": "printk: add %pM format specifier for MAC addresses\n\nAdd format specifiers for printing out six colon-separated bytes:\n\nMAC addresses (%pM):\nxx:xx:xx:xx:xx:xx\n\n%#pM is also supported and omits the colon separators.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4944dd62de21230af039eda7cd218e9a09021d11",
      "tree": "bac70f7bab8506c7e1b0408bacbdb0b1d77262e9",
      "parents": [
        "f17845e5d97ead8fbdadfd40039e058ec7cf4a42",
        "0173a3265b228da319ceb9c1ec6a5682fd1b2d92"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 10:50:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 27 10:50:54 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc2\u0027 into tracing/urgent\n"
    },
    {
      "commit": "f8aea20018aefa51bf818914c9c1ef9006353dbb",
      "tree": "36c5ab25fc6808ae635ae69e3f301b11ef52d72f",
      "parents": [
        "c3c9897c63ebb0b93b7f78724e38d6ee1da04041",
        "520a2c2741747062e75f91cd0faddb564fbc64d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 13:02:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 13:02:03 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (21 commits)\n  [SCSI] sd: fix computation of the full size of the device\n  [SCSI] lib: string_get_size(): don\u0027t hang on zero; no decimals on exact\n  [SCSI] sun3x_esp: Convert \u0026\u0026 to ||\n  [SCSI] sd: remove command-size switching code\n  [SCSI] 3w-9xxx: remove unnecessary local_irq_save/restore for scsi sg copy API\n  [SCSI] 3w-xxxx: remove unnecessary local_irq_save/restore for scsi sg copy API\n  [SCSI] fix netlink kernel-doc\n  [SCSI] sd: Fix handling of NO_SENSE check condition\n  [SCSI] export busy state via q-\u003elld_busy_fn()\n  [SCSI] refactor sdev/starget/shost busy checking\n  [SCSI] mptfusion: Increase scsi-timeouts, similariy to the LSI 4.x driver.\n  [SCSI] aic7xxx: Take the LED out of diagnostic mode on PM resume\n  [SCSI] aic79xx: user visible misuse wrong SI units (not disk size!)\n  [SCSI] ipr: use memory_read_from_buffer()\n  [SCSI] aic79xx: fix shadowed variables\n  [SCSI] aic79xx: fix shadowed variables, add statics\n  [SCSI] aic7xxx: update *_shipped files\n  [SCSI] aic7xxx: update .reg files\n  [SCSI] aic7xxx: introduce \"dont_generate_debug_code\" keyword in aicasm parser\n  [SCSI] scsi_dh: Initialize path state to be passive when path is not owned\n  ...\n"
    },
    {
      "commit": "a2b89b596c5a0b288adac84b17bdda6bde8d144e",
      "tree": "cb33305ff4f30ceaba1c5cbd0eef84d68edca942",
      "parents": [
        "ff3c536291ce96ef6f45704cd37eaed71127dd42"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Oct 23 18:42:03 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 23 21:54:38 2008 +0200"
      },
      "message": "swiotlb: remove panic for alloc_coherent failure\n\nswiotlb_alloc_coherent calls panic() when allocated swiotlb pages is\nnot fit for a device\u0027s dma mask. However, alloc_coherent failure is\nnot a disaster at all. AFAIK, none of other x86 and IA64 IOMMU\nimplementations don\u0027t crash in case of alloc_coherent failure.\n\nThere are some drivers that don\u0027t check alloc_coherent failure but not\nmany (about ten and I\u0027ve already started to fix some of\nthem). alloc_coherent returns NULL in case of failure so it\u0027s likely\nthat these guilty drivers crash immediately. So swiotlb doesn\u0027t need\nto call panic() just for them.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8659597bf744b0f8d2560e2a734b5c941569e0e",
      "tree": "b0630c44727dc3621a1d51a3e2fe5f51eb646e16",
      "parents": [
        "3fe68cc152fc7cc6a763c692544a0ab71926c800"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Tue Oct 14 11:34:21 2008 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Oct 23 11:42:20 2008 -0500"
      },
      "message": "[SCSI] lib: string_get_size(): don\u0027t hang on zero; no decimals on exact\n\nWe would hang forever when passing a zero to string_get_size().\nFurthermore, string_get_size() would produce decimals on a value small\nenough to be exact.  Finally, a few formatting issues are inconsistent\nwith standard SI style guidelines.\n\n- If the value is less than the divisor, skip the entire rounding\n  step.  This prints out all small values including zero as integers,\n  without decimals.\n- Add a space between the value and the symbol for the unit,\n  consistent with standard SI practice.\n- Lower case k in kB since we are talking about powers of 10.\n- Finally, change \"int\" to \"unsigned int\" in one place to shut up a\n  gcc warning when compiling the code out-of-kernel for testing.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9779a8325a9bbf4ccd3853e0e4064984cf9da9c9",
      "tree": "7814d54c7554210ee03d0dbecc546cc2e8a876ec",
      "parents": [
        "309e1e4240636f3a9704d77a164a08e1f5a81fea",
        "61e0e79ee3c609eb34edf2fe023708cba6a79b1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 08:20:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 08:20:34 2008 -0700"
      },
      "message": "Merge branch \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb\n\n* \u0027for-upstream\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (47 commits)\n  uwb: wrong sizeof argument in mac address compare\n  uwb: don\u0027t use printk_ratelimit() so often\n  uwb: use kcalloc where appropriate\n  uwb: use time_after() when purging stale beacons\n  uwb: add credits for the original developers of the UWB/WUSB/WLP subsystems\n  uwb: add entries in the MAINTAINERS file\n  uwb: depend on EXPERIMENTAL\n  wusb: wusb-cbaf (CBA driver) sysfs ABI simplification\n  uwb: document UWB and WUSB sysfs files\n  uwb: add symlinks in sysfs between radio controllers and PALs\n  uwb: dont tranmit identification IEs\n  uwb: i1480/GUWA100U: fix firmware download issues\n  uwb: i1480: remove MAC/PHY information checking function\n  uwb: add Intel i1480 HWA to the UWB RC quirk table\n  uwb: disable command/event filtering for D-Link DUB-1210\n  uwb: initialize the debug sub-system\n  uwb: Fix handling IEs with empty IE data in uwb_est_get_size()\n  wusb: fix bmRequestType for Abort RPipe request\n  wusb: fix error path for wusb_set_dev_addr()\n  wusb: add HWA host controller driver\n  ...\n"
    },
    {
      "commit": "debfcaf93ed500a051489db6646d71f29fe86a68",
      "tree": "7ba189b6dd654022ecc655b68e3c0a4573627706",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4",
        "81520a1b0649d0701205b818714a8c1e1cfbbb5b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 09:08:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 09:08:14 2008 +0200"
      },
      "message": "Merge branch \u0027tracing/ftrace\u0027 into tracing/urgent\n"
    },
    {
      "commit": "606576ce816603d9fe1fb453a88bc6eea16ca709",
      "tree": "7c6844ff4d75f249df49e9e5fe97062d301c3a1f",
      "parents": [
        "c2db8054c1eaf99983d8deee347876b01c26c2cf"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Oct 06 19:06:12 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 18:27:03 2008 +0200"
      },
      "message": "ftrace: rename FTRACE to FUNCTION_TRACER\n\nDue to confusion between the ftrace infrastructure and the gcc profiling\ntracer \"ftrace\", this patch renames the config options from FTRACE to\nFUNCTION_TRACER.  The other two names that are offspring from FTRACE\nDYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.\n\nThis patch was generated mostly by script, and partially by hand.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "332d2e7834986a9326ec3fa6a91641daef81746c",
      "tree": "06a7bdc9675485577080b5af964fd6480a2670fa",
      "parents": [
        "88e366217e8f75bd7eab64f4aa4ff9583070b0af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 15:07:34 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:12:32 2008 -0700"
      },
      "message": "Implement %pR to print struct resource content\n\nAdd a %pR option to the kernel vsnprintf that prints the range of\naddresses inside a struct resource passed by pointer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4596435404976b0ded9cdf18b456ca2e1408ddd",
      "tree": "ec8dce51ec28d3f94f39c7af9ec6685ceeb7e76b",
      "parents": [
        "30e8e13603c247c301fdacabef2a765c84840994"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sat Oct 18 20:28:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:39 2008 -0700"
      },
      "message": "bitmask: remove bitmap_scnprintf_len()\n\nbitmap_scnprintf_len() is not used now, so we remove it.\n\nOtherwise we have to maintain it and make its return\nvalue always equal to bitmap_scnprintf()\u0027s return value.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61e0e79ee3c609eb34edf2fe023708cba6a79b1f",
      "tree": "663deacffd4071120dc9badb70428fe5f124c7b9",
      "parents": [
        "c15895ef30c2c03e99802951787183039a349d32",
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Oct 20 16:07:19 2008 +0100"
      },
      "committer": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Mon Oct 20 16:07:19 2008 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-upstream\n\nConflicts:\n\n\tDocumentation/ABI/testing/sysfs-bus-usb\n\tdrivers/Makefile\n"
    },
    {
      "commit": "0e11e342bac31f51ea055b147d20f77b59b9dd2c",
      "tree": "922439ce3dbc495bc2e013fa775ceefad60d5a1f",
      "parents": [
        "54514a70adefe356afe854e2d3912d46668068e6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Oct 13 10:46:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 08:46:56 2008 +0200"
      },
      "message": "block: add BIG FAT WARNING to CONFIG_DEBUG_BLOCK_EXT_DEVT\n\nCONFIG_DEBUG_BLOCK_EXT_DEVT can break booting even on some modern\ndistros.  Add BIG FAT WARNING to keep people at a safe distance.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9d85db2244d71fa4f2f9747a090c1920f07a8b4b",
      "tree": "5ae72c9df6cdc1ade8fcff0c3bbe7aad5f875fe5",
      "parents": [
        "22d27051b4b2a2650c54fa3f08c2c271c6234a2f"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:08 2008 -0700"
      },
      "message": "lib: remove defining macros for strict_strto??\n\nOpen-code them rather than using defining macros.  The function bodies are now\nnext to their kerneldoc comments as a bonus.\n\nAdd casts to the signed cases as they call into the unsigned versions.\n\nAvoids the sparse warnings:\nlib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:249:1:    expected unsigned long *res\nlib/vsprintf.c:249:1:    got long *res\nlib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:249:1:    expected unsigned long *res\nlib/vsprintf.c:249:1:    got long *res\nlib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:251:1:    expected unsigned long long *res\nlib/vsprintf.c:251:1:    got long long *res\nlib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:251:1:    expected unsigned long long *res\nlib/vsprintf.c:251:1:    got long long *res\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22d27051b4b2a2650c54fa3f08c2c271c6234a2f",
      "tree": "ca1b72ecfdbc710ff6ab975ef85af53daaf6911b",
      "parents": [
        "aa46a63efc896f0a6d54e7614e750788793582e5"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:07 2008 -0700"
      },
      "message": "lib: trivial whitespace tidy\n\nRemove extra lines before the EXPORT_SYMBOL()s\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa46a63efc896f0a6d54e7614e750788793582e5",
      "tree": "c5b7b23186e6a47f56f00b139bf61a8faa477692",
      "parents": [
        "73b4a24f5ff09389ba6277c53a266b142f655ed2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:07 2008 -0700"
      },
      "message": "lib: pull base-guessing logic to helper function\n\nThe default base is 10 unless there is a leading zero, in which\ncase the base will be guessed as 8.\n\nThe base will only be guesed as 16 when the string starts with \u00270x\u0027\nthe third character is a valid hex digit.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c813b4e16ead3c3df98ac84419d4df2adf33fe01",
      "tree": "2ca4a5b6966d833b6149e3dda7a4e85d1255779c",
      "parents": [
        "c8d8a2321f9c4ee18fbcc399fdc2a77e580a03b9",
        "02683ffdf655b4ae15245376ba6fea6d9e5829a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 12:40:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 12:40:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits)\n  UIO: Fix mapping of logical and virtual memory\n  UIO: add automata sercos3 pci card support\n  UIO: Change driver name of uio_pdrv\n  UIO: Add alignment warnings for uio-mem\n  Driver core: add bus_sort_breadthfirst() function\n  NET: convert the phy_device file to use bus_find_device_by_name\n  kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n  kobject: Fix kobject_rename and !CONFIG_SYSFS\n  sysfs: Make dir and name args to sysfs_notify() const\n  platform: add new device registration helper\n  sysfs: use ilookup5() instead of ilookup5_nowait()\n  PNP: create device attributes via default device attributes\n  Driver core: make bus_find_device_by_name() more robust\n  usb: turn dev_warn+WARN_ON combos into dev_WARN\n  debug: use dev_WARN() rather than WARN_ON() in device_pm_add()\n  debug: Introduce a dev_WARN() function\n  sysfs: fix deadlock\n  device model: Do a quickcheck for driver binding before doing an expensive check\n  Driver core: Fix cleanup in device_create_vargs().\n  Driver core: Clarify device cleanup.\n  ...\n"
    },
    {
      "commit": "56d936607408d71c4141b2ed501410b072f1e211",
      "tree": "610b7e0d5a655c2bc69ea6179b6bd5be2f42dd8d",
      "parents": [
        "3400001c531d283068a60e9f884f7de6f22314be"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Oct 15 22:02:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:33 2008 -0700"
      },
      "message": "introduce generic iommu_num_pages function\n\nThis patch introduces the generic iommu_num_pages function. It can be used by\na given memory area.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Muli Ben-Yehuda \u003cmuli@il.ibm.com\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20036fdcaf05fac0a84ed81a56906493a7d822e2",
      "tree": "df06d92ffa8190dfafa59cbb7528564f8d0a055a",
      "parents": [
        "9536727ef696861b205834dd2e01456b91088cb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:02:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Add kerneldoc documentation for new printk format extensions\n\nAdd documentation in kerneldoc for new printk format extensions\n\nThis patch documents the new %pS/%pF options in printk in kernel doc.\n\nHope I didn\u0027t miss any other extension.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ba16087d9f996a93ab6f4453a52a4b24bc1f25c",
      "tree": "98a292c556b646aec40ce137b1ec689b3469f120",
      "parents": [
        "a25d644fc0e232f242d1f3baa63c149c42536ff0"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Oct 15 22:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:31 2008 -0700"
      },
      "message": "Kconfig: eliminate \"def_bool n\" constructs\n\nUsing \"def_bool n\" is pointless, simply using bool here appears more\nappropriate.\n\nFurther, retaining such options that don\u0027t have a prompt and aren\u0027t\nselected by anything seems also at least questionable.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b4a4fea253e1296222603ccc55430ed7cd9413a",
      "tree": "5ce1810393a0f3a48ac208e0dbf994b63a481f18",
      "parents": [
        "030c1d2bfcc2187650fb975456ca0b61a5bb77f4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 03 18:05:28 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n\nIt finally dawned on me what the clean fix to sysfs_rename_dir\ncalling kobject_set_name is.  Move the work into kobject_rename\nwhere it belongs.  The callers serialize us anyway so this is\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "030c1d2bfcc2187650fb975456ca0b61a5bb77f4",
      "tree": "40ed27ce25cf8cbb6b8d3fdb8e25accc17b098c3",
      "parents": [
        "8c0e3998f5b71e68fe6b6e489a92e052715e563c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 08 14:41:00 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "kobject: Fix kobject_rename and !CONFIG_SYSFS\n\nWhen looking at kobject_rename I found two bugs with\nthat exist when sysfs support is disabled in the kernel.\n\nkobject_rename does not change the name on the kobject when\nsysfs support is not compiled in.\n\nkobject_rename without locking attempts to check the\nvalidity of a rename operation, which the kobject layer\nsimply does not have the infrastructure to do.\n\nThis patch documents the previously unstated requirement of\nkobject_rename that is the responsibility of the caller to\nprovide mutual exclusion and to be certain that the new_name\nfor the kobject is valid.\n\nThis patch modifies sysfs_rename_dir in !CONFIG_SYSFS case\nto call kobject_set_name to actually change the kobject_name.\n\nThis patch removes the bogus and misleading check in kobject_rename\nthat attempts to see if a rename is valid.  The check is bogus\nbecause we do not have the proper locking.  The check is misleading\nbecause it looks like we can and do perform checking at the kobject\nlevel that we don\u0027t.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "346e15beb5343c2eb8216d820f2ed8f150822b08",
      "tree": "6433cf2980bbfbed4a9482c5edb156fc8371e071",
      "parents": [
        "33376c1c043c05077b4ac79c33804266f6c45e49"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Aug 12 16:46:19 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "driver core: basic infrastructure for per-module dynamic debug messages\n\nBase infrastructure to enable per-module debug messages.\n\nI\u0027ve introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes\ncontrol of debugging statements on a per-module basis in one /proc file,\ncurrently, \u003cdebugfs\u003e/dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,\nis not set, debugging statements can still be enabled as before, often by\ndefining \u0027DEBUG\u0027 for the proper compilation unit. Thus, this patch set has no\naffect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.\n\nThe infrastructure currently ties into all pr_debug() and dev_dbg() calls. That\nis, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls\ncan be dynamically enabled/disabled on a per-module basis.\n\nFuture plans include extending this functionality to subsystems, that define \ntheir own debug levels and flags.\n\nUsage:\n\nDynamic debugging is controlled by the debugfs file, \n\u003cdebugfs\u003e/dynamic_printk/modules. This file contains a list of the modules that\ncan be enabled. The format of the file is as follows:\n\n\t\u003cmodule_name\u003e \u003cenabled\u003d0/1\u003e\n\t\t.\n\t\t.\n\t\t.\n\n\t\u003cmodule_name\u003e : Name of the module in which the debug call resides\n\t\u003cenabled\u003d0/1\u003e : whether the messages are enabled or not\n\nFor example:\n\n\tsnd_hda_intel enabled\u003d0\n\tfixup enabled\u003d1\n\tdriver enabled\u003d0\n\nEnable a module:\n\n\t$echo \"set enabled\u003d1 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nDisable a module:\n\n\t$echo \"set enabled\u003d0 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nEnable all modules:\n\n\t$echo \"set enabled\u003d1 all\" \u003e dynamic_printk/modules\n\nDisable all modules:\n\n\t$echo \"set enabled\u003d0 all\" \u003e dynamic_printk/modules\n\nFinally, passing \"dynamic_printk\" at the command line enables\ndebugging for all modules. This mode can be turned off via the above\ndisable command.\n\n[gkh: minor cleanups and tweaks to make the build work quietly]\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8daf14cf56816303d64d1a705fcbc389211ba36e",
      "tree": "c14bcf688efd184ab10b576259d570f6d3d09c56",
      "parents": [
        "1db5fff9aeab18566eb380e354629fdbbe7792f0",
        "eceb1383361c6327cef4de01d278cd6722ebceeb",
        "28f7e66fc1da53997a545684b21b91fb3ca3f321",
        "fd1452ebf257317f24e0e285a17a2ec2ce3e6df7",
        "7aa413def76146f7b3784228556d9e4bc562eab3",
        "46eaa6702016e3ac9a188172a2c309d6ca1be1cd",
        "45e96f26f257bd873017c6244a6cafd27f6f5439",
        "9f482807a6bd7e2aa1ed0d8cfc48463ec4ca3568",
        "325af5fb1418c79953db0954556de048e061d8b6",
        "acbaa41a780490c791492c41144c774c04875af1",
        "2407390bd20de38740eef87eab4fe3d1deafdbdd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 15:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 15:50:02 2008 +0200"
      },
      "message": "Merge branches \u0027x86/xen\u0027, \u0027x86/build\u0027, \u0027x86/microcode\u0027, \u0027x86/mm-debug-v2\u0027, \u0027x86/memory-corruption-check\u0027, \u0027x86/early-printk\u0027, \u0027x86/xsave\u0027, \u0027x86/ptrace-v2\u0027, \u0027x86/quirks\u0027, \u0027x86/setup\u0027, \u0027x86/spinlocks\u0027 and \u0027x86/signal\u0027 into x86/core-v2\n"
    },
    {
      "commit": "365d46dc9be9b3c833990a06f3994b1987eda578",
      "tree": "9397d1304144a288411f2118707f44ff5e862fa6",
      "parents": [
        "5dc64a3442b98eaa0e3730c35fcf00cf962a93e7",
        "fd048088306656824958e7783ffcee27e241b361"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 12:35:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 12 12:37:32 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/xen\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n\tarch/x86/kernel/process_64.c\n\tarch/x86/xen/enlighten.c\n"
    },
    {
      "commit": "fd048088306656824958e7783ffcee27e241b361",
      "tree": "be11bebe3bbd2cac88ff27bd3c7450339d21bdc7",
      "parents": [
        "5c3c4d9b5810c9aabd8c05219c62ca088aa83eb0",
        "03010a3350301baac2154fa66de925ae2981b7e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 13:23:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 13:23:48 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (43 commits)\n  ext4: Rename ext4dev to ext4\n  ext4: Avoid double dirtying of super block in ext4_put_super()\n  Update ext4 MAINTAINERS file\n  Hook ext4 to the vfs fiemap interface.\n  generic block based fiemap implementation\n  ocfs2: fiemap support\n  vfs: vfs-level fiemap interface\n  ext4: fix xattr deadlock\n  jbd2: Fix buffer head leak when writing the commit block\n  ext4: Add debugging markers that can be used by systemtap\n  jbd2: abort instead of waiting for nonexistent transaction\n  ext4: fix initialization of UNINIT bitmap blocks\n  ext4: Remove old legacy block allocator\n  ext4: Use readahead when reading an inode from the inode table\n  ext4: Improve the documentation for ext4\u0027s /proc tunables\n  ext4: Combine proc file handling into a single set of functions\n  ext4: move /proc setup and teardown out of mballoc.c\n  ext4: Don\u0027t use \u0027struct dentry\u0027 for internal lookups\n  ext4/jbd2: Avoid WARN() messages when failing to write to the superblock\n  ext4: use percpu data structures for lg_prealloc_list\n  ...\n"
    },
    {
      "commit": "bf6f51e3a46f6a602853d3cbacd05864bc6e2a37",
      "tree": "72ae3563c8a6703e276f005fce5b3f1a3daca08c",
      "parents": [
        "ec8deffa33757286ba59e71d3d98173c37638b37",
        "725c25819e4a0dafdcf42a5f31bc569341919c7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 11 11:03:12 2008 -0700"
      },
      "message": "Merge phase #3 (IOMMU) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-v28-for-linus-phase3-B\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits)\n  AMD IOMMU: use iommu_device_max_index, fix\n  AMD IOMMU: use iommu_device_max_index\n  x86: add PCI IDs for AMD Barcelona PCI devices\n  x86/iommu: use __GFP_ZERO instead of memset for GART\n  x86/iommu: convert GART need_flush to bool\n  x86/iommu: make GART driver checkpatch clean\n  x86 gart: remove unnecessary initialization\n  x86: restore old GART alloc_coherent behavior\n  revert \"x86: make GART to respect device\u0027s dma_mask about virtual mappings\"\n  x86: export pci-nommu\u0027s alloc_coherent\n  iommu: remove fullflush and nofullflush in IOMMU generic option\n  x86: remove set_bit_string()\n  iommu: export iommu_area_reserve helper function\n  AMD IOMMU: use coherent_dma_mask in alloc_coherent\n  add AMD IOMMU tree to MAINTAINERS file\n  AMD IOMMU: use cmd_buf_size when freeing the command buffer\n  AMD IOMMU: calculate IVHD size with a function\n  AMD IOMMU: remove unnecessary cast to u64 in the init code\n  AMD IOMMU: free domain bitmap with its allocation order\n  AMD IOMMU: simplify dma_mask_to_pages\n  ...\n"
    },
    {
      "commit": "b922df7383749a1c0b7ea64c50fa839263d3816b",
      "tree": "dd72306ac173753649eb049d6d2734f4e2b95ff6",
      "parents": [
        "c54dcd8ec9f05c8951d1e622e90904aef95379f9",
        "cdbb92b31d3c465aa96bd09f2d42c39b87b32bee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 13:10:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 13:10:51 2008 -0700"
      },
      "message": "Merge branch \u0027rcu-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027rcu-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)\n  rcu: RCU-based detection of stalled CPUs for Classic RCU, fix\n  rcu: RCU-based detection of stalled CPUs for Classic RCU\n  rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched()\n  rcu: fix sparse shadowed variable warning\n  doc/RCU: fix pseudocode in rcuref.txt\n  rcuclassic: fix compiler warning\n  rcu: use irq-safe locks\n  rcuclassic: fix compilation NG\n  rcu: fix locking cleanup fallout\n  rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c\n  rcu: fix classic RCU locking cleanup lockdep problem\n  rcu: trace fix possible mem-leak\n  rcu: just rename call_rcu_bh instead of making it a macro\n  rcu: remove list_for_each_rcu()\n  rcu: fixes to include/linux/rcupreempt.h\n  rcu: classic RCU locking and memory-barrier cleanups\n  rcu: prevent console flood when one CPU sees another AWOL via RCU\n  rcu, debug: detect stalled grace periods, cleanups\n  rcu, debug: detect stalled grace periods\n  rcu classic: new algorithm for callbacks-processing(v2)\n  ...\n"
    },
    {
      "commit": "ef5bef357cdf49f3a386c7102dbf3be5f7e5c913",
      "tree": "48d9dc86768e3e146267ea21d0c898f9008275a1",
      "parents": [
        "e26feff647ef34423b048b940540a0059001ddb0",
        "41bfcf90101601f9507240ff0435c1b73d28a132"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits)\n  [SCSI] zfcp: fix double dbf id usage\n  [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev\n  [SCSI] zfcp: fix erp list usage without using locks\n  [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport\n  [SCSI] zfcp: fix deadlock caused by shared work queue tasks\n  [SCSI] zfcp: put threshold data in hba trace\n  [SCSI] zfcp: Simplify zfcp data structures\n  [SCSI] zfcp: Simplify get_adapter_by_busid\n  [SCSI] zfcp: remove all typedefs and replace them with standards\n  [SCSI] zfcp: attach and release SAN nameserver port on demand\n  [SCSI] zfcp: remove unused references, declarations and flags\n  [SCSI] zfcp: Update message with input from review\n  [SCSI] zfcp: add queue_full sysfs attribute\n  [SCSI] scsi_dh: suppress comparison warning\n  [SCSI] scsi_dh: add Dell product information into rdac device handler\n  [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option\n  [SCSI] qla2xxx: fix printk format warnings\n  [SCSI] qla2xxx: Update version number to 8.02.01-k8.\n  [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.\n  [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.\n  ...\n"
    },
    {
      "commit": "581d4e28d9195aa8b2231383dbabc288988d615e",
      "tree": "093bcac9a538ef67edcf91826f7532bdb88e6248",
      "parents": [
        "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:56:33 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add fault injection mechanism for faking request timeouts\n\nOnly works for the generic request timer handling. Allows one to\nsporadically ignore request completions, thus exercising the timeout\nhandling.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "55dc7db70a73a3809a2334063c9b5b0d8ccebdaa",
      "tree": "e0e52ad2a0e6d3142945346f5acd7979c2b10e8d",
      "parents": [
        "2bbedcb4c1abac498f18e5770d62ae66ff235ada"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 01 13:44:35 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "init: DEBUG_BLOCK_EXT_DEVT requires explicit root\u003d param\n\nDEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root\ndevice number set using rdev become meaningless.  Root devices should\nbe explicitly specified using textual names.  Warn about it if root\ncan\u0027t be found and DEBUG_BLOCK_EXT_DEVT is enabled.  Also, add warning\nto the help text.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "759f8ca3048f7438aa3129268d7252552505d662",
      "tree": "68ff6d337fbb9fd8fbc2b5f48c993c348df8a60f",
      "parents": [
        "aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 29 09:06:29 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "Change default value of CONFIG_DEBUG_BLOCK_EXT_DEVT to \u0027n\u0027\n\nIt\u0027s a debug option that you would explicitly enable to test this\nfeature, we should default it to \u0027n\u0027 to prevent accidental surprises\nfor now.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "870d6656126add8e383645732b03df2b7ccd4f94",
      "tree": "9c33dd91350ea163b160d9f5cb40d913c5caf268",
      "parents": [
        "f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:47:25 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:06 2008 +0200"
      },
      "message": "block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT\n\nExtended devt introduces non-contiguos device numbers.  This patch\nimplements a debug option which forces most devt allocations to be\nfrom the extended area and spreads them out.  This is enabled by\ndefault if DEBUG_KERNEL is set and achieves...\n\n1. Detects code paths in kernel or userland which expect predetermined\n   consecutive device numbers.\n\n2. When something goes wrong, avoid corruption as adding to the minor\n   of earlier partition won\u0027t lead to the wrong but valid device.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86",
      "tree": "1f07794d793124c0ab514378d9179f595769a813",
      "parents": [
        "710027a48ede75428cc68eaa8ae2269b1e356e2c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:50:16 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "klist: don\u0027t iterate over deleted entries\n\nA klist entry is kept on the list till all its current iterations are\nfinished; however, a new iteration after deletion also iterates over\ndeleted entries as long as their reference count stays above zero.\nThis causes problems for cases where there are users which iterate\nover the list while synchronized against list manipulations and\nnatuarally expect already deleted entries to not show up during\niteration.\n\nThis patch implements dead flag which gets set on deletion so that\niteration can skip already deleted entries.  The dead flag piggy backs\non the lowest bit of knode-\u003en_klist and only visible to klist\nimplementation proper.\n\nWhile at it, drop klist_iter-\u003ei_head as it\u0027s redundant and doesn\u0027t\noffer anything in semantics or performance wise as klist_iter-\u003ei_klist\nis dereferenced on every iteration anyway.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b",
      "tree": "64afe14ce916e5202d1c92b776883d2039b092eb",
      "parents": [
        "114f1ea408944f9515e45aa7452238fb15a1fa00"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Aug 31 10:13:54 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Oct 03 11:46:14 2008 -0500"
      },
      "message": "[SCSI] lib: add generic helper to print sizes rounded to the correct SI range\n\nThis patch adds the ability to print sizes in either units of 10^3 (SI)\nor 2^10 (Binary) units.  It rounds up to three significant figures and\ncan be used for either memory or storage capacities.\n\nOh, and I\u0027m fully aware that 64 bits is only 16EiB ... the Zetta and\nYotta units are added for future proofing against the day we have 128\nbit computers ...\n\n[fujita.tomonori@lab.ntt.co.jp: fix missed unsigned long long cast]\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2133b5d7ff531bc15a923db4a6a50bf96c561be9",
      "tree": "5917515eaec573fbc3d4a734769d6184beb83dbb",
      "parents": [
        "b5259d944279d0b7e78a83849a352d8ba0447c4c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Oct 02 16:06:39 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:36:08 2008 +0200"
      },
      "message": "rcu: RCU-based detection of stalled CPUs for Classic RCU\n\nThis patch adds stalled-CPU detection to Classic RCU.  This capability\nis enabled by a new config variable CONFIG_RCU_CPU_STALL_DETECTOR, which\ndefaults disabled.\n\nThis is a debugging feature to detect infinite loops in kernel code, not\nsomething that non-kernel-hackers would be expected to care about.\n\nThis feature can detect looping CPUs in !PREEMPT builds and looping CPUs\nwith preemption disabled in PREEMPT builds.  This is essentially a port of\nthis functionality from the treercu patch, replacing the stall debug patch\nthat is already in tip/core/rcu (commit 67182ae1c4).\n\nThe changes from the patch in tip/core/rcu include making the config\nvariable name match that in treercu, changing from seconds to jiffies to\navoid spurious warnings, and printing a boot message when this feature\nis enabled.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5259d944279d0b7e78a83849a352d8ba0447c4c",
      "tree": "42f0e7dc404bc776f9a736c17f52c121da166fc1",
      "parents": [
        "1c50b728c3e734150b8a4a8310ce3e01bc5c70be",
        "94aca1dac6f6d21f4b07e4864baf7768cabcc6e7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:34:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 03 10:34:36 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc8\u0027 into core/rcu\n"
    },
    {
      "commit": "07bbc16a8676b06950a21f35b59f69b2fe763bbd",
      "tree": "f87fbfea747e9d92591c8d0a54db7c487e3c3d78",
      "parents": [
        "6a9e91846bf52cc70a0417de19fdfac224c435c4",
        "f8e256c687eb53850685747757c8d75e58756e15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 23:26:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 23:26:42 2008 +0200"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 into x86/xen\n\nConflicts:\n\tarch/x86/kernel/process_32.c\n\tarch/x86/kernel/process_64.c\n\nManual merge:\n\n\tarch/x86/kernel/smpboot.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d26dbc5cf94b0a28acc947285c3b54814a73cb2e",
      "tree": "ba6d44e5945b491166159fee791761ebe4b39134",
      "parents": [
        "832a90c30485117d65180cc9a8d9869c1b158570"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Sep 22 22:35:07 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:47:50 2008 +0200"
      },
      "message": "iommu: export iommu_area_reserve helper function\n\nx86 has set_bit_string() that does the exact same thing that\nset_bit_area() in lib/iommu-helper.c does.\n\nThis patch exports set_bit_area() in lib/iommu-helper.c as\niommu_area_reserve(), converts GART, Calgary, and AMD IOMMU to use it.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4",
      "tree": "2c01e2ee314cf62e5a96cf7c6bde49a377a446df",
      "parents": [
        "f6a32a36ab96016675cd414802904feb288d7899"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Sep 19 02:02:05 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 19 10:20:41 2008 +0200"
      },
      "message": "convert swiotlb to use dma_get_mask\n\nswiotlb can use dma_get_mask() instead of the homegrown function.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: tony.luck@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccbe329bcd87924baed96474ec0a6725e3957897",
      "tree": "7d1f2737916d85aae76e54ab0fefff816fdf4316",
      "parents": [
        "45e9c0de2e86485f8b6633fd64ab19cfbff167f6"
      ],
      "author": {
        "name": "David Vrabel",
        "email": "david.vrabel@csr.com",
        "time": "Wed Sep 17 16:34:03 2008 +0100"
      },
      "committer": {
        "name": "David Vrabel",
        "email": "dv02@dv02pc01.europe.root.pri",
        "time": "Wed Sep 17 16:54:22 2008 +0100"
      },
      "message": "bitmap: add bitmap_copy_le()\n\nbitmap_copy_le() copies a bitmap, putting the bits into little-endian\norder (i.e., each unsigned long word in the bitmap is put into\nlittle-endian order).\n\nThe UWB stack used bitmaps to manage Medium Access Slot availability,\nand these bitmaps need to be written to the hardware in LE order.\n\nSigned-off-by: David Vrabel \u003cdavid.vrabel@csr.com\u003e\n"
    },
    {
      "commit": "6e03f99803195e5aaf7f247db31b0d11857ccc35",
      "tree": "ffd4b1a140854977e984a4390105333845c0e90c",
      "parents": [
        "982162602b31041b426edec6480d327743abcbcc",
        "6bfb09a1005193be5c81ebac9f3ef85210142650"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 14 14:07:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 14 14:07:00 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/iommu\n\nConflicts:\n\tlib/swiotlb.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a551b98d5f6fce5897d497abd8bfb262efb33d2a",
      "tree": "60634dfa4e501486ac6f948fca57aeff49cb9aa0",
      "parents": [
        "d1c6d2e547148c5aa0c0a4ff6aac82f7c6da1d8b",
        "50bed2e2862a8f3a4f7d683d0d27292e71ef18b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 11:50:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 11 11:50:15 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  sg: disable interrupts inside sg_copy_buffer\n"
    },
    {
      "commit": "50bed2e2862a8f3a4f7d683d0d27292e71ef18b9",
      "tree": "4de32d8495a5b79aae38948871abc65bb58d9d10",
      "parents": [
        "2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Sep 11 18:35:39 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 18:35:39 2008 +0200"
      },
      "message": "sg: disable interrupts inside sg_copy_buffer\n\nThe callers of sg_copy_buffer must disable interrupts before calling\nit (since it uses kmap_atomic). Some callers use it on\ninterrupt-disabled code but some need to take the trouble to disable\ninterrupts just for this. No wonder they forget about it and we hit a\nbug like:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11529\n\nJames said that it might be better to disable interrupts inside the\nfunction rather than risk the callers getting it wrong.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "36223a399f639b13b7a454349565934e6d3e2db0",
      "tree": "74c1d058a0d4b1662b68a09b62d7b847d7ee3e9b",
      "parents": [
        "0e116227a01580acf47437adba3afadf21b6bd5f"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Wed Sep 10 21:07:55 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 10 14:00:23 2008 -0700"
      },
      "message": "swiotlb: fix back-off path when memory allocation fails\n\nThis fixes a SWIOTLB oops\n\nWith SWIOTLB being enabled and straight-forward page allocation\nfailure [1], the swiotlb_alloc_coherent fall-back path hits an\nissue [2], resulting in my webcam failing to work.\n\nAt the time of oops, RDI is clearly a pointer to a structure which\nhas arrived as NULL, leading to the typo in swiotlb_map_single\u0027s\ncallsite arguments.\n\nCorrectly passing the device structure [3] addresses the issue and\ngets my webcam working again (the allocation failure still occuring).\n\n --- [1]\n\nskype: page allocation failure. order:3, mode:0x1\nPid: 5895, comm: skype Not tainted 2.6.27-rc6-235c-debug #1\n\nCall Trace:\n [\u003cffffffff802b7cf0\u003e] __alloc_pages_internal+0x4a0/0x5d0\n [\u003cffffffff802d5ddd\u003e] alloc_pages_current+0xad/0x110\n [\u003cffffffff802b4ccd\u003e] __get_free_pages+0x1d/0x60\n [\u003cffffffff8046cd39\u003e] swiotlb_alloc_coherent+0x49/0x180\n [\u003cffffffff80212731\u003e] dma_alloc_coherent+0x281/0x310\n [\u003cffffffff805621c0\u003e] hcd_buffer_alloc+0x50/0x90\n [\u003cffffffff805547fd\u003e] usb_buffer_alloc+0x2d/0x40\n [\u003cffffffffa0056763\u003e] uvc_alloc_urb_buffers+0x53/0xf0 [uvcvideo]\n [\u003cffffffffa0056958\u003e] uvc_init_video+0x158/0x3e0 [uvcvideo]\n [\u003cffffffffa0056c17\u003e] uvc_video_enable+0x37/0x80 [uvcvideo]\n [\u003cffffffffa0055853\u003e] uvc_v4l2_do_ioctl+0x723/0x1260 [uvcvideo]\n [\u003cffffffff8026dd61\u003e] ? trace_hardirqs_off_caller+0x21/0xc0\n [\u003cffffffff8026dd61\u003e] ? trace_hardirqs_off_caller+0x21/0xc0\n [\u003cffffffffa0032c9f\u003e] video_usercopy+0x19f/0x390 [videodev]\n [\u003cffffffffa0055130\u003e] ? uvc_v4l2_do_ioctl+0x0/0x1260 [uvcvideo]\n [\u003cffffffff8026d0ce\u003e] ? put_lock_stats+0xe/0x30\n [\u003cffffffffa0054dad\u003e] uvc_v4l2_ioctl+0x4d/0x80 [uvcvideo]\n [\u003cffffffffa0045083\u003e] native_ioctl+0x83/0x90 [compat_ioctl32]\n [\u003cffffffffa004534e\u003e] v4l_compat_ioctl32+0x2be/0x1da4 [compat_ioctl32]\n [\u003cffffffff806aad21\u003e] ? do_page_fault+0x3d1/0xae0\n [\u003cffffffff80270ccd\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff80270c59\u003e] ? trace_hardirqs_on_caller+0x149/0x1b0\n [\u003cffffffff80270ccd\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff80329afa\u003e] compat_sys_ioctl+0x8a/0x3c0\n [\u003cffffffff806a700d\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n [\u003cffffffff8022f816\u003e] sysenter_dispatch+0x7/0x2c\n [\u003cffffffff806a6fce\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\nMem-Info:\nNode 0 DMA per-cpu:\nCPU    0: hi:    0, btch:   1 usd:   0\nCPU    1: hi:    0, btch:   1 usd:   0\nNode 0 DMA32 per-cpu:\nCPU    0: hi:  186, btch:  31 usd:   3\nCPU    1: hi:  186, btch:  31 usd:   0\nNode 0 Normal per-cpu:\nCPU    0: hi:  186, btch:  31 usd:  23\nCPU    1: hi:  186, btch:  31 usd: 179\nActive:78545 inactive:48683 dirty:31 writeback:0 unstable:2\n free:830202 slab:17516 mapped:17473 pagetables:3496 bounce:0\nNode 0 DMA free:36kB min:28kB low:32kB high:40kB active:0kB\ninactive:0kB present:15156kB pages_scanned:0 all_unreclaimable? no\nlowmem_reserve[]: 0 3207 3956 3956\nNode 0 DMA32 free:3197192kB min:6512kB low:8140kB high:9768kB\nactive:0kB inactive:0kB present:3284896kB pages_scanned:0\nall_unreclaimable? no\nlowmem_reserve[]: 0 0 748 748\nNode 0 Normal free:123580kB min:1516kB low:1892kB high:2272kB\nactive:314180kB inactive:194732kB present:766464kB pages_scanned:0\nall_unreclaimable? no\nlowmem_reserve[]: 0 0 0 0\nNode 0 DMA: 1*4kB 0*8kB 0*16kB 1*32kB 0*64kB 0*128kB 0*256kB 0*512kB\n0*1024kB 0*2048kB 0*4096kB \u003d 36kB\nNode 0 DMA32: 4*4kB 3*8kB 2*16kB 3*32kB 4*64kB 5*128kB 3*256kB 5*512kB\n4*1024kB 5*2048kB 776*4096kB \u003d 3197224kB\nNode 0 Normal: 14*4kB 14*8kB 8*16kB 6*32kB 1*64kB 3*128kB 3*256kB\n2*512kB 4*1024kB 1*2048kB 28*4096kB \u003d 123560kB\n64847 total pagecache pages\n0 pages in swap cache\nSwap cache stats: add 0, delete 0, find 0/0\nFree swap  \u003d 502752kB\nTotal swap \u003d 502752kB\n1048576 pages RAM\n52120 pages reserved\n71967 pages shared\n143004 pages non-shared\n\n --- [2]\n\nBUG: unable to handle kernel NULL pointer dereference at 00000000000002c8\nIP: [\u003cffffffff8046c84c\u003e] map_single+0x1c/0x280\nPGD 10e54e067 PUD 10e595067 PMD 0\nOops: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC\nCPU 0\nModules linked in: kvm_intel kvm microcode uvcvideo compat_ioctl32\nvideodev v4l1_compat shpchp pci_hotplug\nPid: 5895, comm: skype Not tainted 2.6.27-rc6-235c-debug #1\nRIP: 0010:[\u003cffffffff8046c84c\u003e]  [\u003cffffffff8046c84c\u003e] map_single+0x1c/0x280\nRSP: 0018:ffff88010e78d988  EFLAGS: 00210296\nRAX: 0000780000000000 RBX: 0000000000000000 RCX: 0000000000000002\nRDX: 0000000000005000 RSI: 0000000000000000 RDI: 0000000000000000\nRBP: ffff88010e78d9e8 R08: 0000000000000000 R09: 0000000000000001\nR10: ffff88010e78d698 R11: 0000000000000001 R12: 0000000000000002\nR13: 0000000000000000 R14: 0000000000005000 R15: ffff88012f1c9968\nFS:  0000000000000000(0000) GS:ffffffff80a6cdc0(0063) knlGS:00000000f6355b90\nCS:  0010 DS: 002b ES: 002b CR0: 0000000080050033\nCR2: 00000000000002c8 CR3: 000000010e57d000 CR4: 00000000000026e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess skype (pid: 5895, threadinfo ffff88010e78c000, task ffff88012b9cc460)\nStack:  0000000200000000 0000000000005000 0000000000000000 0000000000000000\n 00000000000017b8 0000000000000000 ffff88010e78d9c8 0000000000000000\n 0000000000000002 0000000000000000 0000000000005000 ffff88012f1c9968\nCall Trace:\n [\u003cffffffff8046cbb0\u003e] swiotlb_map_single_attrs+0x60/0xf0\n [\u003cffffffff8046cc4c\u003e] swiotlb_map_single+0xc/0x10\n [\u003cffffffff8046cdee\u003e] swiotlb_alloc_coherent+0xfe/0x180\n [\u003cffffffff80212731\u003e] dma_alloc_coherent+0x281/0x310\n [\u003cffffffff805621c0\u003e] hcd_buffer_alloc+0x50/0x90\n [\u003cffffffff805547fd\u003e] usb_buffer_alloc+0x2d/0x40\n [\u003cffffffffa0056763\u003e] uvc_alloc_urb_buffers+0x53/0xf0 [uvcvideo]\n [\u003cffffffffa0056958\u003e] uvc_init_video+0x158/0x3e0 [uvcvideo]\n [\u003cffffffffa0056c17\u003e] uvc_video_enable+0x37/0x80 [uvcvideo]\n [\u003cffffffffa0055853\u003e] uvc_v4l2_do_ioctl+0x723/0x1260 [uvcvideo]\n [\u003cffffffff8026dd61\u003e] ? trace_hardirqs_off_caller+0x21/0xc0\n [\u003cffffffff8026dd61\u003e] ? trace_hardirqs_off_caller+0x21/0xc0\n [\u003cffffffffa0032c9f\u003e] video_usercopy+0x19f/0x390 [videodev]\n [\u003cffffffffa0055130\u003e] ? uvc_v4l2_do_ioctl+0x0/0x1260 [uvcvideo]\n [\u003cffffffff8026d0ce\u003e] ? put_lock_stats+0xe/0x30\n [\u003cffffffffa0054dad\u003e] uvc_v4l2_ioctl+0x4d/0x80 [uvcvideo]\n [\u003cffffffffa0045083\u003e] native_ioctl+0x83/0x90 [compat_ioctl32]\n [\u003cffffffffa004534e\u003e] v4l_compat_ioctl32+0x2be/0x1da4 [compat_ioctl32]\n [\u003cffffffff806aad21\u003e] ? do_page_fault+0x3d1/0xae0\n [\u003cffffffff80270ccd\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff80270c59\u003e] ? trace_hardirqs_on_caller+0x149/0x1b0\n [\u003cffffffff80270ccd\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff80329afa\u003e] compat_sys_ioctl+0x8a/0x3c0\n [\u003cffffffff806a700d\u003e] ? trace_hardirqs_off_thunk+0x3a/0x3c\n [\u003cffffffff8022f816\u003e] sysenter_dispatch+0x7/0x2c\n [\u003cffffffff806a6fce\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n\nCode: 45 31 c0 48 89 e5 e8 a4 ff ff ff c9 c3 66 90 55 48 89 e5 41 57\n41 56 41 55 41 54 53 48 83 ec 38 48 89 75 b0 48 89 55 a8 89 4d a4 \u003c48\u003e\n8b 87 c8 02 00 00 48 85 c0 0f 84 1c 02 00 00 48 8b 58 08 48\nRIP  [\u003cffffffff8046c84c\u003e] map_single+0x1c/0x280\n RSP \u003cffff88010e78d988\u003e\nCR2: 00000000000002c8\n---[ end trace 5d15baeeb7025a0e ]---\n\n --- [3]\n\nffffffff8046c830 \u003cmap_single\u003e:\nmap_single():\n/store/kernel/linux/lib/swiotlb.c:291\nffffffff8046c830:       55                      push   %rbp\nffffffff8046c831:       48 89 e5                mov    %rsp,%rbp\nffffffff8046c834:       41 57                   push   %r15\nffffffff8046c836:       41 56                   push   %r14\nffffffff8046c838:       41 55                   push   %r13\nffffffff8046c83a:       41 54                   push   %r12\nffffffff8046c83c:       53                      push   %rbx\nffffffff8046c83d:       48 83 ec 38             sub    $0x38,%rsp\nffffffff8046c841:       48 89 75 b0             mov    %rsi,-0x50(%rbp)\nffffffff8046c845:       48 89 55 a8             mov    %rdx,-0x58(%rbp)\nffffffff8046c849:       89 4d a4                mov    %ecx,-0x5c(%rbp)\ndma_get_seg_boundary():\n/store/kernel/linux/include/linux/dma-mapping.h:80\nffffffff8046c84c:       48 8b 87 c8 02 00 00    mov    0x2c8(%rdi),%rax \u003c----\n\n --- [4]\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3ce9bcb583536c45a46c7302747029450e22279c"
}
