)]}'
{
  "log": [
    {
      "commit": "fc82e1d59a24cbac01c49d4eb3b28d6abc26a5f4",
      "tree": "5e01479d69e69dbbe483044b39afd2aa99d4f2b2",
      "parents": [
        "48d5f6731837f0ec9a0e19ca763aa17d58385a98",
        "bea3864fb627d110933cfb8babe048b63c4fc76e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:24:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:24:44 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (21 commits)\n  PM / Hibernate: Reduce autotuned default image size\n  PM / Core: Introduce struct syscore_ops for core subsystems PM\n  PM QoS: Make pm_qos settings readable\n  PM / OPP: opp_find_freq_exact() documentation fix\n  PM: Documentation/power/states.txt: fix repetition\n  PM: Make system-wide PM and runtime PM treat subsystems consistently\n  PM: Simplify kernel/power/Kconfig\n  PM: Add support for device power domains\n  PM: Drop pm_flags that is not necessary\n  PM: Allow pm_runtime_suspend() to succeed during system suspend\n  PM: Clean up PM_TRACE dependencies and drop unnecessary Kconfig option\n  PM: Remove CONFIG_PM_OPS\n  PM: Reorder power management Kconfig options\n  PM: Make CONFIG_PM depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME)\n  PM / ACPI: Remove references to pm_flags from bus.c\n  PM: Do not create wakeup sysfs files for devices that cannot wake up\n  USB / Hub: Do not call device_set_wakeup_capable() under spinlock\n  PM: Use appropriate printk() priority level in trace.c\n  PM / Wakeup: Don\u0027t update events_check_enabled in pm_get_wakeup_count()\n  PM / Wakeup: Make pm_save_wakeup_count() work as documented\n  ...\n"
    },
    {
      "commit": "0f6e0e8448a16d8d22119ce91d8dd24b44865b51",
      "tree": "7c295c02db035fc6a0b867465911a2bc9dc6b1ef",
      "parents": [
        "0d2ecee2bdb2a19d04bc5cefac0f86e790f1aad4",
        "a002951c97ff8da49938c982a4c236bf2fafdc9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 09:15:43 2011 -0700"
      },
      "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: (33 commits)\n  AppArmor: kill unused macros in lsm.c\n  AppArmor: cleanup generated files correctly\n  KEYS: Add an iovec version of KEYCTL_INSTANTIATE\n  KEYS: Add a new keyctl op to reject a key with a specified error code\n  KEYS: Add a key type op to permit the key description to be vetted\n  KEYS: Add an RCU payload dereference macro\n  AppArmor: Cleanup make file to remove cruft and make it easier to read\n  SELinux: implement the new sb_remount LSM hook\n  LSM: Pass -o remount options to the LSM\n  SELinux: Compute SID for the newly created socket\n  SELinux: Socket retains creator role and MLS attribute\n  SELinux: Auto-generate security_is_socket_class\n  TOMOYO: Fix memory leak upon file open.\n  Revert \"selinux: simplify ioctl checking\"\n  selinux: drop unused packet flow permissions\n  selinux: Fix packet forwarding checks on postrouting\n  selinux: Fix wrong checks for selinux_policycap_netpeer\n  selinux: Fix check for xfrm selinux context algorithm\n  ima: remove unnecessary call to ima_must_measure\n  IMA: remove IMA imbalance checking\n  ...\n"
    },
    {
      "commit": "abab012a52237693ae48a655ece30cacb2ce4cf7",
      "tree": "6e687bd30b18ba564c22b41b04a742c4175e7802",
      "parents": [
        "79d8a8f736151b12129984b1250fd708440e742c",
        "50be5e3657cd2851a297dc0b3fd459f25829d29b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:57:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:57:32 2011 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (29 commits)\n  ahci: add another PCI ID for marvell\n  libata: Use \u0027bool\u0027 return value for ata_id_XXX\n  sata_fsl: Update RX_WATER_MARK for TRANSCFG\n  sata_fsl: Fix wrong Device Error Register usage\n  libata: Include WWN ID in inquiry VPD emulation\n  ata/pata_arasan_cf: fill dma chan-\u003eprivate from pdata-\u003edma_priv\n  ata: pata: Convert pr_*(DRV_NAME ...) to pr_fmt/pr_\u003clevel\u003e\n  pata_arasan_cf: fix printk format string warning\n  pata_arasan_cf: Adding support for arasan compact flash host controller\n  libata-sff: add ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work()\n  ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller\n  ahci: recognize Marvell 88se9125 PCIe SATA 6.0 Gb/s controller\n  libata: remove ATA_FLAG_LPM\n  libata: remove ATA_FLAG_NO_LEGACY\n  libata: remove ATA_FLAG_MMIO\n  libata: remove ATA_FLAG_{SRST|SATA_RESET}\n  ipr/sas_ata: use mode mask macros from \u003clinux/ata.h\u003e\n  sata_dwc_460ex: add debugging options\n  sata_dwc_460ex: fix misuse of ata_get_cmd_descript()\n  sata_dwc_460ex: fix return value of dma_dwc_xfer_setup()\n  ...\n"
    },
    {
      "commit": "79d8a8f736151b12129984b1250fd708440e742c",
      "tree": "f67eebe2bafca8820955ee9f851985a41fb32e66",
      "parents": [
        "bd2895eeade5f11f3e5906283c630bbdb4b57454",
        "b9ec40af0e18fb7d02106be148036c2ea490fdf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:22:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support\n  percpu: Generic support for this_cpu_cmpxchg_double()\n  alpha: use L1_CACHE_BYTES for cacheline size in the linker script\n  percpu: align percpu readmostly subsection to cacheline\n\nFix up trivial conflict in arch/x86/kernel/vmlinux.lds.S due to the\npercpu alignment having changed (\"x86: Reduce back the alignment of the\nper-CPU data section\")\n"
    },
    {
      "commit": "bd2895eeade5f11f3e5906283c630bbdb4b57454",
      "tree": "4d98f4fcd80c7d062afce28823d08aee53e66f82",
      "parents": [
        "016aa2ed1cc9cf704cf76d8df07751b6daa9750f",
        "24d51add7438f9696a7205927bf9de3c5c787a58"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 08:20:19 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix build failure introduced by s/freezeable/freezable/\n  workqueue: add system_freezeable_wq\n  rds/ib: use system_wq instead of rds_ib_fmr_wq\n  net/9p: replace p9_poll_task with a work\n  net/9p: use system_wq instead of p9_mux_wq\n  xfs: convert to alloc_workqueue()\n  reiserfs: make commit_wq use the default concurrency level\n  ocfs2: use system_wq instead of ocfs2_quota_wq\n  ext4: convert to alloc_workqueue()\n  scsi/scsi_tgt_lib: scsi_tgtd isn\u0027t used in memory reclaim path\n  scsi/be2iscsi,qla2xxx: convert to alloc_workqueue()\n  misc/iwmc3200top: use system_wq instead of dedicated workqueues\n  i2o: use alloc_workqueue() instead of create_workqueue()\n  acpi: kacpi*_wq don\u0027t need WQ_MEM_RECLAIM\n  fs/aio: aio_wq isn\u0027t used in memory reclaim path\n  input/tps6507x-ts: use system_wq instead of dedicated workqueue\n  cpufreq: use system_wq instead of dedicated workqueues\n  wireless/ipw2x00: use system_wq instead of dedicated workqueues\n  arm/omap: use system_wq in mailbox\n  workqueue: use WQ_MEM_RECLAIM instead of WQ_RESCUER\n"
    },
    {
      "commit": "d10902812c9cd5583130a4ebb9ad19c60b68149d",
      "tree": "b1b28587970e8cebf74ba4d61edf49537f619ab7",
      "parents": [
        "181f977d134a9f8e3f8839f42af655b045fc059e",
        "25874a299ef8037df03ce4ada570bc4e42f9748f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 20:01:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 20:01:36 2011 -0700"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  x86: Clean up apic.c and apic.h\n  x86: Remove superflous goal definition of tsc_sync\n  x86: dt: Correct local apic documentation in device tree bindings\n  x86: dt: Cleanup local apic setup\n  x86: dt: Fix OLPC\u003dy/INTEL_CE\u003dn build\n  rtc: cmos: Add OF bindings\n  x86: ce4100: Use OF to setup devices\n  x86: ioapic: Add OF bindings for IO_APIC\n  x86: dtb: Add generic bus probe\n  x86: dtb: Add support for PCI devices backed by dtb nodes\n  x86: dtb: Add device tree support for HPET\n  x86: dtb: Add early parsing of IO_APIC\n  x86: dtb: Add irq domain abstraction\n  x86: dtb: Add a device tree for CE4100\n  x86: Add device tree support\n  x86: e820: Remove conditional early mapping in parse_e820_ext\n  x86: OLPC: Make OLPC\u003dn build again\n  x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection\n  x86: OLPC: Cleanup config maze completely\n  x86: OLPC: Hide OLPC_OPENFIRMWARE config switch\n  ...\n\nFix up conflicts in arch/x86/platform/ce4100/ce4100.c\n"
    },
    {
      "commit": "181f977d134a9f8e3f8839f42af655b045fc059e",
      "tree": "5d9bb67c62ef1476c18ed350106a84c02f0dd8e4",
      "parents": [
        "d5d42399bd7b66bd6b55363b311810504110c967",
        "25542c646afbf14c43fa7d2b443055cadb73b07a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:49:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:49:10 2011 -0700"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (93 commits)\n  x86, tlb, UV: Do small micro-optimization for native_flush_tlb_others()\n  x86-64, NUMA: Don\u0027t call numa_set_distanc() for all possible node combinations during emulation\n  x86-64, NUMA: Don\u0027t assume phys node 0 is always online in numa_emulation()\n  x86-64, NUMA: Clean up initmem_init()\n  x86-64, NUMA: Fix numa_emulation code with node0 without RAM\n  x86-64, NUMA: Revert NUMA affine page table allocation\n  x86: Work around old gas bug\n  x86-64, NUMA: Better explain numa_distance handling\n  x86-64, NUMA: Fix distance table handling\n  mm: Move early_node_map[] reverse scan helpers under HAVE_MEMBLOCK\n  x86-64, NUMA: Fix size of numa_distance array\n  x86: Rename e820_table_* to pgt_buf_*\n  bootmem: Move __alloc_memory_core_early() to nobootmem.c\n  bootmem: Move contig_page_data definition to bootmem.c/nobootmem.c\n  bootmem: Separate out CONFIG_NO_BOOTMEM code into nobootmem.c\n  x86-64, NUMA: Seperate out numa_alloc_distance() from numa_set_distance()\n  x86-64, NUMA: Add proper function comments to global functions\n  x86-64, NUMA: Move NUMA emulation into numa_emulation.c\n  x86-64, NUMA: Prepare numa_emulation() for moving NUMA emulation into a separate file\n  x86-64, NUMA: Do not scan two times for setup_node_bootmem()\n  ...\n\nFix up conflicts in arch/x86/kernel/smpboot.c\n"
    },
    {
      "commit": "5f6fb45466b2273ffb91c9cf209f164f666c33b1",
      "tree": "2b19f24b678ae379be1b19338c3095c1f76ed41d",
      "parents": [
        "3904afb41d4316f7a2968c615d689e19149a4f84",
        "c0185808eb85139f45dbfd0de66963c498d0c4db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (116 commits)\n  x86: Enable forced interrupt threading support\n  x86: Mark low level interrupts IRQF_NO_THREAD\n  x86: Use generic show_interrupts\n  x86: ioapic: Avoid redundant lookup of irq_cfg\n  x86: ioapic: Use new move_irq functions\n  x86: Use the proper accessors in fixup_irqs()\n  x86: ioapic: Use irq_data-\u003estate\n  x86: ioapic: Simplify irq chip and handler setup\n  x86: Cleanup the genirq name space\n  genirq: Add chip flag to force mask on suspend\n  genirq: Add desc-\u003eirq_data accessor\n  genirq: Add comments to Kconfig switches\n  genirq: Fixup fasteoi handler for oneshot mode\n  genirq: Provide forced interrupt threading\n  sched: Switch wait_task_inactive to schedule_hrtimeout()\n  genirq: Add IRQF_NO_THREAD\n  genirq: Allow shared oneshot interrupts\n  genirq: Prepare the handling of shared oneshot interrupts\n  genirq: Make warning in handle_percpu_event useful\n  x86: ioapic: Move trigger defines to io_apic.h\n  ...\n\nFix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name\nspace changes clashing with the Xen cleanups.  The set_irq_msi() had\nmoved to xen_bind_pirq_msi_to_irq().\n"
    },
    {
      "commit": "21a32816b2e13eafb6d8a4589a84c6e629adc392",
      "tree": "8cfd2b8ffd355ef0954d6fef36aaffbc6fd53215",
      "parents": [
        "420c1c572d4ceaa2f37b6311b7017ac6cf049fe2",
        "ea04683f592e6200b52e191b7e2842aedcfd88b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:59:21 2011 -0700"
      },
      "message": "Merge branch \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-rtc-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer\n  RTC: sa1100: Update the sa1100 RTC driver.\n  RTC: Fix the cross interrupt issue on rtc-test.\n  RTC: Remove UIE and PIE information from the sa1100 driver proc.\n  RTC: Include information about UIE and PIE in RTC driver proc.\n  RTC: Clean out UIE icotl implementations\n  RTC: Cleanup rtc_class_ops-\u003eupdate_irq_enable()\n  RTC: Cleanup rtc_class_ops-\u003eirq_set_freq()\n  RTC: Cleanup rtc_class_ops-\u003eirq_set_state\n  RTC: Initialize kernel state from RTC\n"
    },
    {
      "commit": "420c1c572d4ceaa2f37b6311b7017ac6cf049fe2",
      "tree": "df04e6b4b756b7a46d9887462d54a3ad0e1f91d5",
      "parents": [
        "9620639b7ea3843983f4ced8b4c81eb4d8974838",
        "6e6823d17b157f185be09f4c70181299f9273f0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (62 commits)\n  posix-clocks: Check write permissions in posix syscalls\n  hrtimer: Remove empty hrtimer_init_hres_timer()\n  hrtimer: Update hrtimer-\u003estate documentation\n  hrtimer: Update base[CLOCK_BOOTTIME].offset correctly\n  timers: Export CLOCK_BOOTTIME via the posix timers interface\n  timers: Add CLOCK_BOOTTIME hrtimer base\n  time: Extend get_xtime_and_monotonic_offset() to also return sleep\n  time: Introduce get_monotonic_boottime and ktime_get_boottime\n  hrtimers: extend hrtimer base code to handle more then 2 clockids\n  ntp: Remove redundant and incorrect parameter check\n  mn10300: Switch do_timer() to xtimer_update()\n  posix clocks: Introduce dynamic clocks\n  posix-timers: Cleanup namespace\n  posix-timers: Add support for fd based clocks\n  x86: Add clock_adjtime for x86\n  posix-timers: Introduce a syscall for clock tuning.\n  time: Splitout compat timex accessors\n  ntp: Add ADJ_SETOFFSET mode bit\n  time: Introduce timekeeping_inject_offset\n  posix-timer: Update comment\n  ...\n\nFix up new system-call-related conflicts in\n\tarch/x86/ia32/ia32entry.S\n\tarch/x86/include/asm/unistd_32.h\n\tarch/x86/include/asm/unistd_64.h\n\tarch/x86/kernel/syscall_table_32.S\n(name_to_handle_at()/open_by_handle_at() vs clock_adjtime()), and some\ndue to movement of get_jiffies_64() in:\n\tkernel/time.c\n"
    },
    {
      "commit": "9620639b7ea3843983f4ced8b4c81eb4d8974838",
      "tree": "54266fac3bcf89e61ae06c7d36ca708df6e0ea33",
      "parents": [
        "a926021cb1f8a99a275eaf6eb546102e9469dc59",
        "6d1cafd8b56ea726c10a5a104de57cc3ed8fa953"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)\n  sched: Resched proper CPU on yield_to()\n  sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy\n  sched: Allow SCHED_BATCH to preempt SCHED_IDLE tasks\n  sched: Clean up the IRQ_TIME_ACCOUNTING code\n  sched: Add #ifdef around irq time accounting functions\n  sched, autogroup: Stop claiming ownership of the root task group\n  sched, autogroup: Stop going ahead if autogroup is disabled\n  sched, autogroup, sysctl: Use proc_dointvec_minmax() instead\n  sched: Fix the group_imb logic\n  sched: Clean up some f_b_g() comments\n  sched: Clean up remnants of sd_idle\n  sched: Wholesale removal of sd_idle logic\n  sched: Add yield_to(task, preempt) functionality\n  sched: Use a buddy to implement yield_task_fair()\n  sched: Limit the scope of clear_buddies\n  sched: Check the right -\u003enr_running in yield_task_fair()\n  sched: Avoid expensive initial update_cfs_load(), on UP too\n  sched: Fix switch_from_fair()\n  sched: Simplify the idle scheduling class\n  softirqs: Account ksoftirqd time as cpustat softirq\n  ...\n"
    },
    {
      "commit": "a926021cb1f8a99a275eaf6eb546102e9469dc59",
      "tree": "c6d0300cd4b1a1fd658708476db4577b68b4de31",
      "parents": [
        "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
        "5e814dd597c42daeb8d2a276e64a6ec986ad0e2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (184 commits)\n  perf probe: Clean up probe_point_lazy_walker() return value\n  tracing: Fix irqoff selftest expanding max buffer\n  tracing: Align 4 byte ints together in struct tracer\n  tracing: Export trace_set_clr_event()\n  tracing: Explain about unstable clock on resume with ring buffer warning\n  ftrace/graph: Trace function entry before updating index\n  ftrace: Add .ref.text as one of the safe areas to trace\n  tracing: Adjust conditional expression latency formatting.\n  tracing: Fix event alignment: skb:kfree_skb\n  tracing: Fix event alignment: mce:mce_record\n  tracing: Fix event alignment: kvm:kvm_hv_hypercall\n  tracing: Fix event alignment: module:module_request\n  tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup\n  tracing: Remove lock_depth from event entry\n  perf header: Stop using \u0027self\u0027\n  perf session: Use evlist/evsel for managing perf.data attributes\n  perf top: Don\u0027t let events to eat up whole header line\n  perf top: Fix events overflow in top command\n  ring-buffer: Remove unused #include \u003clinux/trace_irq.h\u003e\n  tracing: Add an \u0027overwrite\u0027 trace_option.\n  ...\n"
    },
    {
      "commit": "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
      "tree": "7a59610f45f7222f25b3212c53fa28636bb4427c",
      "parents": [
        "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
        "dbebbfbb1605f0179e7c0d900d941cc9c45de569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:28:30 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rtmutex: tester: Remove the remaining BKL leftovers\n  lockdep/timers: Explain in detail the locking problems del_timer_sync() may cause\n  rtmutex: Simplify PI algorithm and make highest prio task get lock\n  rwsem: Remove redundant asmregparm annotation\n  rwsem: Move duplicate function prototypes to linux/rwsem.h\n  rwsem: Unify the duplicate rwsem_is_locked() inlines\n  rwsem: Move duplicate init macros and functions to linux/rwsem.h\n  rwsem: Move duplicate struct rwsem declaration to linux/rwsem.h\n  x86: Cleanup rwsem_count_t typedef\n  rwsem: Cleanup includes\n  locking: Remove deprecated lock initializers\n  cred: Replace deprecated spinlock initialization\n  kthread: Replace deprecated spinlock initialization\n  xtensa: Replace deprecated spinlock initialization\n  um: Replace deprecated spinlock initialization\n  sparc: Replace deprecated spinlock initialization\n  mips: Replace deprecated spinlock initialization\n  cris: Replace deprecated spinlock initialization\n  alpha: Replace deprecated spinlock initialization\n  rtmutex-tester: Remove BKL tests\n"
    },
    {
      "commit": "b80cd62b7d4406bbe8c573fe4381dcc71a2850fd",
      "tree": "b3fbd9dcaac45feefc554b5a46888b2cbec0c51d",
      "parents": [
        "c345f60a5f58a65004f22fb0d257d65ec1528310",
        "07d5ecae2940ddd77746e2fb597dcf57d3c2e277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:52 2011 -0700"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  arm: Remove bogus comment in futex_atomic_cmpxchg_inatomic()\n  futex: Deobfuscate handle_futex_death()\n  plist: Add priority list test\n  plist: Shrink struct plist_head\n  futex,plist: Remove debug lock assignment from plist_node\n  futex,plist: Pass the real head of the priority list to plist_del()\n  futex: Sanitize futex ops argument types\n  futex: Sanitize cmpxchg_futex_value_locked API\n  futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic()\n  futex: Avoid redudant evaluation of task_pid_vnr()\n  futex: Update futex_wait_setup comments about locking\n"
    },
    {
      "commit": "c345f60a5f58a65004f22fb0d257d65ec1528310",
      "tree": "d82d4a9de6034534a4408495c63f992ed9b524b5",
      "parents": [
        "422e6c4bc4b48c15b3cb57a1ca71431abfc57e54",
        "997772884036e6e121de39322179989154437d9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:23:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: Add hint for better object identification\n"
    },
    {
      "commit": "422e6c4bc4b48c15b3cb57a1ca71431abfc57e54",
      "tree": "81ceb21f84a79e796ee33b5d17e17406f096abcb",
      "parents": [
        "c83ce989cb5ff86575821992ea82c4df5c388ebc",
        "574197e0de46a8a4db5c54ef7b65e43ffa8873a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:48:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 15:48:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (57 commits)\n  tidy the trailing symlinks traversal up\n  Turn resolution of trailing symlinks iterative everywhere\n  simplify link_path_walk() tail\n  Make trailing symlink resolution in path_lookupat() iterative\n  update nd-\u003einode in __do_follow_link() instead of after do_follow_link()\n  pull handling of one pathname component into a helper\n  fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH\n  Allow passing O_PATH descriptors via SCM_RIGHTS datagrams\n  readlinkat(), fchownat() and fstatat() with empty relative pathnames\n  Allow O_PATH for symlinks\n  New kind of open files - \"location only\".\n  ext4: Copy fs UUID to superblock\n  ext3: Copy fs UUID to superblock.\n  vfs: Export file system uuid via /proc/\u003cpid\u003e/mountinfo\n  unistd.h: Add new syscalls numbers to asm-generic\n  x86: Add new syscalls for x86_64\n  x86: Add new syscalls for x86_32\n  fs: Remove i_nlink check from file system link callback\n  fs: Don\u0027t allow to create hardlink for deleted file\n  vfs: Add open by file handle support\n  ...\n"
    },
    {
      "commit": "a002951c97ff8da49938c982a4c236bf2fafdc9f",
      "tree": "d43e7885ea7376df0a47a0fc8ceca66dc5bfa357",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "c151694b2c48d956ac8c8c59c6927f89cc29ef70"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "397fae081869784d07cd4edde0ddf436ca2011e0",
      "tree": "e6869f145a83e75bff957a3e5a2f72d8b847b75c",
      "parents": [
        "c7146dd0090b9c98ae8525900abf1c38fc7e4e0d",
        "1aa0b51a033d4a1ec6d29d06487e053398afa21b",
        "3d74a539ae07a8f3c061332e426fc07b2310cf05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 10:47:16 2011 -0700"
      },
      "message": "Merge branches \u0027stable/irq.rework\u0027 and \u0027stable/pcifront-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/irq.rework\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/irq: Cleanup up the pirq_to_irq for DomU PV PCI passthrough guests as well.\n  xen: Use IRQF_FORCE_RESUME\n  xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend.\n  xen: Fix compile error introduced by \"switch to new irq_chip functions\"\n  xen: Switch to new irq_chip functions\n  xen: Remove stale irq_chip.end\n  xen: events: do not free legacy IRQs\n  xen: events: allocate GSIs and dynamic IRQs from separate IRQ ranges.\n  xen: events: add xen_allocate_irq_{dynamic, gsi} and xen_free_irq\n  xen:events: move find_unbound_irq inside CONFIG_PCI_MSI\n  xen: handled remapped IRQs when enabling a pcifront PCI device.\n  genirq: Add IRQF_FORCE_RESUME\n\n* \u0027stable/pcifront-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  pci/xen: When free-ing MSI-X/MSI irq-\u003edesc also use generic code.\n  pci/xen: Cleanup: convert int** to int[]\n  pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq\n  xen-pcifront: Sanity check the MSI/MSI-X values\n  xen-pcifront: don\u0027t use flush_scheduled_work()\n"
    },
    {
      "commit": "8460b3e5bc64955aeefdd8357b3bf7b5ff79b3f2",
      "tree": "7e5f6d050b72ab08a4497e82a4a103fefb086e80",
      "parents": [
        "56396e6823fe9b42fe9cf9403d6ed67756255f70",
        "521cb40b0c44418a4fd36dc633f575813d59a43d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 08:29:44 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 15 08:29:44 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38\u0027 into x86/mm\n\nConflicts:\n\tarch/x86/mm/numa_64.c\n\nMerge reason: Resolve the conflict, update the branch to .38.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dce8ba94c751dd25f1d9b2d35c04312b046e5d6",
      "tree": "58f79870815f08108ce0199a938bffba81a6234b",
      "parents": [
        "578ca87c9d18d344b449a8eefee40c10e4fc319f"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Mar 14 08:54:20 2011 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Tue Mar 15 02:42:32 2011 -0400"
      },
      "message": "libata: Use \u0027bool\u0027 return value for ata_id_XXX\n\nMost ata_id_XXX inlines are simple tests, so we should set\nthe return value to \u0027bool\u0027 here.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "1abf0c718f15a56a0a435588d1b104c7a37dc9bd",
      "tree": "91a6fae3218686b9a945569a7fa7fad120f64e94",
      "parents": [
        "f2fa2ffc2046fdc35f96366d1ec8675f4d578522"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 13 03:51:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "New kind of open files - \"location only\".\n\nNew flag for open(2) - O_PATH.  Semantics:\n\t* pathname is resolved, but the file itself is _NOT_ opened\nas far as filesystem is concerned.\n\t* almost all operations on the resulting descriptors shall\nfail with -EBADF.  Exceptions are:\n\t1) operations on descriptors themselves (i.e.\n\t\tclose(), dup(), dup2(), dup3(), fcntl(fd, F_DUPFD),\n\t\tfcntl(fd, F_DUPFD_CLOEXEC, ...), fcntl(fd, F_GETFD),\n\t\tfcntl(fd, F_SETFD, ...))\n\t2) fcntl(fd, F_GETFL), for a common non-destructive way to\n\t\tcheck if descriptor is open\n\t3) \"dfd\" arguments of ...at(2) syscalls, i.e. the starting\n\t\tpoints of pathname resolution\n\t* closing such descriptor does *NOT* affect dnotify or\nposix locks.\n\t* permissions are checked as usual along the way to file;\nno permission checks are applied to the file itself.  Of course,\ngiving such thing to syscall will result in permission checks (at\nthe moment it means checking that starting point of ....at() is\na directory and caller has exec permissions on it).\n\nfget() and fget_light() return NULL on such descriptors; use of\nfget_raw() and fget_raw_light() is needed to get them.  That protects\nexisting code from dealing with those things.\n\nThere are two things still missing (they come in the next commits):\none is handling of symlinks (right now we refuse to open them that\nway; see the next commit for semantics related to those) and another\nis descriptor passing via SCM_RIGHTS datagrams.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "93f1c20bc8cdb757be50566eff88d65c3b26881f",
      "tree": "15e812c8127ddd795b8112f76832f6411953be62",
      "parents": [
        "a51571ccb8be1b88aea502ebba8350519682c16d"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:38 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:45 2011 -0400"
      },
      "message": "vfs: Export file system uuid via /proc/\u003cpid\u003e/mountinfo\n\nWe add a per superblock uuid field. File systems should\nupdate the uuid in the fill_super callback\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "becfd1f37544798cbdfd788f32c827160fab98c1",
      "tree": "80353bdc7e59c661e841d2d0029bb308c0ed4da0",
      "parents": [
        "990d6c2d7aee921e3bce22b2d6a750fd552262be"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:26 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:44 2011 -0400"
      },
      "message": "vfs: Add open by file handle support\n\n[AV: duplicate of open() guts removed; file_open_root() used instead]\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "990d6c2d7aee921e3bce22b2d6a750fd552262be",
      "tree": "af273c4bfbfd0342d39d05d5a017382eb32a7538",
      "parents": [
        "f52e0c11305aa09ed56cad97ffc8f0cdc3d78b5d"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:26 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 15 02:21:37 2011 -0400"
      },
      "message": "vfs: Add name to file handle conversion support\n\nThe syscall also return mount id which can be used\nto lookup file system specific information such as uuid\nin /proc/\u003cpid\u003e/mountinfo\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "40dc166cb5dddbd36aa4ad11c03915ea538f5a61",
      "tree": "0a778159cf89ddee9e7d3134ae40569bdccd2a24",
      "parents": [
        "f9b9e806ae0ede772cbb9916d9ac7354a123d044"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "message": "PM / Core: Introduce struct syscore_ops for core subsystems PM\n\nSome subsystems need to carry out suspend/resume and shutdown\noperations with one CPU on-line and interrupts disabled.  The only\nway to register such operations is to define a sysdev class and\na sysdev specifically for this purpose which is cumbersome and\ninefficient.  Moreover, the arguments taken by sysdev suspend,\nresume and shutdown callbacks are practically never necessary.\n\nFor this reason, introduce a simpler interface allowing subsystems\nto register operations to be executed very late during system suspend\nand shutdown and very early during resume in the form of\nstrcut syscore_ops objects.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7538e3db6e015e890825fbd9f8659952896ddd5b",
      "tree": "01a6d8c97599474d9c5fc1ed0eb6f0addaec5652",
      "parents": [
        "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:17 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Add support for device power domains\n\nThe platform bus type is often used to handle Systems-on-a-Chip (SoC)\nwhere all devices are represented by objects of type struct\nplatform_device.  In those cases the same \"platform\" device driver\nmay be used with multiple different system configurations, but the\nactions needed to put the devices it handles into a low-power state\nand back into the full-power state may depend on the design of the\ngiven SoC.  The driver, however, cannot possibly include all the\ninformation necessary for the power management of its device on all\nthe systems it is used with.  Moreover, the device hierarchy in its\ncurrent form also is not suitable for representing this kind of\ninformation.\n\nThe patch below attempts to address this problem by introducing\nobjects of type struct dev_power_domain that can be used for\nrepresenting power domains within a SoC.  Every struct\ndev_power_domain object provides a sets of device power\nmanagement callbacks that can be used to perform what\u0027s needed for\ndevice power management in addition to the operations carried out by\nthe device\u0027s driver and subsystem.\n\nNamely, if a struct dev_power_domain object is pointed to by the\npwr_domain field in a struct device, the callbacks provided by its\nops member will be executed in addition to the corresponding\ncallbacks provided by the device\u0027s subsystem and driver during all\npower transitions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-and-acked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6",
      "tree": "fc3ef253f12bd9f2d211271c09a5475ed19b18b0",
      "parents": [
        "e8665002477f0278f84f898145b1f141ba26ee26"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 15 21:22:24 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Drop pm_flags that is not necessary\n\nThe variable pm_flags is used to prevent APM from being enabled\nalong with ACPI, which would lead to problems.  However, acpi_init()\nis always called before apm_init() and after acpi_init() has\nreturned, it is known whether or not ACPI will be used.  Namely, if\nacpi_disabled is not set after acpi_init() has returned, this means\nthat ACPI is enabled.  Thus, it is sufficient to check acpi_disabled\nin apm_init() to prevent APM from being enabled in parallel with\nACPI.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "aa33860158114d0df3c7997bc1dd41c0168e1c2a",
      "tree": "a1ae98c42232835780618b0a5dea78c5478ed58c",
      "parents": [
        "196ec243224bb38fc5c41d9fa4050f70708b7fb4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:06:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM: Remove CONFIG_PM_OPS\n\nAfter redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||\nCONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be\nreplaced with CONFIG_PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cd51e61cf4e8b220da37dc35e9c2dc2dc258b4de",
      "tree": "f2cb7a54e59b0bc238ac14f226214e0fc0817891",
      "parents": [
        "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:04:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM / ACPI: Remove references to pm_flags from bus.c\n\nIf direct references to pm_flags are removed from drivers/acpi/bus.c,\nCONFIG_ACPI will not need to depend on CONFIG_PM any more.  Make that\nhappen.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8",
      "tree": "a6d6e20878460d50b8f61d5fe3237818c54065eb",
      "parents": [
        "4681b17154b3fd81f898802262985f662344e6ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:26:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM: Do not create wakeup sysfs files for devices that cannot wake up\n\nCurrently, wakeup sysfs attributes are created for all devices,\nregardless of whether or not they are wakeup-capable.  This is\nexcessive and complicates wakeup device identification from user\nspace (i.e. to identify wakeup-capable devices user space has to read\n/sys/devices/.../power/wakeup for all devices and see if they are not\nempty).\n\nFix this issue by avoiding to create wakeup sysfs files for devices\nthat cannot wake up the system from sleep states (i.e. whose\npower.can_wakeup flags are unset during registration) and modify\ndevice_set_wakeup_capable() so that it adds (or removes) the relevant\nsysfs attributes if a device\u0027s wakeup capability status is changed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f52e0c11305aa09ed56cad97ffc8f0cdc3d78b5d",
      "tree": "b04070034f8a941fe5d7e9e1b335a02784686bd5",
      "parents": [
        "5fe0c2378884e68beb532f5890cc0e3539ac747b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 18:56:51 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 19:12:20 2011 -0400"
      },
      "message": "New AT_... flag: AT_EMPTY_PATH\n\nFor name_to_handle_at(2) we\u0027ll want both ...at()-style syscall that\nwould be usable for non-directory descriptors (with empty relative\npathname).  Introduce new flag (AT_EMPTY_PATH) to deal with that and\ncorresponding LOOKUP_EMPTY; teach user_path_at() and path_init() to\ndeal with the latter.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5f40d4209461f23a15d88c6b55993bb8b0fa2670",
      "tree": "2261f8576d1317c5810edc326be0dfff964c254f",
      "parents": [
        "215fd2fa8879247ac6e3af1dc44af7cae8c06f1e",
        "53d4737580535e073963b91ce87d4216e434fab5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:19:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 14 11:19:50 2011 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: NFSROOT should default to \"proto\u003dudp\"\n  nfs4: remove duplicated #include\n  NFSv4: nfs4_state_mark_reclaim_nograce() should be static\n  NFSv4: Fix the setlk error handler\n  NFSv4.1: Fix the handling of the SEQUENCE status bits\n  NFSv4/4.1: Fix nfs4_schedule_state_recovery abuses\n  NFSv4.1 reclaim complete must wait for completion\n  NFSv4: remove duplicate clientid in struct nfs_client\n  NFSv4.1: Retry CREATE_SESSION on NFS4ERR_DELAY\n  sunrpc: Propagate errors from xs_bind() through xs_create_sock()\n  (try3-resend) Fix nfs_compat_user_ino64 so it doesn\u0027t cause problems if bit 31 or 63 are set in fileid\n  nfs: fix compilation warning\n  nfs: add kmalloc return value check in decode_and_add_ds\n  SUNRPC: Remove resource leak in svc_rdma_send_error()\n  nfs: close NFSv4 COMMIT vs. CLOSE race\n  SUNRPC: Close a race in __rpc_wait_for_completion_task()\n"
    },
    {
      "commit": "5fe0c2378884e68beb532f5890cc0e3539ac747b",
      "tree": "be25414052184e146049ea6466854366559d5528",
      "parents": [
        "c8b91accfa1059d5565443193d89572eca2f5dd6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:25 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "exportfs: Return the minimum required handle size\n\nThe exportfs encode handle function should return the minimum required\nhandle size. This helps user to find out the handle size by passing 0\nhandle size in the first step and then redoing to the call again with\nthe returned handle size value.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c8b91accfa1059d5565443193d89572eca2f5dd6",
      "tree": "74f6061a20accac87a5f349ae8a34c4815cde88d",
      "parents": [
        "73d049a40fc6269189c4e2ba6792cb5dd054883c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 12 10:41:39 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "clean statfs-like syscalls up\n\nNew helpers: user_statfs() and fd_statfs(), taking userland pathname and\ndescriptor resp. and filling struct kstatfs.  Syscalls of statfs family\n(native, compat and foreign - osf and hpux on alpha and parisc resp.)\nswitched to those.  Removes some boilerplate code, simplifies cleanup\non errors...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73d049a40fc6269189c4e2ba6792cb5dd054883c",
      "tree": "a713747cd06926ad89bfa9b36ea13dd20bbc507f",
      "parents": [
        "5b6ca027d85b7438c84b78a54ccdc2e53f2909cd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 11 12:08:24 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "open-style analog of vfs_path_lookup()\n\nnew function: file_open_root(dentry, mnt, name, flags) opens the file\nvfs_path_lookup would arrive to.\n\nNote that name can be empty; in that case the usual requirement that\ndentry should be a directory is lifted.\n\nopen-coded equivalents switched to it, may_open() got down exactly\none caller and became static.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5b6ca027d85b7438c84b78a54ccdc2e53f2909cd",
      "tree": "e35b870101fbc6a2ea6e0399429d9c23707697f3",
      "parents": [
        "5a18fff2090c3af830d699c8ccb230498a1e37e5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 09 23:04:47 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:27 2011 -0400"
      },
      "message": "reduce vfs_path_lookup() to do_path_lookup()\n\nNew lookup flag: LOOKUP_ROOT.  nd-\u003eroot is set (and held) by caller,\npath_init() starts walking from that place and all pathname resolution\nmachinery never drops nd-\u003eroot if that flag is set.  That turns\nvfs_path_lookup() into a special case of do_path_lookup() *and*\ngets us down to 3 callers of link_path_walk(), making it finally\nfeasible to rip the handling of trailing symlink out of link_path_walk().\nThat will not only simply the living hell out of it, but make life\nmuch simpler for unionfs merge.  Trailing symlink handling will\nbecome iterative, which is a good thing for stack footprint in\na lot of situations as well.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "70e9b3571107b88674cd55ae4bed33f76261e7d3",
      "tree": "a22a2cd29b3075ddb9fed4305fd0ff88c07d5963",
      "parents": [
        "951361f954596bd134d4270df834f47d151f98a6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 05 21:12:22 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:26 2011 -0400"
      },
      "message": "get rid of nd-\u003efile\n\nDon\u0027t stash the struct file * used as starting point of walk in nameidata;\npass file ** to path_init() instead.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "47c805dc2d2dff686962f5f0baa6bac2d703ba19",
      "tree": "b596e0a1aadb1550ef2099df95832196cd0eeda1",
      "parents": [
        "c3e380b0b3cfa613189fb91513efd88a65e1d9d8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 23 17:44:09 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:25 2011 -0400"
      },
      "message": "switch do_filp_open() to struct open_flags\n\ntake calculation of open_flags by open(2) arguments into new helper\nin fs/open.c, move filp_open() over there, have it and do_sys_open()\nuse that helper, switch exec.c callers of do_filp_open() to explicit\n(and constant) struct open_flags.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "16c2cd7179881d5dd87779512ca5a0d657c64f62",
      "tree": "822d14ecf505cb3f53e2afe3e1e7867bb32ca346",
      "parents": [
        "fe479a580dc9c737c4eb49ff7fdb31d41d2c7003"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 22 15:50:10 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:24 2011 -0400"
      },
      "message": "untangle the \"need_reval_dot\" mess\n\ninstead of ad-hackery around need_reval_dot(), do the following:\nset a flag (LOOKUP_JUMPED) in the beginning of path, on absolute\nsymlink traversal, on \"..\" and on procfs-style symlinks.  Clear on\nnormal components, leave unchanged on \".\".  Non-nested callers of\nlink_path_walk() call handle_reval_path(), which checks that flag\nis set and that fs does want the final revalidate thing, then does\n-\u003ed_revalidate().  In link_path_walk() all the return_reval stuff\nis gone.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9c6cac0c2bdbda42e7b804838648d0bc60ddb13",
      "tree": "c2d9b41eb24026d6769175e9ba3c17c8093b6aad",
      "parents": [
        "15a9155fe3e8215c02b80df51ec2cac7c0d726ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 16 15:15:47 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:23 2011 -0400"
      },
      "message": "kill path_lookup()\n\nall remaining callers pass LOOKUP_PARENT to it, so\nflags argument can die; renamed to kern_path_parent()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b3b9d73e08d8939aaf54f85bb47495171f49e20",
      "tree": "585aa0ee0cee78b1fb773073712bae5fd2467d72",
      "parents": [
        "60a230e4a62be6837335911b09101bd8aeb7c95a"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Mon Mar 07 08:56:44 2011 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:59:37 2011 -0400"
      },
      "message": "libata: Include WWN ID in inquiry VPD emulation\n\nAs per SAT-3 the WWN ID should be included in the VPD page 0x83\n(device identification) emulation.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "60a230e4a62be6837335911b09101bd8aeb7c95a",
      "tree": "81eaf5ffaef68320dbbdd62bec7142f603609420",
      "parents": [
        "8d7b1c70b3c1aac4b63109f5c73f732f1d63fad6"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Fri Mar 04 16:39:29 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:58:03 2011 -0400"
      },
      "message": "ata/pata_arasan_cf: fill dma chan-\u003eprivate from pdata-\u003edma_priv\n\nSome DMA controllers (eg: drivers/dma/dw_dmac*) allow platform specific\nconfiguration for dma transfers. User drivers need to set chan-\u003eprivate field\nof channel with pointer to configuration data. This patch takes dma_priv data\nfrom platform data and passes it to chan-\u003eprivate_data, in order to pass\nplatform specific configuration to DMAC controller.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "a480167b23ef9b35ec0299bb3e1b11b4ed6b3508",
      "tree": "a445375d94ce680339b88365e0b2d1c3945492d9",
      "parents": [
        "64b97594251bb909d74d64012a2b9e5cc32bb11d"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Tue Feb 22 15:46:07 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:52:46 2011 -0400"
      },
      "message": "pata_arasan_cf: Adding support for arasan compact flash host controller\n\nThe Arasan CompactFlash Device Controller has three basic modes of\noperation: PC card ATA using I/O mode, PC card ATA using memory mode, PC card\nATA using true IDE modes.\n\nCurrently driver supports only True IDE mode.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "64b97594251bb909d74d64012a2b9e5cc32bb11d",
      "tree": "c1b857de305f0fc403efaab8b17ddf1711010656",
      "parents": [
        "64a3903d0885879ba8706a8bcf71c5e3e7664db2"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@st.com",
        "time": "Tue Feb 22 14:32:38 2011 +0530"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Mon Mar 14 02:52:41 2011 -0400"
      },
      "message": "libata-sff: add ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work()\n\nThis patch adds ata_sff_queue_work() \u0026 ata_sff_queue_delayed_work() routine in\nlibata-sff.c file. This routine can be used by ata drivers to use ata_sff_wq.\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "c1c5e4d463f844e5d44cafab752049267c102ca3",
      "tree": "c3adcef156731dba704ec05505df9200569e8987",
      "parents": [
        "cfe08bba1e0017d94a8f738a195d3a2b479327e3",
        "d209a699a0b975ad47f399d70ddc3791f1b84496"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 13:23:37 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 13:23:40 2011 +0100"
      },
      "message": "Merge branch \u0027irq/core\u0027 into x86/irq\n\nReason: Enabling irq threads and update to latest genirq functionality\n\trequires the core code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d209a699a0b975ad47f399d70ddc3791f1b84496",
      "tree": "225ee2dd5e51acc769cd272ce86d36405e933ed2",
      "parents": [
        "d9936bb3952a08d701f7b03f8f62d158f94d8085"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 21:22:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 11:12:58 2011 +0100"
      },
      "message": "genirq: Add chip flag to force mask on suspend\n\nOn suspend we disable all interrupts in the core code, but this does\nnot mask the interrupt line in the default implementation as we use a\nlazy disable approach. That means we mark the interrupt disabled, but\nleave the hardware unmasked. That\u0027s an optimization because we avoid\nthe hardware access for the common case where no interrupt happens\nafter we marked it disabled. If an interrupt happens, then the\ninterrupt flow handler masks the line at the hardware level and marks\nit pending.\n\nSuspend makes use of this delayed disable as it \"disables\" all\ninterrupts when preparing the suspend transition. Right before the\nsystem goes into hardware suspend state it checks whether one of the\ninterrupts which is marked as a wakeup interrupt came in after\ndisabling it.\n\nMost interrupt chips have a separate register which selects the\ninterrupts which can wake up the system from suspend, so we don\u0027t have\nto mask any on the non wakeup interrupts.\n\nBut now we have to deal with brilliant designed hardware which lacks\nsuch a wakeup configuration facility. For such hardware it\u0027s necessary\nto mask all non wakeup interrupts before going into suspend in order\nto avoid the wakeup from random interrupts.\n\nRather than working around this in the affected interrupt chip\nimplementations we can solve this elegant in the core code itself.\n\nAdd a flag IRQCHIP_MASK_ON_SUSPEND which can be set by the irq chip\nimplementation to indicate, that the interrupts which are not selected\nas wakeup sources must be masked in the suspend path. Mask them in the\nloop which checks the wakeup interrupts pending flag.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1103112112310.2787@localhost6.localdomain6\u003e\n\n"
    },
    {
      "commit": "0400a6b0cb756f976bae32ae8db47bfa9853897c",
      "tree": "ec1393f7e5eeec02a0cc4504d98a138ae458f443",
      "parents": [
        "c34c32ea97718bb24fc06158733580003ba89211"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 09 16:00:53 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Mar 11 15:18:22 2011 -0500"
      },
      "message": "NFSv4/4.1: Fix nfs4_schedule_state_recovery abuses\n\nnfs4_schedule_state_recovery() should only be used when we need to force\nthe state manager to check the lease. If we just want to start the\nstate manager in order to handle a state recovery situation, we should be\nusing nfs4_schedule_state_manager().\n\nThis patch fixes the abuses of nfs4_schedule_state_recovery() by replacing\nits use with a set of helper functions that do the right thing.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf6a9b8336ba12672755c2ae898b0abe42c7a5ac",
      "tree": "c85f2b2acac9bf9b88e0c19d90d252b1780e0d35",
      "parents": [
        "017f2b239dabb2740b91df162e004371b861f371"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Dec 21 17:55:14 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 11 15:13:26 2011 -0500"
      },
      "message": "plist: Shrink struct plist_head\n\nstruct plist_head is used in struct task_struct as well as struct\nrtmutex. If we can make it smaller, it will also make these structures\nsmaller as well.\n\nThe field prio_list in struct plist_head is seldom used and we can get\nits information from the plist_nodes. Removing this field will decrease\nthe size of plist_head by half.\n\nSigned-off-by:  Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D107982.9090700@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d9936bb3952a08d701f7b03f8f62d158f94d8085",
      "tree": "6d6e5f45fd36340a4027d8e866a8f7ec9eaac881",
      "parents": [
        "c68fd4f3ca90de7d18c567e70b2c164078aefadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 11 14:15:35 2011 +0100"
      },
      "message": "genirq: Add desc-\u003eirq_data accessor\n\nWe have accessors for all fields in irq_data based on irq_desc, but\nnot for irq_data itself.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "114f64b5f24abac33a42f4f1856eb3a9766d497e",
      "tree": "a3f5129bec4e2d7cf2afa0848798a5e74f422a3e",
      "parents": [
        "7d6d63d6427090cbb1d282364b65b12634ca59bd"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Wed Mar 09 13:13:45 2011 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:05:00 2011 -0500"
      },
      "message": "NFSv4: remove duplicate clientid in struct nfs_client\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "53370d2e8c0382e3e2aa76def93365ed674e7fc7",
      "tree": "531ed0d50c452332f5bc1b7d75539f24f532c326",
      "parents": [
        "5cd10e7946d28cfc42442fee2e6c757e244d756e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 10 18:26:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 10 19:15:58 2011 +0100"
      },
      "message": "hrtimer: Update hrtimer-\u003estate documentation\n\nWe changed some of the state bits and combinations thereof over time,\nbut never updated the documentation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e6e1e2593592a8f6f6380496655d8c6f67431266",
      "tree": "00ef843b23fac5ab6be92725ce5b01487f555997",
      "parents": [
        "de29be5e712dc8b7eef2bef9417af3bb6a88e47a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Mar 09 10:41:56 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 10 10:31:48 2011 -0500"
      },
      "message": "tracing: Remove lock_depth from event entry\n\nThe lock_depth field in the event headers was added as a temporary\ndata point for help in removing the BKL. Now that the BKL is pretty\nmuch been removed, we can remove this field.\n\nThis in turn changes the header from 12 bytes to 8 bytes,\nremoving the 4 byte buffer that gcc would insert if the first field\nin the data load was 8 bytes in size.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ab02a9540541dd7b2012f32f5e311c3cbd772387",
      "tree": "47b2795e160b0f095840ded0bb7f4c7af237eb41",
      "parents": [
        "684adca4f84365ca327e06dba696b62de7a79eca",
        "8909c9ad8ff03611c9c96c9a92656213e4bb495b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:45:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:45:02 2011 -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:\n  net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n"
    },
    {
      "commit": "684adca4f84365ca327e06dba696b62de7a79eca",
      "tree": "a6ca09edf0ab8c99158cc25a94c2cbbe34916c5a",
      "parents": [
        "3979491701cfb2aa7477f5baf40553355391418b"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Thu Mar 10 11:14:17 2011 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 16:43:24 2011 -0800"
      },
      "message": "sysctl: the include of rcupdate.h is only needed in the kernel\n\nFixes this build-check error:\n\n  include/linux/sysctl.h:28: included file \u0027linux/rcupdate.h\u0027 is not exported\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "78833dd70602be6b71ef34225f708b1e500947dc",
      "tree": "807050f760ccc7305b194d7568ebf98737076a40",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575",
        "b306419ae08d9def53f2142a37cc0a58622307a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 13:55:51 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 09 13:55:51 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  nd-\u003einode is not set on the second attempt in path_walk()\n  unfuck proc_sysctl -\u003ed_compare()\n  minimal fix for do_filp_open() race\n"
    },
    {
      "commit": "51ba60c5bb3b0f71bee26404ddc22d8e4109e88a",
      "tree": "27465aa6427981e542df0a9822ae634fe225a838",
      "parents": [
        "696160fec162601d06940862b5b3aa4460344c1b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 12:13:50 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:37 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eupdate_irq_enable()\n\nNow that the generic code handles UIE mode irqs via periodic\nalarm interrupts, no one calls the\nrtc_class_ops-\u003eupdate_irq_enable() method anymore.\n\nThis patch removes the driver hooks and implementations of\nupdate_irq_enable if no one else is calling it.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "696160fec162601d06940862b5b3aa4460344c1b",
      "tree": "63c5d1d87f140b6a989256727b62071dd19d894b",
      "parents": [
        "80d4bb515b78f38738f3378fd1be6039063ab040"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 12:02:07 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:35 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eirq_set_freq()\n\nWith the generic rtc code now emulating PIE mode irqs via an\nhrtimer, no one calls the rtc_class_ops-\u003eirq_set_freq call.\n\nThis patch removes the hook and deletes the driver functions\nif no one else calls them.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "80d4bb515b78f38738f3378fd1be6039063ab040",
      "tree": "92e3f938097fa9f8de5c80886b1d0d724cb37b47",
      "parents": [
        "f44f7f96a20af16f6f12e1c995576d6becf5f57b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Feb 03 11:34:50 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:23:34 2011 -0800"
      },
      "message": "RTC: Cleanup rtc_class_ops-\u003eirq_set_state\n\nWith PIE mode interrupts now emulated in generic code via an hrtimer,\nno one calls rtc_class_ops-\u003eirq_set_state(), so this patch removes it\nalong with driver implementations.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: rtc-linux@googlegroups.com\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f44f7f96a20af16f6f12e1c995576d6becf5f57b",
      "tree": "bbe0b8bec5defed39fade13c79a1cb19b74fb6e3",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 22:58:51 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 09 11:22:50 2011 -0800"
      },
      "message": "RTC: Initialize kernel state from RTC\n\nMark Brown pointed out a corner case: that RTC alarms should\nbe allowed to be persistent across reboots if the hardware\nsupported it.\n\nThe rework of the generic layer to virtualize the RTC alarm\nvirtualized much of the alarm handling, and removed the\ncode used to read the alarm time from the hardware.\n\nMark noted if we want the alarm to be persistent across\nreboots, we need to re-read the alarm value into the\nvirtualized generic layer at boot up, so that the generic\nlayer properly exposes that value.\n\nThis patch restores much of the earlier removed\nrtc_read_alarm code and wires it in so that we\nset the kernel\u0027s alarm value to what we find in the\nhardware at boot time.\n\nNOTE: Not all hardware supports persistent RTC alarm state across\nsystem reset. rtc-cmos for example will keep the alarm time, but\ndisables the AIE mode irq. Applications should not expect the RTC\nalarm to be valid after a system reset. We will preserve what\nwe can, to represent the hardware state at boot, but its not\nguarenteed.\n\nFurther, in the future, with multiplexed RTC alarms, the\nsoonest alarm to fire may not be the one set via the /dev/rt\nioctls. So an application may set the alarm with RTC_ALM_SET,\nbut after a reset find that RTC_ALM_READ returns an earlier\ntime. Again, we preserve what we can, but applications should\nnot expect the RTC alarm state to persist across a system reset.\n\nBig thanks to Mark for pointing out the issue!\nThanks also to Marcelo for helping think through the solution.\n\nCC: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCC: Marcelo Roberto Jimenez \u003cmroberto@cpti.cetuc.puc-rio.br\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: rtc-linux@googlegroups.com\nReported-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "750912fa366312e9c5bc83eab352898a26750401",
      "tree": "bb8e5cd1444a74ea283e3fa55607225e7fda4d70",
      "parents": [
        "2a8247a2600c3e087a568fc68a6ec4eedac27ef1"
      ],
      "author": {
        "name": "David Sharp",
        "email": "dhsharp@google.com",
        "time": "Wed Dec 08 13:46:47 2010 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 09 13:52:27 2011 -0500"
      },
      "message": "tracing: Add an \u0027overwrite\u0027 trace_option.\n\nAdd an \"overwrite\" trace_option for ftrace to control whether the buffer should\nbe overwritten on overflow or not. The default remains to overwrite old events\nwhen the buffer is full. This patch adds the option to instead discard newest\nevents when the buffer is full. This is useful to get a snapshot of traces just\nafter enabling traces. Dropping the current event is also a simpler code path.\n\nSigned-off-by: David Sharp \u003cdhsharp@google.com\u003e\nLKML-Reference: \u003c1291844807-15481-1-git-send-email-dhsharp@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "86cb2ec7b22a0a89b8660110dc03321fadbef45f",
      "tree": "c4162b0ab7c4e3602e2b7a6a6fd47c55c3315fea",
      "parents": [
        "7f0030b211579939461468f25b80c73e293c46e0",
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 08 17:21:49 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 08 17:21:52 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.38-rc8\u0027 into perf/core\n\nMerge reason: Merge latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "997772884036e6e121de39322179989154437d9f",
      "tree": "618ef63c45e16892ea26a99cafef6b0442e8eca1",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Mon Mar 07 09:58:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 08 16:10:38 2011 +0100"
      },
      "message": "debugobjects: Add hint for better object identification\n\nIn complex subsystems like mac80211 structures can contain several\ntimers and work structs, so identifying a specific instance from the\ncall trace and object type output of debugobjects can be hard.\n\nAllow the subsystems which support debugobjects to provide a hint\nfunction. This function returns a pointer to a kernel address\n(preferrably the objects callback function) which is printed along\nwith the debugobjects type.\n\nAdd hint methods for timer_list, work_struct and hrtimer.\n\n[ tglx: Massaged changelog, made it compile ]\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c20110307085809.GA9334@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dfef6dcd35cb4a251f6322ca9b2c06f0bb1aa1f4",
      "tree": "65e8a25d4ed913658db35c4b97ab0a021c2124eb",
      "parents": [
        "1858efd471624ecb37e6b5462cab8076f47d1cee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 01:25:28 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 02:22:27 2011 -0500"
      },
      "message": "unfuck proc_sysctl -\u003ed_compare()\n\na) struct inode is not going to be freed under -\u003ed_compare();\nhowever, the thing PROC_I(inode)-\u003esysctl points to just might.\nFortunately, it\u0027s enough to make freeing that sucker delayed,\nprovided that we don\u0027t step on its -\u003eunregistering, clear\nthe pointer to it in PROC_I(inode) before dropping the reference\nand check if it\u0027s NULL in -\u003ed_compare().\n\nb) I\u0027m not sure that we *can* walk into NULL inode here (we recheck\ndentry-\u003eseq between verifying that it\u0027s still hashed / fetching\ndentry-\u003ed_inode and passing it to -\u003ed_compare() and there\u0027s no\nnegative hashed dentries in /proc/sys/*), but if we can walk into\nthat, we really should not have -\u003ed_compare() return 0 on it!\nSaid that, I really suspect that this check can be simply killed.\nNick?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "ee009e4a0d4555ed522a631bae9896399674f064",
      "tree": "ee309fb4a98d9e7792cec99935c2d33652b3f440",
      "parents": [
        "fdd1b94581782a2ddf9124414e5b7a5f48ce2f9c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:06:20 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:22 2011 +1100"
      },
      "message": "KEYS: Add an iovec version of KEYCTL_INSTANTIATE\n\nAdd a keyctl op (KEYCTL_INSTANTIATE_IOV) that is like KEYCTL_INSTANTIATE, but\ntakes an iovec array and concatenates the data in-kernel into one buffer.\nSince the KEYCTL_INSTANTIATE copies the data anyway, this isn\u0027t too much of a\nproblem.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "fdd1b94581782a2ddf9124414e5b7a5f48ce2f9c",
      "tree": "ce83bfd1f0b1a7d4b9521bdb3d6afef1bff1d4f2",
      "parents": [
        "b9fffa3877a3ebbe0a5ad5a247358e2f7df15b24"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:06:09 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:18 2011 +1100"
      },
      "message": "KEYS: Add a new keyctl op to reject a key with a specified error code\n\nAdd a new keyctl op to reject a key with a specified error code.  This works\nmuch the same as negating a key, and so keyctl_negate_key() is made a special\ncase of keyctl_reject_key().  The difference is that keyctl_negate_key()\nselects ENOKEY as the error to be reported.\n\nTypically the key would be rejected with EKEYEXPIRED, EKEYREVOKED or\nEKEYREJECTED, but this is not mandatory.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b9fffa3877a3ebbe0a5ad5a247358e2f7df15b24",
      "tree": "0f58a92c2616b3663f88935290d32a4c90d57025",
      "parents": [
        "633e804e89464d3875e59de1959a53f9041d3094"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:05:59 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:15 2011 +1100"
      },
      "message": "KEYS: Add a key type op to permit the key description to be vetted\n\nAdd a key type operation to permit the key type to vet the description of a new\nkey that key_alloc() is about to allocate.  The operation may reject the\ndescription if it wishes with an error of its choosing.  If it does this, the\nkey will not be allocated.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "633e804e89464d3875e59de1959a53f9041d3094",
      "tree": "0a2464267c5f7a4e8166771fdc88e181a5b6219a",
      "parents": [
        "1cc26bada9f6807814806db2f0d78792eecdac71"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Mar 07 15:05:51 2011 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:17:11 2011 +1100"
      },
      "message": "KEYS: Add an RCU payload dereference macro\n\nAdd an RCU payload dereference macro as this seems to be a common piece of code\namongst key types that use RCU referenced payloads.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "1cc26bada9f6807814806db2f0d78792eecdac71",
      "tree": "5509b5139db04af6c13db0a580c84116a4a54039",
      "parents": [
        "eae61f3c829439f8f9121b5cd48a14be04df451f",
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 10:55:06 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 10:55:06 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027; commit \u0027v2.6.38-rc7\u0027 into next\n"
    },
    {
      "commit": "fb62c00a6d8942775abc23d1621db1252e2d93d1",
      "tree": "ef8760123f5a2b692126ecb7a70f2689053885c1",
      "parents": [
        "5c4b4be3b6b937256103a5ae49177e0c3a17cb8f",
        "455cec0abff563574cca432ced49f734117ca113"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: no .snap inside of snapped namespace\n  libceph: fix msgr standby handling\n  libceph: fix msgr keepalive flag\n  libceph: fix msgr backoff\n  libceph: retry after authorization failure\n  libceph: fix handling of short returns from get_user_pages\n  ceph: do not clear I_COMPLETE from d_release\n  ceph: do not set I_COMPLETE\n  Revert \"ceph: keep reference to parent inode on ceph_dentry\"\n"
    },
    {
      "commit": "236344d6b417d05a3080477639234fd9ca97568d",
      "tree": "bebda56cddb3dc7ce6f73091383ac857606a5f11",
      "parents": [
        "2f5f9486f8c12e3aa40fe3775a18cb14efc5cea2"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Mar 04 17:36:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 17:53:39 2011 -0800"
      },
      "message": "mm: add alloc_page_vma_node()\n\nAdd a alloc_page_vma_node that allows passing the \"local\" node in.  Used\nin a followon patch.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f5f9486f8c12e3aa40fe3775a18cb14efc5cea2",
      "tree": "362c21544db1bc65ffb65abf9f2b41b63621a124",
      "parents": [
        "b8bc1dd39722f7c306435d0682e9bf81abf52105"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Mar 04 17:36:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 17:53:39 2011 -0800"
      },
      "message": "mm: change alloc_pages_vma to pass down the policy node for local policy\n\nCurrently alloc_pages_vma() always uses the local node as policy node for\nthe LOCAL policy.  Pass this node down as an argument instead.\n\nNo behaviour change from this patch, but will be needed for followons.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e76661d0a59e53e5cc4dccbe4b755d1dc8a968ec",
      "tree": "371ed08c5d00dbcdcf6f18e5cf36d798bcc51180",
      "parents": [
        "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 03 10:10:15 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:31 2011 -0800"
      },
      "message": "libceph: fix msgr keepalive flag\n\nThere was some broken keepalive code using a dead variable.  Shift to using\nthe proper bit flag.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8",
      "tree": "ce7140c32a3f177816f4029a88eb99e15bda6943",
      "parents": [
        "692d20f576fb26f62c83f80dbf3ea899998391b7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "message": "libceph: fix msgr backoff\n\nWith commit f363e45f we replaced a bunch of hacky workqueue mutual\nexclusion logic with the WQ_NON_REENTRANT flag.  One pieces of fallout is\nthat the exponential backoff breaks in certain cases:\n\n * con_work attempts to connect.\n * we get an immediate failure, and the socket state change handler queues\n   immediate work.\n * con_work calls con_fault, we decide to back off, but can\u0027t queue delayed\n   work.\n\nIn this case, we add a BACKOFF bit to make con_work reschedule delayed work\nnext time it runs (which should be immediately).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e3e89cc535223433a619d0969db3fa05cdd946b8",
      "tree": "a0026ecf98617b7a7ab000339ed79a06ec03d038",
      "parents": [
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 09:23:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 04 09:23:30 2011 -0800"
      },
      "message": "Mark ptrace_{traceme,attach,detach} static\n\nThey are only used inside kernel/ptrace.c, and have been for a long\ntime.  We don\u0027t want to go back to the bad-old-days when architectures\ndid things on their own, so make them static and private.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7e3ed1e470116c9d12c2f778431a481a6be8ab6",
      "tree": "10e72043f3eb0d6a31fe27188f74267a5796dbcd",
      "parents": [
        "17e3162972cbb9796035fff1e2fd30669b0eef65"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Thu Mar 03 10:34:47 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:53 2011 +0100"
      },
      "message": "perf: Add support for supplementary event registers\n\nChange logs against Andi\u0027s original version:\n\n- Extends perf_event_attr:config to config{,1,2} (Peter Zijlstra)\n- Fixed a major event scheduling issue. There cannot be a ref++ on an\n  event that has already done ref++ once and without calling\n  put_constraint() in between. (Stephane Eranian)\n- Use thread_cpumask for percore allocation. (Lin Ming)\n- Use MSR names in the extra reg lists. (Lin Ming)\n- Remove redundant \"c \u003d NULL\" in intel_percore_constraints\n- Fix comment of perf_event_attr::config1\n\nIntel Nehalem/Westmere have a special OFFCORE_RESPONSE event\nthat can be used to monitor any offcore accesses from a core.\nThis is a very useful event for various tunings, and it\u0027s\nalso needed to implement the generic LLC-* events correctly.\n\nUnfortunately this event requires programming a mask in a separate\nregister. And worse this separate register is per core, not per\nCPU thread.\n\nThis patch:\n\n- Teaches perf_events that OFFCORE_RESPONSE needs extra parameters.\n  The extra parameters are passed by user space in the\n  perf_event_attr::config1 field.\n\n- Adds support to the Intel perf_event core to schedule per\n  core resources. This adds fairly generic infrastructure that\n  can be also used for other per core resources.\n  The basic code has is patterned after the similar AMD northbridge\n  constraints code.\n\nThanks to Stephane Eranian who pointed out some problems\nin the original version and suggested improvements.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1299119690-13991-2-git-send-email-ming.m.lin@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0a92c17470775cd85bac52f5372ccc3dc58254a",
      "tree": "9339da8754084bed50b941b018706b75482025cb",
      "parents": [
        "544b4a1f309d18f40969dbab7e08bafd136b2f55",
        "0c3b9168017cbad2c4af3dd65ec93fe646eeaa62"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:12:24 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:12:26 2011 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Add fixes before applying dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "888a8a3e9d79cbb9d83e53955f684998248580ec",
      "tree": "3dbf548438c77d89c8696a9a79c4129cdc2f3d3e",
      "parents": [
        "cfff2d909cbdaf8c467bd321aa0502a548ec8f7e",
        "b06b3d49699a52e8f9ca056c4f96e81b1987d78e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 10:40:22 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 10:40:25 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Pick up updates before queueing up dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb4b10ab5fadcf5012983e4306aec3131b808b1b",
      "tree": "35433af7bb28850037c439136830e1c9ad3ce271",
      "parents": [
        "8336026942fdf6a96a45057a2fe6d7f7946979d5",
        "fd51469fb68b987032e46297e0a4fe9020063c20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:42:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:42:35 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: kill loop_mutex\n  blktrace: Remove blk_fill_rwbs_rq.\n  block: blk-flush shouldn\u0027t call directly into q-\u003erequest_fn() __blk_run_queue()\n  block: add @force_kblockd to __blk_run_queue()\n  block: fix kernel-doc format for blkdev_issue_zeroout\n  blk-throttle: Do not use kblockd workqueue for throtl work\n"
    },
    {
      "commit": "ff36fe2c845cab2102e4826c1ffa0a6ebf487c65",
      "tree": "d61f4c65bc51e6455f0cb5a3d03fab41d0f83169",
      "parents": [
        "2ad18bdf3b8f84c85c7da7e4de365f7c5701fb3f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 03 16:09:14 2011 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 03 16:12:27 2011 -0500"
      },
      "message": "LSM: Pass -o remount options to the LSM\n\nThe VFS mount code passes the mount options to the LSM.  The LSM will remove\noptions it understands from the data and the VFS will then pass the remaining\noptions onto the underlying filesystem.  This is how options like the\nSELinux context\u003d work.  The problem comes in that -o remount never calls\ninto LSM code.  So if you include an LSM specific option it will get passed\nto the filesystem and will cause the remount to fail.  An example of where\nthis is a problem is the \u0027seclabel\u0027 option.  The SELinux LSM hook will\nprint this word in /proc/mounts if the filesystem is being labeled using\nxattrs.  If you pass this word on mount it will be silently stripped and\nignored.  But if you pass this word on remount the LSM never gets called\nand it will be passed to the FS.  The FS doesn\u0027t know what seclabel means\nand thus should fail the mount.  For example an ext3 fs mounted over loop\n\n# mount -o loop /tmp/fs /mnt/tmp\n# cat /proc/mounts | grep /mnt/tmp\n/dev/loop0 /mnt/tmp ext3 rw,seclabel,relatime,errors\u003dcontinue,barrier\u003d0,data\u003dordered 0 0\n# mount -o remount /mnt/tmp\nmount: /mnt/tmp not mounted already, or bad option\n# dmesg\nEXT3-fs (loop0): error: unrecognized mount option \"seclabel\" or missing value\n\nThis patch passes the remount mount options to an new LSM hook.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2d3a8497f8cc5aca14b722cd37d51f6c15ff9f74",
      "tree": "2e0013fdc1eec486a425e666a885b04a1c37befb",
      "parents": [
        "255bb490c8c27eed484d538efe6ef6a7473bd3f6"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 03 10:53:20 2011 -0500"
      },
      "message": "blktrace: Remove blk_fill_rwbs_rq.\n\nIf we enable trace events to trace block actions, We use\nblk_fill_rwbs_rq to analyze the corresponding actions\nin request\u0027s cmd_flags, but we only choose the minor 2 bits\nfrom it, so most of other flags(e.g, REQ_SYNC) are missing.\nFor example, with a sync write we get:\nwrite_test-2409  [001]   160.013869: block_rq_insert: 3,64 W 0 () 258135 + \u003d\n8 [write_test]\n\nSince now we have integrated the flags of both bio and request,\nit is safe to pass rq-\u003ecmd_flags directly to blk_fill_rwbs and\nblk_fill_rwbs_rq isn\u0027t needed any more.\n\nWith this patch, after a sync write we get:\nwrite_test-2417  [000]   226.603878: block_rq_insert: 3,64 WS 0 () 258135 +\u003d\n 8 [write_test]\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "c09d7a3d2e365e11c09b9c6414c17fe55bd32a8e",
      "tree": "8823dc4ba7ab25af71a0df8187ea800f0123aeff",
      "parents": [
        "0a10247914a5cad3caf7ef8a255c54c4d3ed2062",
        "4defe682d81a4960b6840ee4ed1a36f9db77c7bd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 02 16:09:55 2011 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 03 04:29:25 2011 +0100"
      },
      "message": "Merge branch \u0027/tip/perf/filter\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git into perf/core\n"
    },
    {
      "commit": "1654e7411a1ad4999fe7890ef51d2a2bbb1fcf76",
      "tree": "c8071cf8cc1aef9e776697b72aaca5a22a47c3d7",
      "parents": [
        "291d24f6d9e7bbef81454fade8a44720665c7302"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 02 08:48:05 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 02 08:48:05 2011 -0500"
      },
      "message": "block: add @force_kblockd to __blk_run_queue()\n\n__blk_run_queue() automatically either calls q-\u003erequest_fn() directly\nor schedules kblockd depending on whether the function is recursed.\nblk-flush implementation needs to be able to explicitly choose\nkblockd.  Add @force_kblockd.\n\nAll the current users are converted to specify %false for the\nparameter and this patch doesn\u0027t introduce any behavior change.\n\nstable: This is prerequisite for fixing ide oops caused by the new\n        blk-flush implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jan Beulich \u003cJBeulich@novell.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "77bd70e9009eab6dbdef3ee08afe87ab26df8dac",
      "tree": "26de85180fad61c771e3e03fb9c49017ec32be19",
      "parents": [
        "73ee6524d55444dc80c691ff8602e08940df3d47"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 04 14:57:43 2011 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Wed Mar 02 10:57:50 2011 +0100"
      },
      "message": "mfd: Don\u0027t suspend WM8994 if the CODEC is not suspended\n\nASoC supports keeping the audio subsysetm active over suspend in order\nto support use cases such as audio passthrough from a cellular modem\nwith the main CPU suspended. Ensure that we don\u0027t power down the CODEC\nwhen this is happening by checking to see if VMID is up and skipping\nsuspend and resume when it is. If the CODEC has suspended then it\u0027ll\nturn VMID off before the core suspend() gets called.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1a0f6b7ecdcd810f8991ea26c95d93ff965e8f41",
      "tree": "bb1abb63a075726081a94794b3b712c5ac6e5ffd",
      "parents": [
        "9cbe056f6c467e7395d5aec39aceec47812eb98e"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:08:22 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_LPM\n\nCommit 6b7ae9545ad9875a289f4191c0216b473e313cb9 (libata: reimplement link power\nmanagement) removed the check of ATA_FLAG_LPM but neglected to remove the flag\nitself.  Do it now...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9cbe056f6c467e7395d5aec39aceec47812eb98e",
      "tree": "3ca13e73718fc14fc39f3d875dc3a1f724a255c4",
      "parents": [
        "3696df309971b3427cb9cb039138a1732a865a0b"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:05:48 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_NO_LEGACY\n\nAll checks of ATA_FLAG_NO_LEGACY have been removed by the commits\nc791c30670ea61f19eec390124128bf278e854fe ([libata] minor PCI IDE probe\nfixes and cleanups) and f0d36efdc624beb3d9e29b9ab9e9537bf0f25d5b (libata:\nupdate libata core layer to use devres), so I think it\u0027s time to finally\nget rid of this flag...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3696df309971b3427cb9cb039138a1732a865a0b",
      "tree": "334c7506273d2facf14abbdf42ed93e3da8cf615",
      "parents": [
        "c10f97b9d8df818e51e6073be1b96454630595c1"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:04:17 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_MMIO\n\nCommit 0d5ff566779f894ca9937231a181eb31e4adff0e (libata: convert to iomap)\nremoved all checks of ATA_FLAG_MMIO but neglected to remove the flag itself.\nDo it now, at last...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c10f97b9d8df818e51e6073be1b96454630595c1",
      "tree": "2837ef82cff20a04cb126a3eb06a01db8dcd76f7",
      "parents": [
        "0f2e0330a85d351b0300583da1e335690c86bdd7"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 04 22:03:34 2011 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:46 2011 -0500"
      },
      "message": "libata: remove ATA_FLAG_{SRST|SATA_RESET}\n\nThese flags are marked as obsolete and the checks for them have been removed\nby commit 294440887b32c58d220fb54b73b7a58079b78f20 (libata-sff: kill unused\nata_bus_reset()), so I think it\u0027s time to finally get rid of them...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "0e0b494ca8c54a7297d0cc549405091019b3b77e",
      "tree": "7d675c0ccae0763402585e91c38f1aa42818031c",
      "parents": [
        "c34aeebc06e8bdde93e8c8f40d9903b1aaab63c6"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 23 09:42:50 2011 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Mar 02 02:36:45 2011 -0500"
      },
      "message": "libata: separate error handler into usable components\n\nRight at the moment, the libata error handler is incredibly\nmonolithic.  This makes it impossible to use from composite drivers\nlike libsas and ipr which have to handle error themselves in the first\ninstance.\n\nThe essence of the change is to split the monolithic error handler\ninto two components: one which handles a queue of ata commands for\nprocessing and the other which handles the back end of readying a\nport.  This allows the upper error handler fine grained control in\ncalling libsas functions (and making sure they only get called for ATA\ncommands whose lower errors have been fixed up).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "450adcbe518ab3a3953d8475309525d22de77cba",
      "tree": "352fd47d75b86804e590fd88c09f953a798ba8b0",
      "parents": [
        "3e1f2356ce231488dc1fa844e5ce91bcb59fc2a1"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Tue Mar 01 13:40:54 2011 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Mar 01 13:41:53 2011 -0500"
      },
      "message": "blk-throttle: Do not use kblockd workqueue for throtl work\n\no Dominik Klein reported a system hang issue while doing some blkio\n  throttling testing.\n\n  https://lkml.org/lkml/2011/2/24/173\n\no Some tracing revealed that CFQ was not dispatching any more jobs as\n  queue unplug was not happening. And queue unplug was not happening\n  because unplug work was not being called as there was one throttling\n  work on same cpu which as not finished yet. And throttling work had not\n  finished as it was tyring to dispatch a bio to CFQ but all the request\n  descriptors were consume to it was put to sleep.\n\no So basically it is a cyclic dependecny between CFQ unplug work and\n  throtl dispatch work. Tejun suggested that use separate workqueue for\n  such cases.\n\no This patch uses a separate workqueue for throttle related work and\n  does not rely on kblockd workqueue anymore.\n\nCc: stable@kernel.org\nReported-by: Dominik Klein \u003cdk@in-telegence.net\u003e\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "af06216a8ef1c430cc6ad22b562f3a11a512c5dd",
      "tree": "8c258db7e165cc160a8c85c3d06afa5f1e07a063",
      "parents": [
        "dbc39ec4b69de34e2c2c937131649cc4a104283f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 01 01:12:19 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 28 18:00:31 2011 -0800"
      },
      "message": "ACPI: Fix build for CONFIG_NET unset\n\nSeveral ACPI drivers fail to build if CONFIG_NET is unset, because\nthey refer to things depending on CONFIG_THERMAL that in turn depends\non CONFIG_NET.  However, CONFIG_THERMAL doesn\u0027t really need to depend\non CONFIG_NET, because the only part of it requiring CONFIG_NET is\nthe netlink interface in thermal_sys.c.\n\nPut the netlink interface in thermal_sys.c under #ifdef CONFIG_NET\nand remove the dependency of CONFIG_THERMAL on CONFIG_NET from\ndrivers/thermal/Kconfig.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Luming Yu \u003cluming.yu@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c3343392172ba98d9d90a83edcc4c2e80897009",
      "tree": "7faca8ca7e3a986e925d47a715799f1fd9f0fd89",
      "parents": [
        "0f06c063628689de5eab5dfb3ce9c797a09db900"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Feb 28 11:02:24 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Feb 28 11:20:03 2011 +0100"
      },
      "message": "percpu: Generic support for this_cpu_cmpxchg_double()\n\nIntroduce this_cpu_cmpxchg_double().  this_cpu_cmpxchg_double() allows\nthe comparison between two consecutive words and replaces them if\nthere is a match.\n\n\tbool this_cpu_cmpxchg_double(pcp1, pcp2,\n\t\told_word1, old_word2, new_word1, new_word2)\n\nthis_cpu_cmpxchg_double does not return the old value (difficult since\nthere are two words) but a boolean indicating if the operation was\nsuccessful.\n\nThe first percpu variable must be double word aligned!\n\n-tj: Updated to return bool instead of int, converted size check to\n     BUILD_BUG_ON() instead of VM_BUG_ON() and other cosmetic changes.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3",
      "tree": "50141928db9f0ac1377dd8bb355d600232d6b38c",
      "parents": [
        "8eb90c30e0e815a1308828352eabd03ca04229dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:23 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 26 11:57:18 2011 +0100"
      },
      "message": "genirq: Provide forced interrupt threading\n\nAdd a commandline parameter \"threadirqs\" which forces all interrupts except\nthose marked IRQF_NO_THREAD to run threaded. That\u0027s mostly a debug option to\nallow retrieving better debug data from crashing interrupt handlers. If\n\"threadirqs\" is not enabled on the kernel command line, then there is no\nimpact in the interrupt hotpath.\n\nArchitecture code needs to select CONFIG_IRQ_FORCED_THREADING after\nmarking the interrupts which cant be threaded IRQF_NO_THREAD. All\ninterrupts which have IRQF_TIMER set are implict marked\nIRQF_NO_THREAD. Also all PER_CPU interrupts are excluded.\n\nForced threading hard interrupts also forces all soft interrupt\nhandling into thread context.\n\nWhen enabled it might slow down things a bit, but for debugging problems in\ninterrupt code it\u0027s a reasonable penalty as it does not immediately\ncrash and burn the machine when an interrupt handler is buggy.\n\nSome test results on a Core2Duo machine:\n\nCache cold run of:\n # time git grep irq_desc\n\n      non-threaded       threaded\n real 1m18.741s          1m19.061s\n user 0m1.874s           0m1.757s\n sys  0m5.843s           0m5.427s\n\n # iperf -c server\nnon-threaded\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\nthreaded\n[  3]  0.0-10.0 sec  1.09 GBytes   939 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   937 Mbits/sec\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.772668648@linutronix.de\u003e\n"
    },
    {
      "commit": "493f3358cb289ccf716c5a14fa5bb52ab75943e5",
      "tree": "86b5385a63281824908d59107066b1267f75a386",
      "parents": [
        "fe41947e1aa12e96a50edaee123b4e4de03b668b",
        "805bdaec1a44155db35f6ee5410d6bbc365324a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:15:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:15:17 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Make ACPI wakeup from S5 work again when CONFIG_PM_SLEEP is unset\n"
    },
    {
      "commit": "fe41947e1aa12e96a50edaee123b4e4de03b668b",
      "tree": "fe29db5a488a7bb175801102c3d9372c7e5bbe1d",
      "parents": [
        "99b0d365e5ade293c5fa25a9f1a49ac764656670"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Fri Feb 25 14:44:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 15:07:37 2011 -0800"
      },
      "message": "rapidio: fix sysfs config attribute to access 16MB of maint space\n\nFixes sysfs config attribute to allow access to entire 16MB maintenance\nspace of RapidIO devices.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Thomas Moll \u003cthomas.moll@sysgo.com\u003e\nCc: Micha Nelissen \u003cmicha@neli.hopto.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5",
      "tree": "0845c74ff325bee5dfc2db5c0ade08eb7dbb9ee7",
      "parents": [
        "9d591edd02a245305b1b9379e4c5571bad4d2774"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:18 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:22 2011 +0100"
      },
      "message": "genirq: Add IRQF_NO_THREAD\n\nSome low level interrupts cannot be threaded even when we force thread\nall interrupt handlers. Add a flag to annotate such interrupts. Add\nall timer interrupts to this category by default.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.578893460@linutronix.de\u003e\n"
    },
    {
      "commit": "b5faba21a6805c33b40e258d36f57997ee1de131",
      "tree": "c84ef3357ecd6e1b1cfda623136529db0e5fab6f",
      "parents": [
        "1204e95689f9fbd245a4ce5c1b0cd0a9b77f8d25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:13 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:21 2011 +0100"
      },
      "message": "genirq: Prepare the handling of shared oneshot interrupts\n\nFor level type interrupts we need to track how many threads are on\nflight to avoid useless interrupt storms when not all thread handlers\nhave finished yet. Keep track of the woken threads and only unmask\nwhen there are no more threads in flight.\n\nYes, I\u0027m lazy and using a bitfield. But not only because I\u0027m lazy, the\nmain reason is that it\u0027s way simpler than using a refcount. A refcount\nbased solution would need to keep track of various things like\ncrashing the irq thread, spurious interrupts coming in,\ndisables/enables, free_irq() and some more. The bitfield keeps the\ntracking simple and makes things just work. It\u0027s also nicely confined\nto the thread code pathes and does not require additional checks all\nover the place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.388095876@linutronix.de\u003e\n"
    },
    {
      "commit": "638691a7a46a4ae9a7b56c603299e42d7f6e722e",
      "tree": "f744b3fbdd4704ef9ae122b67a14785b4a7a6b65",
      "parents": [
        "0a93ea2e897bd793cc0aaaddc397eff32ac8d6fe",
        "f0b4f7e2f29af678bd9af43422c537dcb6008603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:13:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 25 11:13:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: Fix - again - partition detection when array becomes active\n  Fix over-zealous flush_disk when changing device size.\n  md: avoid spinlock problem in blk_throtl_exit\n  md: correctly handle probe of an \u0027mdp\u0027 device.\n  md: don\u0027t set_capacity before array is active.\n  md: Fix raid1-\u003eraid0 takeover\n"
    }
  ],
  "next": "805bdaec1a44155db35f6ee5410d6bbc365324a8"
}
