[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [linux-linus bisection] complete test-amd64-i386-xl-qemuu-debianhvm-amd64



branch xen-unstable
xen branch xen-unstable
job test-amd64-i386-xl-qemuu-debianhvm-amd64
test xen-boot

Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  linux 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
  Bug introduced:  c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337
  Bug not present: 58586869599f6bb38aeca71a847cd77bfea74808


  commit c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337
  Merge: 848a552 62d3ab4
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 13:06:38 2014 -0700

      Merge branch 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending

      Pull SCSI target updates from Nicholas Bellinger:
       "Here are the target updates for v3.18-rc2 code.  These where
        originally destined for -rc1, but due to the combination of travel
        last week for KVM Forum and my mistake of taking the three week merge
        window literally, the pull request slipped..  Apologies for that.

        Things where reasonably quiet this round.  The highlights include:

         - New userspace backend driver (target_core_user.ko) by Shaohua Li
           and Andy Grover
         - A number of cleanups in target, iscsi-taret and qla_target code
           from Joern Engel
         - Fix an OOPs related to queue full handling with CHECK_CONDITION
           status from Quinn Tran
         - Fix to disable TX completion interrupt coalescing in iser-target,
           that was causing problems on some hardware
         - Fix for PR APTPL metadata handling with demo-mode ACLs

        I'm most excited about the new backend driver that uses UIO + shared
        memory ring to dispatch I/O and control commands into user-space.
        This was probably the most requested feature by users over the last
        couple of years, and opens up a new area of development + porting of
        existing user-space storage applications to LIO.  Thanks to Shaohua +
        Andy for making this happen.

        Also another honorable mention, a new Xen PV SCSI driver was merged
        via the xen/tip.git tree recently, which puts us now at 10 target
        drivers in upstream! Thanks to David Vrabel + Juergen Gross for their
        work to get this code merged"

      * 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (40 commits)
        target/file: fix inclusive vfs_fsync_range() end
        iser-target: Disable TX completion interrupt coalescing
        target: Add force_pr_aptpl device attribute
        target: Fix APTPL metadata handling for dynamic MappedLUNs
        qla_target: don't delete changed nacls
        target/user: Recalculate pad size inside is_ring_space_avail()
        tcm_loop: Fixup tag handling
        iser-target: Fix smatch warning
        target/user: Fix up smatch warnings in tcmu_netlink_event
        target: Add a user-passthrough backstore
        target: Add documentation on the target userspace pass-through driver
        uio: Export definition of struct uio_device
        target: Remove unneeded check in sbc_parse_cdb
        target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
        qla_target: rearrange struct qla_tgt_prm
        qla_target: improve qlt_unmap_sg()
        qla_target: make some global functions static
        qla_target: remove unused parameter
        target: simplify core_tmr_abort_task
        target: encapsulate smp_mb__after_atomic()
        ...

  commit 848a552893ff1fe071c57231edcd179cf84ec4f8
  Merge: 43d451f 1fa3a00
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 12:53:45 2014 -0700

      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd

      Pull email address change from Boaz Harrosh.

      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        Boaz Harrosh - fix email in Documentation
        Boaz Harrosh - Fix broken email address
        MAINTAINERS: Change Boaz Harrosh's email

  commit 43d451f163c1b615c1bedef95258c49712679eeb
  Merge: 21d2271 9f3e3ca
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 11:21:19 2014 -0700

      Merge branch 'mailbox-for-linus' of 
git://git.linaro.org/landing-teams/working/fujitsu/integration

      Pull mailbox framework from Jassi Brar:
       "A framework for Mailbox controllers and clients have been cooking for
        more than a year now.

        Everybody in the CC list had been copied on patchset revisions and
        most of them have made sounds of approval, though just one concrete
        Reviewed-by.  The patchset has also been in linux-next for a couple of
        weeks now and no conflict has been reported.  The framework has the
        backing of at least 5 platforms, though I can't say if/when they
        upstream their drivers (some businesses have 'changed')"

      (Further acked-by by Arnd Bergmann and Suman Anna in the pull request
      thread)

      * 'mailbox-for-linus' of 
git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt: mailbox: add generic bindings
        doc: add documentation for mailbox framework
        mailbox: Introduce framework for mailbox
        mailbox: rename pl320-ipc specific mailbox.h

  commit 21d2271fd0812ebe3716cab0b48356837485a74d
  Merge: 045aaed 06980b2
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 08:24:55 2014 -0700

      Merge git://www.linux-watchdog.org/linux-watchdog

      Pull watchdog updates from Wim Van Sebroeck:
       - new Cadence WDT driver
       - new Ricoh RN5T618 watchdog
       - new DA9063 PMIC watchdog driver
       - new Meson WDT driver
       - add restart handling code
       - fixes and improvements

      * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
        watchdog: meson: remove magic value for reboot
        watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM
        watchdog: sunxi: Add A31 watchdog support
        watchdog: sunxi: support parameterized compatible strings
        watchdog: imx2_wdt: add restart handler support
        watchdog: qcom: register a restart notifier
        watchdog: s3c2410: add restart handler
        watchdog: dw_wdt: add restart handler support
        ARM: defconfig: update multi_v7_defconfig
        ARM: meson: add watchdog driver
        ARM: docs: add documentation binding for meson watchdog
        stmp3xxx_rtc_wdt: Add suspend/resume PM support
        watchdog: Add DA9063 PMIC watchdog driver.
        watchdog: add driver for Ricoh RN5T618 watchdog
        watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7
        watchdog: qcom: document device tree bindings
        watchdog: qcom: add support for KPSS WDT
        watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top()
        devicetree: Add Cadence WDT devicetree bindings documentation
        watchdog: Add Cadence WDT driver
        ...

  commit 045aaedab67bc3f2f01fe46917e0e17a6b5a7d5d
  Merge: 5b9c897 a4c84e6
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 08:18:38 2014 -0700

      Merge branch 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds

      Pull LED update from Bryan Wu:
       "Basically we have some bug fixing and clean up and one big thing is we
        start to merge patch to add support LED Flash class"

      * 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: gpio: cleanup the leds-gpio driver
        led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error.
        led: gpio: Sort include headers alphabetically
        leds: Improve and export led_update_brightness
        leds: trigger: gpio: fix warning in gpio trigger for gpios whose 
accessor function may sleep
        leds: lp3944: fix sparse warning
        leds: avoid using DEVICE_ATTR macro for max_brightness attribute
        leds: make brightness type consistent across whole subsystem
        leds: Reorder include directives

  commit 5b9c8972527fdb52d5cd7dadc9853c57430e0ff5
  Merge: 3d430bd dec02f9
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 08:17:43 2014 -0700

      Merge tag 'pwm/for-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm

      Pull pwm changes from Thierry Reding:
       "There are no new drivers here, only a couple of fixes all over the
        place"

      * tag 'pwm/for-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Let PWM_CLPS711X depend on HAS_IOMEM
        pwm: atmel: Fix calculation of prescale value
        pwm: Fix uninitialized warnings in pwm_get()
        pwm: rockchip: Allow polarity invert on rk3288
        pwm: imx: Avoid sample FIFO overflow for i.MX PWM version2
        pwm: imx: Cleanup indentation for register definitions
        pwm: imx: Fix the macro MX3_PWMCR_PRESCALER(x) definition
        pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error.
        pwm: lpss: make it buildable only on X86
        pwm: lpss: use c99 initializers in structures
        pwm: lpss: Fix build failure on PowerPC
        pwm: lpss: pci: Move to use pcim_enable_device()
        pwm: lpss: Properly split driver to parts
        pwm: lpss: Add ACPI and PCI IDs for Intel Braswell
        pwm: fsl-ftm: Select REGMAP_MMIO
        pwm: fsl-ftm: Document 'big-endian' property
        pwm: fsl-ftm: Convert to direct regmap API usage
        pwm: fsl-ftm: Clean up the code

  commit 3d430bdb74140224d90dd6253d67ff71d181cf64
  Merge: dc30340 5637208
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 07:50:02 2014 -0700

      Merge tag 'arc-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

      Pull ARC updates from Vineet Gupta:
       "Sorry for the late pull request.  Current stuff was ready for a while
        but I was hoping to squeeze in support for almost ready ARC SDP
        platform (and avoid a 2nd pull request), however it seems there are
        still some loose ends which warrant more time.

         - Platform code reduction/moving-up (TB10X no longer needs any
           callbacks)
         - updated boot printing
         - kgdb update for arc gdb 7.5
         - bug fixes (some marked for stable)
         - more code refactoring/consolidation"

      * tag 'arc-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: boot: cpu feature print enhancements
        ARC: boot: consolidate cross-checking of h/w and s/w
        ARC: unbork FPU save/restore
        ARC: remove extraneous __KERNEL__ guards
        ARC: Update order of registers in KGDB to match GDB 7.5
        ARC: Remove unneeded Kconfig entry NO_DMA
        ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG))
        ARC: refactoring: reduce the scope of some local vars
        ARC: remove gcc mpy heuristics
        ARC: RIP @running_on_hw
        ARC: Update comments about uncached address space
        ARC: rename kconfig option for unaligned emulation
        ARC: [nsimosci] Allow "headless" models to boot
        ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509
        ARC: [arcfpga] Remove more dead code
        ARC: [plat*] move code out of .init_machine into common
        ARC: [arcfpga] consolidate machine description, DT
        ARC: Allow SMP kernel to build/boot on UP-only infrastructure

  commit dc303408a716e865099fcb3f83a90d9c51184c02
  Merge: c4301c3 e89dafb
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 07:48:56 2014 -0700

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux

      Pull more powerpc updates from Michael Ellerman:
       "Here's some more updates for powerpc for 3.18.

        They are a bit late I know, though must are actually bug fixes.  In my
        defence I nearly cut the top of my finger off last weekend in a
        gruesome bike maintenance accident, so I spent a good part of the week
        waiting around for doctors.  True story, I can send photos if you like 
:)

        Probably the most interesting fix is the sys_call_table one, which
        enables syscall tracing for powerpc.  There's a fix for HMI handling
        for old firmware, more endian fixes for firmware interfaces, more EEH
        fixes, Anton fixed our routine that gets the current stack pointer,
        and a few other misc bits"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: 
(22 commits)
        powerpc: Only do dynamic DMA zone limits on platforms that need it
        powerpc: sync pseries_le_defconfig with pseries_defconfig
        powerpc: Add printk levels to setup_system output
        powerpc/vphn: NUMA node code expects big-endian
        powerpc/msi: Use WARN_ON() in msi bitmap selftests
        powerpc/msi: Fix the msi bitmap alignment tests
        powerpc/eeh: Block CFG upon frozen Shiner adapter
        powerpc/eeh: Don't collect logs on PE with blocked config space
        powerpc/eeh: Block PCI config access upon frozen PE
        powerpc/pseries: Drop config requests in EEH accessors
        powerpc/powernv: Drop config requests in EEH accessors
        powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED
        powerpc/eeh: Fix condition for isolated state
        powerpc/pseries: Make CPU hotplug path endian safe
        powerpc/pseries: Use dump_stack instead of show_stack
        powerpc: Rename __get_SP() to current_stack_pointer()
        powerpc: Reimplement __get_SP() as a function not a define
        powerpc/numa: Add ability to disable and debug topology updates
        powerpc/numa: check error return from proc_create
        powerpc/powernv: Fallback to old HMI handling behavior for old firmware
        ...

  commit c4301c32663438afb8eac96db01944ad95c00260
  Merge: c2661b8 d6fe5be
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 21 07:47:54 2014 -0700

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

      Pull s390 updates from Martin Schwidefsky:
       "One patch to enable the BPF system call and three more bug fixes"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/uprobes: fix kprobes dependency
        s390: wire up bpf syscall
        s390/mm: fixing calls of pte_unmap_unlock
        s390/hmcdrv: Restrict s390 HMC driver to S390 arch

  commit 06980b24cf9bfcc753a07ee362976169bb869869
  Author: Carlo Caione <carlo@xxxxxxxxxx>
  Date:   Thu Oct 9 21:59:16 2014 +0200

      watchdog: meson: remove magic value for reboot

      This patch removes the magic value used for rebooting the board. This
      value is useless and leads to a static checker warning as reported by
      Dan Carpenter.

      Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 71fd380a6b87f384002feceda39fd670ede7ea5f
  Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
  Date:   Sun Oct 5 09:28:33 2014 +0800

      watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM

      They need HAS_IOMEM, so let them depend on it, the related error (with
      allmodconfig under um):

          MODPOST 1205 modules
        ERROR: "devm_ioremap_resource" [drivers/watchdog/tegra_wdt.ko] 
undefined!
        ERROR: "devm_ioremap_resource" [drivers/watchdog/of_xilinx_wdt.ko] 
undefined!

      Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit c5ec618fbf83045b9d51679d809ddd45f990fe0a
  Author: Chen-Yu Tsai <wens@xxxxxxxx>
  Date:   Mon Sep 22 00:05:19 2014 +0800

      watchdog: sunxi: Add A31 watchdog support

      This patch adds support for the watchdog hardware found in A31 and
      newer SoCs. This new hardware has registers at different offsets, and
      the system reset control has been split out of the "mode" register
      into a new "configuration" register.

      Differences not supported by this driver include separate interrupt
      lines for each watchdog, instead of sharing an interrupt line and
      registers with the timer block.

      Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit f2147de334703c7c44372f013d7d466d756e6943
  Author: Chen-Yu Tsai <wens@xxxxxxxx>
  Date:   Mon Sep 22 00:05:18 2014 +0800

      watchdog: sunxi: support parameterized compatible strings

      This patch adds support for hardware parameters tied to compatible
      strings, so similar hardware can reuse the driver.

      This will be used to support the newer watchdog found in A31 and
      later SoCs. Differences in the new hardware include separate
      interrupt lines for each watchdog, and corresponding interrupt
      control/status registers. Watchdog control registers were also
      slightly rearranged.

      Also replace ioread32()/iowrite32() with readl()/writel() in various
      places changed.

      Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
      Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Acked-by: Heiko Stuebner <heiko@xxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

  commit 334a9d8131254e06685b2af0c0f3cc7b3ec5bd04
  Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx>
  Date:   Fri Sep 12 15:24:36 2014 +0800

      watchdog: imx2_wdt: add restart handler support

        Register the watchdog as the system restart function
      to the new introducing kernel restart call chain in the
      driver instead of providing the restart in machine desc.
        This restart handler function is from the mxc_restart()
      in arch/arm/mach-imx/system.c

      Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 05e487d905ab29b5756d6d1e47e27eefa6693fb3
  Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
  Date:   Thu Sep 25 17:51:04 2014 -0500

      watchdog: qcom: register a restart notifier

      The WDT's BITE_TIME warm-reset behavior can be leveraged as a last
      resort mechanism for triggering chip reset.  Usually, other restart
      methods (such as PS_HOLD) are preferrable for issuing a more complete
      reset of the chip.  As such, keep the priority of the watchdog notifier
      low.

      Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit f286e1335f579dfd970c7fc3f62b248773a47a5c
  Author: Heiko Stuebner <heiko@xxxxxxxxx>
  Date:   Tue Aug 19 17:45:36 2014 -0700

      watchdog: s3c2410: add restart handler

      On a lot of Samsung systems the watchdog is responsible for restarting the
      system and until now this code was contained in 
plat-samsung/watchdog-reset.c.

      With the introduction of the restart handlers, this code can now move into
      driver itself, removing the need for arch-specific code.

      Tested on a S3C2442 based GTA02

      Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx>
      Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

  commit 31228f43ab528628c9b5f1351604361aa1d78533
  Author: Jisheng Zhang <jszhang@xxxxxxxxxxx>
  Date:   Tue Sep 23 15:42:12 2014 +0800

      watchdog: dw_wdt: add restart handler support

      The kernel core now provides an API to trigger a system restart.
      Register with it to support restarting the system via. watchdog.

      Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 69a160a0543fd569661048a8692c10afcdb1914b
  Author: Carlo Caione <carlo@xxxxxxxxxx>
  Date:   Sat Sep 20 19:06:52 2014 +0200

      ARM: defconfig: update multi_v7_defconfig

      Update the multi_v7_defconfig enabling the watchdog driver for Meson
      SoCs.

      Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 22e1b8f60f913cf71e688af9b64317b515303f4c
  Author: Carlo Caione <carlo@xxxxxxxxxx>
  Date:   Sat Sep 20 19:06:50 2014 +0200

      ARM: meson: add watchdog driver

      This patch adds the watchdog driver for the Amlogic Meson SoCs used also
      to reboot the device.

      Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 0c5691f00879cacf98a31b873c02d71c66d72855
  Author: Carlo Caione <carlo@xxxxxxxxxx>
  Date:   Sat Sep 20 19:06:49 2014 +0200

      ARM: docs: add documentation binding for meson watchdog

      Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 3281b85c8697938e344d67144ca8ba520fa54d2b
  Author: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx>
  Date:   Mon Sep 22 22:55:47 2014 +0200

      stmp3xxx_rtc_wdt: Add suspend/resume PM support

      There is no conflict with rtc/rtc-stmp3xxx.c parent
      because modified registers in PM functions of stmp3xxx_rtc_wdt
      are different.

      Signed-off-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 5e9c16e3760893b3721f599f180795ca7160afef
  Author: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx>
  Date:   Sun Sep 28 19:05:45 2014 +0200

      watchdog: Add DA9063 PMIC watchdog driver.

      This driver supports the watchdog device inside the DA9063 PMIC.

      Signed-off-by: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx>
      Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
      Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
      Acked-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx>
      Tested-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 22b1c841e31510c3124c88a13b8a7ada14e2e2d1
  Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
  Date:   Mon Sep 29 00:39:47 2014 +0200

      watchdog: add driver for Ricoh RN5T618 watchdog

      This adds a driver for the watchdog timer available in Ricoh RN5T618
      PMIC. The device supports a programmable expiration time of 1, 8, 32
      or 128 seconds.

      Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 2b9366b669679f1388457ec5a62f9dd1d0a78b08
  Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx>
  Date:   Wed Aug 27 15:17:11 2014 +0530

      watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7

      Exynos7 SoC has a Watchdog for Atlas (A57) cores
      This patch adds support for the Atlas watchdog.

      Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 7c92c3d58429c38557ffd7e6a69dc97522335454
  Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
  Date:   Thu Sep 25 17:51:03 2014 -0500

      watchdog: qcom: document device tree bindings

      The Qualcomm Krait Processor Sub-system (KPSS) contains one or more
      instances of the WDT.  Provide documentation on how to describe these in
      the device tree.

      Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 1094ebe9d1e1dde0754ff8cede16159fb20b2f3b
  Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
  Date:   Thu Sep 25 17:51:02 2014 -0500

      watchdog: qcom: add support for KPSS WDT

      Add a driver for the watchdog timer block found in the Krait Processor
      Subsystem (KPSS) on the MSM8960, APQ8064, and IPQ8064.

      Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit dfa07141e7a792aecf98a8a99dd40df0bf91bce2
  Author: Jisheng Zhang <jszhang@xxxxxxxxxxx>
  Date:   Tue Sep 23 15:42:11 2014 +0800

      watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top()

      The TOP_INIT, ie bit 4-7 of the WDOG_TIMEOUT_RANGE_REG_OFFSET register
      may be zero, so the timeout period may be very short after initialization
      is done, thus the system may be reset soon after enabling. We fix this
      problem by also initialising the TOP_INIT when setting TOP in function
      dw_wdt_set_top().

      Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 191891c0378f44aec8e06e889a08d0b76fe6c5cb
  Author: Harini Katakam <harinik@xxxxxxxxxx>
  Date:   Fri Aug 22 14:58:02 2014 +0530

      devicetree: Add Cadence WDT devicetree bindings documentation

      Add cadence-wdt bindings documentation.

      Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 58bf016426594e5370e7e7059698a278294db997
  Author: Harini Katakam <harinik@xxxxxxxxxx>
  Date:   Fri Aug 22 14:58:01 2014 +0530

      watchdog: Add Cadence WDT driver

      Add Cadence WDT driver. This is used by Xilinx Zynq.

      Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 4846e3784585173f48e267b76f968bcb4a12d3b2
  Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
  Date:   Tue Sep 9 22:18:31 2014 +0200

      watchdog: simplify definitions of WATCHDOG_NOWAYOUT(_INIT_STATUS)?

      Signed-off-by: Uwe Kleine-K=C3=B6nig <u.kleine-koenig@xxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 0461aea7ec379b00f4acb5d612bfb2f7a497eb92
  Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
  Date:   Mon Aug 18 16:12:50 2014 +0800

      watchdog: imx2_wdt: Convert to use regmap framework's endianness method.

      Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 1f897a81915222310374cac1a85c0c7104f16249
  Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
  Date:   Tue Aug 19 14:57:12 2014 +0300

      watchdog: ts72xx_wdt: Kill superfluous variable in remove

      There is no need to store the return value of misc_deregister() in a
      variable. Instead we can just return the value directly.

      Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit 62ce25439a7ea01eba5c2a6a8284e4aa23890042
  Author: Pranith Kumar <bobby.prani@xxxxxxxxx>
  Date:   Wed Aug 20 15:26:46 2014 -0400

      powerpc: booke_wdt: Fix build error as a module

      Building booke_wdt fails when trying to build as a module as there is no
      early_param() in module. Fix by using module_param() instead of 
early_param().

      Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit fca8c0481bc8d751479ca13f454e89a7fdfece03
  Author: Michal Simek <michal.simek@xxxxxxxxxx>
  Date:   Wed Aug 13 13:51:28 2014 +0200

      watchdog: xilinx: Remove .owner field for driver

      There is no need to init .owner field.

      Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx>
      "mmc: remove .owner field for drivers using module_platform_driver"

      This patch removes the superflous .owner field for drivers which
      use the module_platform_driver API, as this is overriden in
      platform_driver_register anyway."

      Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
      Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx>

  commit c2661b806092d8ea2dccb7b02b65776555e0ee47
  Merge: f114040 813d32f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 20 09:50:11 2014 -0700

      Merge tag 'ext4_for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

      Pull ext4 updates from Ted Ts'o:
       "A large number of cleanups and bug fixes, with some (minor) journal
        optimizations"

      [ This got sent to me before -rc1, but was stuck in my spam folder.   - 
Linus ]

      * tag 'ext4_for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (67 commits)
        ext4: check s_chksum_driver when looking for bg csum presence
        ext4: move error report out of atomic context in 
ext4_init_block_bitmap()
        ext4: Replace open coded mdata csum feature to helper function
        ext4: delete useless comments about ext4_move_extents
        ext4: fix reservation overflow in ext4_da_write_begin
        ext4: add ext4_iget_normal() which is to be used for dir tree lookups
        ext4: don't orphan or truncate the boot loader inode
        ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT
        ext4: optimize block allocation on grow indepth
        ext4: get rid of code duplication
        ext4: fix over-defensive complaint after journal abort
        ext4: fix return value of ext4_do_update_inode
        ext4: fix mmap data corruption when blocksize < pagesize
        vfs: fix data corruption when blocksize < pagesize for mmaped data
        ext4: fold ext4_nojournal_sops into ext4_sops
        ext4: support freezing ext2 (nojournal) file systems
        ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs()
        ext4: don't check quota format when there are no quota files
        jbd2: simplify calling convention around 
__jbd2_journal_clean_checkpoint_list
        jbd2: avoid pointless scanning of checkpoint lists
        ...

  commit dec02f98ae2e341a2e0bb25f27e84867e5f9f64a
  Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
  Date:   Sat Oct 4 17:48:42 2014 +0800

      pwm: Let PWM_CLPS711X depend on HAS_IOMEM

      PWM_CLPS711X needs HAS_IOMEM, so depend on it, the related error (with
      allmodconfig under um):

          MODPOST 1205 modules
        ERROR: "devm_ioremap_resource" [drivers/pwm/pwm-clps711x.ko] undefined!
        ERROR: "devm_ioremap" [drivers/net/phy/mdio-bcm-unimac.ko] undefined!

      Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
      Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx>

  commit f114040e3ea6e07372334ade75d1ee0775c355e1
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 18:08:38 2014 -0700

      Linux 3.18-rc1

  commit 4d3639ac3c11afc8fdcb28f95916ef4b21c3fa36
  Merge: ab074ad 5776451
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 17:43:06 2014 -0700

      Merge tag 'arm-soc-fixes-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

      Pull ARM SoC fixes from Olof Johansson:
       "A batch of fixes that have come in during the merge window.

        Some of them are defconfig updates for things that have now landed,
        some errata additions and a few general scattered fixes.

        There's also a qcom DT update that adds support for SATA on AP148, and
        basic support for Sony Xperia Z1 and CM-QS600 platforms that seemed
        isolated enough that we could merge it even if it's late"

      * tag 'arm-soc-fixes-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: corrected bcm2835 search
        ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
        ARM: dts: Explicitly set dr_mode on exynos Peach boards
        ARM: dts: qcom: add CM-QS600 board
        ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
        ARM: dts: qcom: Add SATA support on IPQ8064/AP148
        MAINTAINERS: Update Santosh Shilimkar's email id
        ARM: sunxi_defconfig: enable CONFIG_REGULATOR
        ARM: dts: Disable smc91x on n900 until bootloader dependency is removed
        ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3
        ARM: exynos_defconfig: enable USB gadget support
        ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers
        ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops
        ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n
        ARM: SAMSUNG: Restore Samsung PM Debug functionality
        ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12
        ARM: exynos_defconfig: Enable SBS battery support
        ARM: exynos_defconfig: Enable Control Groups support
        ARM: exynos_defconfig: Enable Atmel maXTouch support
        ARM: exynos_defconfig: Enable MAX77802

  commit ab074ade9c33b3585da86d62e87bcb3e897a3f54
  Merge: 61ed53d 2991dd2
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 16:25:56 2014 -0700

      Merge git://git.infradead.org/users/eparis/audit

      Pull audit updates from Eric Paris:
       "So this change across a whole bunch of arches really solves one basic
        problem.  We want to audit when seccomp is killing a process.  seccomp
        hooks in before the audit syscall entry code.  audit_syscall_entry
        took as an argument the arch of the given syscall.  Since the arch is
        part of what makes a syscall number meaningful it's an important part
        of the record, but it isn't available when seccomp shoots the
        syscall...

        For most arch's we have a better way to get the arch (syscall_get_arch)
        So the solution was two fold: Implement syscall_get_arch() everywhere
        there is audit which didn't have it.  Use syscall_get_arch() in the
        seccomp audit code.  Having syscall_get_arch() everywhere meant it was
        a useless flag on the stack and we could get rid of it for the typical
        syscall entry.

        The other changes inside the audit system aren't grand, fixed some
        records that had invalid spaces.  Better locking around the task comm
        field.  Removing some dead functions and structs.  Make some things
        static.  Really minor stuff"

      * git://git.infradead.org/users/eparis/audit: (31 commits)
        audit: rename audit_log_remove_rule to disambiguate for trees
        audit: cull redundancy in audit_rule_change
        audit: WARN if audit_rule_change called illegally
        audit: put rule existence check in canonical order
        next: openrisc: Fix build
        audit: get comm using lock to avoid race in string printing
        audit: remove open_arg() function that is never used
        audit: correct AUDIT_GET_FEATURE return message type
        audit: set nlmsg_len for multicast messages.
        audit: use union for audit_field values since they are mutually 
exclusive
        audit: invalid op= values for rules
        audit: use atomic_t to simplify audit_serial()
        kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
        audit: reduce scope of audit_log_fcaps
        audit: reduce scope of audit_net_id
        audit: arm64: Remove the audit arch argument to audit_syscall_entry
        arm64: audit: Add audit hook in syscall_trace_enter/exit()
        audit: x86: drop arch from __audit_syscall_entry() interface
        sparc: implement is_32bit_task
        sparc: properly conditionalize use of TIF_32BIT
        ...

  commit 57764512cef5d67623b6ac0a966761f5bbc43aa0
  Merge: e29c648 7dac24b
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Sun Oct 19 13:39:08 2014 -0700

      Merge tag 'qcom-dt-for-3.18-3' of 
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into fixes

      Merge "qcom DT changes for v3.18-3" from Kumar Gala:

      Qualcomm ARM Based Device Tree Updates for v3.18-3

      * Added Board support for CM-QS600 and Sony Xperia Z1 phone
      * Added SATA support on IPQ8064/AP148

      * tag 'qcom-dt-for-3.18-3' of 
git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
        ARM: dts: qcom: add CM-QS600 board
        ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
        ARM: dts: qcom: Add SATA support on IPQ8064/AP148

  commit e29c64865f6c7eeb98f7c6e2371f1100101f7562
  Merge: 9209bec 4e03394
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Sun Oct 19 13:34:52 2014 -0700

      Merge tag 'samsung-fixes-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

      Pull more fixes from Kukjin Kim:

      2nd Samsung fixes for v3.18
      - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit
        and exynos5420-arndale-octa boards, because the USB dwc3 controller
        will not work properly without dr_mode as host on above boards if
        the USB host and gadget are enabled in kernel configuration both.

      * tag 'samsung-fixes-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
        ARM: dts: Explicitly set dr_mode on exynos Peach boards

      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 9209bec4f8112928c796f70400a23d1f44469631
  Author: Scott Branden <sbranden@xxxxxxxxxxxx>
  Date:   Thu Oct 16 21:57:16 2014 -0600

      MAINTAINERS: corrected bcm2835 search

      Corrected bcm2835 maintainer info by using N: to specify any files with
      bcm2835 in are directed to the proper maintainer.
      Also corrected minor mispelling of ARCHITECTURE in 2 comment locations.

      Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx>
      Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx>
      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 61ed53deb1c6a4386d8710dbbfcee8779c381931
  Merge: 278f1d0 ab760a0
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 12:58:22 2014 -0700

      Merge tag 'ntb-3.18' of git://github.com/jonmason/ntb

      Pull ntb (non-transparent bridge) updates from Jon Mason:
       "Add support for Haswell NTB split BARs, a debugfs entry for basic
        debugging info, and some code clean-ups"

      * tag 'ntb-3.18' of git://github.com/jonmason/ntb:
        ntb: Adding split BAR support for Haswell platforms
        ntb: use errata flag set via DID to implement workaround
        ntb: conslidate reading of PPD to move platform detection earlier
        ntb: move platform detection to separate function
        NTB: debugfs device entry

  commit 278f1d0730f4d0acdfc64256ad9b1066d0f3ab57
  Merge: d590c6c 3e27a84
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 12:50:44 2014 -0700

      Merge branch 'i2c/for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

      Pull i2c updates from Wolfram Sang:
       "Highlights from the I2C subsystem for 3.18:

         - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC.

         - designware driver gained AMD support, exynos gained exynos7 support

        The rest is usual driver stuff.  Hopefully no lowlights this time"

      * 'i2c/for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Add Device IDs for Intel Sunrise Point PCH
        i2c: hix5hd2: add i2c controller driver
        i2c-imx: Disable the clock on probe failure
        i2c: designware: Add support for AMD I2C controller
        i2c: designware: Rework probe() to get clock a bit later
        i2c: designware: Default to fast mode in case of ACPI
        i2c: axxia: Add I2C driver for AXM55xx
        i2c: exynos: add support for HSI2C module on Exynos7
        i2c: mxs: detect No Slave Ack on SELECT in PIO mode
        i2c: cros_ec: Remove EC_I2C_FLAG_10BIT
        i2c: cros-ec-tunnel: Add of match table
        i2c: rcar: remove sign-compare flaw
        i2c: ismt: Use minimum descriptor size
        i2c: imx: Add arbitration lost check
        i2c: rk3x: Remove unlikely() annotations
        i2c: rcar: check for no IRQ in rcar_i2c_irq()
        i2c: rcar: make rcar_i2c_prepare_msg() *void*
        i2c: rcar: simplify check for last message
        i2c: designware: add support of platform data to set I2C mode
        i2c: designware: add support of I2C standard mode

  commit d590c6cdd96c8a254e7935ad12f65e4058c95a1b
  Merge: fb378df c8b00fd
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 12:45:36 2014 -0700

      Merge tag 'sound-fix-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

      Pull sound fixes from Takashi Iwai:
       "Here are a collection of small fixes after 3.18 merge.

        The urgent one is the fix for kernel panics with linked PCM substream
        triggered by the recent nonatomic PCM ops support.  Other two fixes
        (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for
        a new Intel HD-audio controller"

      * tag 'sound-fix-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH
        ALSA: emu10k1: Fix deadlock in synth voice lookup
        ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop
        ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88

  commit fb378df57d5c0e92e935893b81be168897632374
  Merge: 2eb7f91 4dfb15c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 12:40:24 2014 -0700

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

      Pull second round of input updates from Dmitry Torokhov:
       "Mostly simple bug fixes, although we do have one brand new driver for
        Microchip AR1021 i2c touchscreen.

        Also there is the change to stop trying to use i8042 active
        multiplexing by default (it is still possible to activate it via
        i8042.nomux=0 on boxes that implement it)"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: xpad - add Thrustmaster as Xbox 360 controller vendor
        Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel
        Input: max77693-haptic - fix state check in imax77693_haptic_disable()
        Input: xen-kbdfront - free grant table entry in 
xenkbd_disconnect_backend
        Input: alps - fix v4 button press recognition
        Input: i8042 - disable active multiplexing by default
        Input: i8042 - add noloop quirk for Asus X750LN
        Input: synaptics - gate forcepad support by DMI check
        Input: Add Microchip AR1021 i2c touchscreen
        Input: cros_ec_keyb - add of match table
        Input: serio - avoid negative serio device numbers
        Input: avoid negative input device numbers
        Input: automatically set EV_ABS bit in input_set_abs_params
        Input: adp5588-keys - cancel workqueue in failure path
        Input: opencores-kbd - switch to using managed resources
        Input: evdev - fix EVIOCG{type} ioctl

  commit 2eb7f910c158fd675ab33aff67904512779996e8
  Merge: 1f6075f 7b909bb
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 12:29:23 2014 -0700

      Merge tag 'rdma-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

      Pull infiniband/RDMA updates from Roland Dreier:
       - large set of iSER initiator improvements
       - hardware driver fixes for cxgb4, mlx5 and ocrdma
       - small fixes to core midlayer

      * tag 'rdma-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (47 commits)
        RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line
        RDMA/cxgb4: Add missing neigh_release in find_route
        RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss
        RDMA/cxgb4: Make c4iw_wr_log_size_order static
        IB/core: Fix XRC race condition in ib_uverbs_open_qp
        IB/core: Clear AH attr variable to prevent garbage data
        RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis
        RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it
        RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc()
        RDMA/ocrdma: Remove a unused-label warning
        RDMA/ocrdma: Convert kernel VA to PA for mmap in user
        RDMA/ocrdma: Get vlan tag from ib_qp_attrs
        RDMA/ocrdma: Add default GID at index 0
        IB/mlx5, iser, isert: Add Signature API additions
        Target/iser: Centralize ib_sig_domain setting
        IB/iser: Centralize ib_sig_domain settings
        IB/mlx5: Use extended internal signature layout
        IB/iser: Set IP_CSUM as default guard type
        IB/iser: Remove redundant assignment
        IB/mlx5: Use enumerations for PI copy mask
        ...

  commit 1f6075f99073a8b5ec9649ae8c0bf2e06fdd42f1
  Merge: 5e2ee7c 3b10ea7
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 11:55:41 2014 -0700

      Merge branch 'perf-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull more perf updates from Ingo Molnar:
       "A second (and last) round of late coming fixes and changes, almost all
        of them in perf tooling:

        User visible tooling changes:

         - Add period data column and make it default in 'perf script' (Jiri
           Olsa)

         - Add a visual cue for toggle zeroing of samples in 'perf top'
           (Taeung Song)

         - Improve callchains when using libunwind (Namhyung Kim)

        Tooling fixes and infrastructure changes:

         - Fix for double free in 'perf stat' when using some specific invalid
           command line combo (Yasser Shalabi)

         - Fix off-by-one bugs in map->end handling (Stephane Eranian)

         - Fix off-by-one bug in maps__find(), also related to map->end
           handling (Namhyung Kim)

         - Make struct symbol->end be the first addr after the symbol range,
           to make it match the convention used for struct map->end.  (Arnaldo
           Carvalho de Melo)

         - Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat
           live' (Jiri Olsa)

         - Fix python test build by moving callchain_param to an object linked
           into the python binding (Jiri Olsa)

         - Document sysfs events/ interfaces (Cody P Schafer)

         - Fix typos in perf/Documentation (Masanari Iida)

         - Add missing 'struct option' forward declaration (Arnaldo Carvalho
           de Melo)

         - Add option to copy events when queuing for sorting across cpu
           buffers and enable it for 'perf kvm stat live', to avoid having
           events left in the queue pointing to the ring buffer be rewritten
           in high volume sessions.  (Alexander Yarygin, improving work done
           by David Ahern):

         - Do not include a struct hists per perf_evsel, untangling the
           histogram code from perf_evsel, to pave the way for exporting a
           minimalistic tools/lib/api/perf/ library usable by tools/perf and
           initially by the rasd daemon being developed by Borislav Petkov,
           Robert Richter and Jean Pihet.  (Arnaldo Carvalho de Melo)

         - Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and
           thread maps mean syswide monitoring, reducing the boilerplate for
           tools that only want system wide mode.  (Arnaldo Carvalho de Melo)

         - Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete
           should be just a front end for exit + free (Arnaldo Carvalho de
           Melo)

         - Add support to new style format of kernel PMU event.  (Kan Liang)

        and other misc fixes"

      * 'perf-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
        perf script: Add period as a default output column
        perf script: Add period data column
        perf evsel: No need to drag util/cgroup.h
        perf evlist: Add missing 'struct option' forward declaration
        perf evsel: Move exit stuff from __delete to __exit
        kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define
        perf kvm stat live: Enable events copying
        perf session: Add option to copy events when queueing
        perf Documentation: Fix typos in perf/Documentation
        perf trace: Use thread_{,_set}_priv helpers
        perf kvm: Use thread_{,_set}_priv helpers
        perf callchain: Create an address space per thread
        perf report: Set callchain_param.record_mode for future use
        perf evlist: Fix for double free in tools/perf stat
        perf test: Add test case for pmu event new style format
        perf tools: Add support to new style format of kernel PMU event
        perf tools: Parse the pmu event prefix and suffix
        Revert "perf tools: Default to cpu// for events v5"
        perf Documentation: Remove Ruplicated docs for powerpc cpu specific 
events
        perf Documentation: sysfs events/ interfaces
        ...

  commit 5e2ee7cd58fcee6c6cc954642faa584f54c8391e
  Merge: e25b492 e265314
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 11:46:09 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

      Pull sparc fixes from David Miller:
       "Here we have two bug fixes:

        1) The current thread's fault_code is not setup properly upon entry to
           do_sparc64_fault() in some paths, leading to spurious SIGBUS.

        2) Don't use a zero length array at the end of thread_info on sparc64,
           otherwise end_of_stack() isn't right"

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Do not define thread fpregs save area as zero-length array.
        sparc64: Fix corrupted thread fault code.

  commit e25b492741373542fb593477547fcf7a6b7d8b04
  Merge: 52d589a 228b16c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 11:41:57 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

      Pull networking fixes from David Miller:
       "A quick batch of bug fixes:

        1) Fix build with IPV6 disabled, from Eric Dumazet.

        2) Several more cases of caching SKB data pointers across calls to
           pskb_may_pull(), thus referencing potentially free'd memory.  From
           Li RongQing.

        3) DSA phy code tests operation presence improperly, instead of going:

              if (x->ops->foo)
                      r = x->ops->foo(args);

           it was going:

              if (x->ops->foo(args))
                      r = x->ops->foo(args);

         Fix from Andew Lunn"

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        Net: DSA: Fix checking for get_phy_flags function
        ipv6: fix a potential use after free in sit.c
        ipv6: fix a potential use after free in ip6_offload.c
        ipv4: fix a potential use after free in gre_offload.c
        tcp: fix build error if IPv6 is not enabled

  commit 1fa3a002b2546c42c343c77c144871285896ced5
  Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 20:36:36 2014 +0300

      Boaz Harrosh - fix email in Documentation

      I forgot to update Documentation/*.txt

      Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>

  commit aa281ac631008b9c18c405c8880007789f659c7d
  Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 19:38:58 2014 +0300

      Boaz Harrosh - Fix broken email address

      I no longer have access to the Panasas email.
      So change to an email that can always reach me.

      Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>

  commit fadc07522c3ce65c4d1c69a9284605a07aea1be8
  Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>
  Date:   Sun Oct 19 19:19:57 2014 +0300

      MAINTAINERS: Change Boaz Harrosh's email

      I have moved on, and do no longer have Panasas email access.
      Update to an email that can reach me.

      So change bharrosh@xxxxxxxxxxx => ooo@xxxxxxxxxxxxxxx

      Explain of email address:
      * electrozaur.com is a domain owned by me.
      * ooo - Stands for Open Osd . Org

      Another email alias that can be used is:
        openosd@xxxxxxxxx

      CC: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx>

  commit 228b16cb13dfa2f77354a9b144a07e86e2dda01c
  Author: Andrew Lunn <andrew@xxxxxxx>
  Date:   Sun Oct 19 16:41:47 2014 +0200

      Net: DSA: Fix checking for get_phy_flags function

      The check for the presence or not of the optional switch function
      get_phy_flags() called the function, rather than checked to see if it
      is a NULL pointer. This causes a derefernce of a NULL pointer on all
      switch chips except the sf2, the only switch to implement this call.

      Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
      Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify 
phy_device::dev_flags")
      Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e2653143d7d79a49f1a961aeae1d82612838b12c
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Sat Oct 18 23:12:33 2014 -0400

      sparc64: Do not define thread fpregs save area as zero-length array.

      This breaks the stack end corruption detection facility.

      What that facility does it write a magic value to "end_of_stack()"
      and checking to see if it gets overwritten.

      "end_of_stack()" is "task_thread_info(p) + 1", which for sparc64 is
      the beginning of the FPU register save area.

      So once the user uses the FPU, the magic value is overwritten and the
      debug checks trigger.

      Fix this by making the size explicit.

      Due to the size we use for the fpsaved[], gsr[], and xfsr[] arrays we
      are limited to 7 levels of FPU state saves.  So each FPU register set
      is 256 bytes, allocate 256 * 7 for the fpregs area.

      Reported-by: Meelis Roos <mroos@xxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 84bd6d8b9c0f06b3f188efb479c77e20f05e9a8a
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Sat Oct 18 23:03:09 2014 -0400

      sparc64: Fix corrupted thread fault code.

      Every path that ends up at do_sparc64_fault() must install a valid
      FAULT_CODE_* bitmask in the per-thread fault code byte.

      Two paths leading to the label winfix_trampoline (which expects the
      FAULT_CODE_* mask in register %g4) were not doing so:

      1) For pre-hypervisor TLB protection violation traps, if we took
         the 'winfix_trampoline' path we wouldn't have %g4 initialized
         with the FAULT_CODE_* value yet.  Resulting in using the
         TLB_TAG_ACCESS register address value instead.

      2) In the TSB miss path, when we notice that we are going to use a
         hugepage mapping, but we haven't allocated the hugepage TSB yet, we
         still have to take the window fixup case into consideration and
         in that particular path we leave %g4 not setup properly.

      Errors on this sort were largely invisible previously, but after
      commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 ("sparc64: sun4v TLB
      error power off events") we now have a fault_code mask bit
      (FAULT_CODE_BAD_RA) that triggers due to this bug.

      FAULT_CODE_BAD_RA triggers because this bit is set in TLB_TAG_ACCESS
      (see #1 above) and thus we get seemingly random bus errors triggered
      for user processes.

      Fixes: 4ccb9272892c ("sparc64: sun4v TLB error power off events")
      Reported-by: Meelis Roos <mroos@xxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 52d589a01d4545ce1dc5c3892bb8c7b55edfe714
  Merge: 0a58282 6b997ba
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 18:11:04 2014 -0700

      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma

      Pull slave-dmaengine updates from Vinod Koul:
       "For dmaengine contributions we have:
         - designware cleanup by Andy
         - my series moving device_control users to dmanegine_xxx APIs for
           later removal of device_control API
         - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma
           etc"

      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 
commits)
        serial: atmel: add missing dmaengine header
        dmaengine: remove FSLDMA_EXTERNAL_START
        dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method
        carma-fpga: move to fsl_dma_external_start()
        carma-fpga: use dmaengine_xxx() API
        dmaengine: freescale: add and export fsl_dma_external_start()
        dmaengine: add dmaengine_prep_dma_sg() helper
        video: mx3fb: use dmaengine_terminate_all() API
        serial: sh-sci: use dmaengine_terminate_all() API
        net: ks8842: use dmaengine_terminate_all() API
        mtd: sh_flctl: use dmaengine_terminate_all() API
        mtd: fsmc_nand: use dmaengine_terminate_all() API
        V4L2: mx3_camer: use dmaengine_pause() API
        dmaengine: coh901318: use dmaengine_terminate_all() API
        pata_arasan_cf: use dmaengine_terminate_all() API
        dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()
        dmaengine: dw: export probe()/remove() and Co to users
        dmaengine: dw: enable and disable controller when needed
        dmaengine: dw: always export dw_dma_{en,dis}able
        dmaengine: dw: introduce dw_dma_on() helper
        ...

  commit 0a582821d4f8edf41d9b56ae057ee2002fc275f0
  Merge: 8a5de18 33ac9db
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 18:03:02 2014 -0700

      Merge tag 'fbdev-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

      Pull fbdev updates from Tomi Valkeinen:
       - new 6x10 font
       - various small fixes and cleanups

      * tag 'fbdev-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits)
        fonts: Add 6x10 font
        videomode: provide dummy inline functions for !CONFIG_OF
        video/atmel_lcdfb: Introduce regulator support
        fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
        framebuffer: fix screen corruption when copying
        framebuffer: fix border color
        arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb
        arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss
        video: fbdev: valkyriefb.c: use container_of to resolve 
fb_info_valkyrie from fb_info
        video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer 
from fb_info
        video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from 
fb_info
        video: fbdev: controlfb.c: use container_of to resolve fb_info_control 
from fb_info
        video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info 
from fb_info
        video: fbdev: stifb.c: use container_of to resolve stifb_info from 
fb_info
        video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in 
conjunction with strncpy
        video: valkyriefb: Fix unused variable warning in set_valkyrie_clock()
        video: fbdev: use %*ph specifier to dump small buffers
        video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT
        video: fbdev: au1200fb: delete double assignment
        video: fbdev: sis: delete double assignment
        ...

  commit 8a5de18239e418fe7b1f36504834689f754d8ccc
  Merge: 857b50f 2df36a5
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 14:32:31 2014 -0700

      Merge tag 'kvm-arm-for-3.18-take-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm

      Pull second batch of changes for KVM/{arm,arm64} from Marc Zyngier:
       "The most obvious thing is the sizeable MMU changes to support 48bit
        VAs on arm64.

        Summary:

         - support for 48bit IPA and VA (EL2)
         - a number of fixes for devices mapped into guests
         - yet another VGIC fix for BE
         - a fix for CPU hotplug
         - a few compile fixes (disabled VGIC, strict mm checks)"

      [ I'm pulling directly from Marc at the request of Paolo Bonzini, whose
        backpack was stolen at Düsseldorf airport and will do new keys and
        rebuild his web of trust.    - Linus ]

      * tag 'kvm-arm-for-3.18-take-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm:
        arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs
        arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort
        arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE
        arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2
        arm/arm64: KVM: map MMIO regions at creation time
        arm64: kvm: define PAGE_S2_DEVICE as read-only by default
        ARM: kvm: define PAGE_S2_DEVICE as read-only by default
        arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap
        arm/arm64: KVM: fix potential NULL dereference in user_mem_abort()
        arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages
        ARM: KVM: fix vgic-disabled build
        arm: kvm: fix CPU hotplug

  commit 857b50f5d0eed113428c864e927289d8f5f2b864
  Merge: 168f07a 31d6f57
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 14:24:36 2014 -0700

      Merge branch 'upstream' of 
git://git.linux-mips.org/pub/scm/ralf/upstream-linus

      Pull MIPS updates from Ralf Baechle:
       "This is the MIPS pull request for the next kernel:

         - Zubair's patch series adds CMA support for MIPS.  Doing so it also
           touches ARM64 and x86.
         - remove the last instance of IRQF_DISABLED from arch/mips
         - updates to two of the MIPS defconfig files.
         - cleanup of how cache coherency bits are handled on MIPS and
           implement support for write-combining.
         - platform upgrades for Alchemy
         - move MIPS DTS files to arch/mips/boot/dts/"

      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (24 
commits)
        MIPS: ralink: remove deprecated IRQF_DISABLED
        MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS
        MIPS: cpu-probe: Set the write-combine CCA value on per core basis
        MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores
        MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks
        MIPS: DMA: Add cma support
        x86: use generic dma-contiguous.h
        arm64: use generic dma-contiguous.h
        asm-generic: Add dma-contiguous.h
        MIPS: BPF: Add new emit_long_instr macro
        MIPS: ralink: Move device-trees to arch/mips/boot/dts/
        MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/
        MIPS: sead3: Move device-trees to arch/mips/boot/dts/
        MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/
        MIPS: Octeon: Move device-trees to arch/mips/boot/dts/
        MIPS: Add support for building device-tree binaries
        MIPS: Create common infrastructure for building built-in device-trees
        MIPS: SEAD3: Enable DEVTMPFS
        MIPS: SEAD3: Regenerate defconfigs
        MIPS: Alchemy: DB1300: Add touch penirq support
        ...

  commit 168f07a1ea75870b3fdee3d69d978813eb1fd58d
  Merge: 9272f2d aeba373
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 14:22:32 2014 -0700

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux

      Pull powerpc fix from Michael Ellerman:
       "There was a bit of a misunderstanding between us and the ARM guys in
        the device tree PCI code, which is breaking virtio on powerpc.

        This is the minimal fix until we can sort it out properly"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
        powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() 
change

  commit 9272f2dc3956c6b6c4335de51bc897fa3b981584
  Merge: e83e432 ff273cb
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 13:39:19 2014 -0700

      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6

      Pull cifs/smb3 updates from Steve French:
       "Improved SMB3 support (symlink and device emulation, and remapping by
        default the 7 reserved posix characters) and a workaround for cifs
        mounts to Mac (working around a commonly encountered Mac server bug)"

      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        [CIFS] Remove obsolete comment
        Check minimum response length on query_network_interface
        Workaround Mac server problem
        Remap reserved posix characters by default (part 3/3)
        Allow conversion of characters in Mac remap range (part 2)
        Allow conversion of characters in Mac remap range. Part 1
        mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink
        Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink
        Allow mknod and mkfifo on SMB2/SMB3 mounts
        add defines for two new file attributes

  commit e83e43237236ba89316e97a3743b5bd585726e47
  Merge: ef161ea1 c07127b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 13:37:19 2014 -0700

      Merge tag 'dlm-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm

      Pull dlm fix from David Teigland:
       "This includes a single commit fixing a missing endian conversion"

      * tag 'dlm-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: fix missing endian conversion of rcom_status flags

  commit ef161ea1ff96337cbe2253afb72636474d90598e
  Merge: 8ccf863 d379730
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 13:32:17 2014 -0700

      Merge branch 'for-linus-update' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs

      Pull btrfs data corruption fix from Chris Mason:
       "I'm testing a pull with more fixes, but wanted to get this one out so
        Greg can pick it up.

        The corruption isn't easy to hit, you have to do a readonly snapshot
        and have orphans in the snapshot.  But my review and testing missed
        the bug.  Filipe has added a better xfstest to cover it"

      * 'for-linus-update' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Revert "Btrfs: race free update of commit root for ro snapshots"

  commit 8ccf863f09bbff209b124cbd90644c0b75b8fefd
  Merge: 4869447 d4bf205d
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 13:25:03 2014 -0700

      Merge tag 'please-pull-pstore' of 
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux

      Pull pstore fix from Tony Luck:
       "Ensure unique filenames in pstore"

      * tag 'please-pull-pstore' of 
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        pstore: Fix duplicate {console,ftrace}-efi entries

  commit 4869447d21738f9d5bfdf2e9644bcc62db288d88
  Merge: ead13ae 3569b70
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 12:54:46 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs

      Pull NTFS update from Anton Altaparmakov:
       "Here is a small NTFS update notably implementing FIBMAP ioctl for NTFS
        by adding the bmap address space operation.  People seem to still want
        FIBMAP"

      * git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs:
        NTFS: Bump version to 2.1.31.
        NTFS: Add bmap address space operation needed for FIBMAP ioctl.
        NTFS: Remove changelog from Documentation/filesystems/ntfs.txt.
        NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in 
preparation for them diverging.

  commit ead13aee235fa1619d85f2ab5cfb9308a19f8da3
  Merge: 929254d b8fb9c3
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 12:52:08 2014 -0700

      Merge tag 'nfs-for-3.18-2' of 
git://git.linux-nfs.org/projects/trondmy/linux-nfs

      Pull NFS client updates from Trond Myklebust:
       "Highlights include:

        Stable fixes:
         - fix an uninitialised pointer Oops in the writeback error path
         - fix a bogus warning (and early exit from the loop) in 
nfs_generic_pgio()

        Features:
         - Add NFSv4.2 SEEK feature and client support for 
lseek(SEEK_HOLE/SEEK_DATA)

        Other fixes:
         - pnfs: replace broken pnfs_put_lseg_async
         - Remove dead prototype for nfs4_insert_deviceid_node"

      * tag 'nfs-for-3.18-2' of 
git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: Fix a bogus warning in nfs_generic_pgio
        NFS: Fix an uninitialised pointer Oops in the writeback error path
        NFSv4.1/pnfs: replace broken pnfs_put_lseg_async
        NFSv4: Remove dead prototype for nfs4_insert_deviceid_node()
        NFS: Implement SEEK

  commit 929254d8da55a046fe792e79a220f83df761305d
  Merge: e75437f 56ec16c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 12:25:30 2014 -0700

      Merge tag 'dm-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

      Pull device-mapper updates from Mike Snitzer:
       "I rebased the DM tree ontop of linux-block.git's 'for-3.18/core' at
        the beginning of October because DM core now depends on the newly
        introduced bioset_create_nobvec() interface.

        Summary:

         - fix DM's long-standing excessive use of memory by leveraging the
           new bioset_create_nobvec() interface when creating the DM's bioset

         - fix a few bugs in dm-bufio and dm-log-userspace

         - add DM core support for a DM multipath use-case that requires
           loading DM tables that contain devices that have failed (by
           allowing active and inactive DM tables to share dm_devs)

         - add discard support to the DM raid target; like MD raid456 the user
           must opt-in to raid456 discard support be specifying the
           devices_handle_discard_safely=Y module param"

      * tag 'dm-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm log userspace: fix memory leak in dm_ulog_tfr_init failure path
        dm bufio: when done scanning return from __scan immediately
        dm bufio: update last_accessed when relinking a buffer
        dm raid: add discard support for RAID levels 4, 5 and 6
        dm raid: add discard support for RAID levels 1 and 10
        dm: allow active and inactive tables to share dm_devs
        dm mpath: stop queueing IO when no valid paths exist
        dm: use bioset_create_nobvec()
        dm: remove nr_iovecs parameter from alloc_tio()

  commit e75437fb9322cf0ac707046a12d78a25f9d52ccf
  Merge: d3dc366 b277da0
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 12:12:45 2014 -0700

      Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block

      Pull block layer driver update from Jens Axboe:
       "This is the block driver pull request for 3.18.  Not a lot in there
        this round, and nothing earth shattering.

         - A round of drbd fixes from the linbit team, and an improvement in
           asender performance.

         - Removal of deprecated (and unused) IRQF_DISABLED flag in rsxx and
           hd from Michael Opdenacker.

         - Disable entropy collection from flash devices by default, from Mike
           Snitzer.

         - A small collection of xen blkfront/back fixes from Roger Pau Monné
           and Vitaly Kuznetsov"

      * 'for-3.18/drivers' of git://git.kernel.dk/linux-block:
        block: disable entropy contributions for nonrot devices
        xen, blkfront: factor out flush-related checks from do_blkif_request()
        xen-blkback: fix leak on grant map error path
        xen/blkback: unmap all persistent grants when frontend gets disconnected
        rsxx: Remove deprecated IRQF_DISABLED
        block: hd: remove deprecated IRQF_DISABLED
        drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks
        drbd: compute the end before rb_insert_augmented()
        drbd: Add missing newline in resync progress display in /proc/drbd
        drbd: reduce lock contention in drbd_worker
        drbd: Improve asender performance
        drbd: Get rid of the WORK_PENDING macro
        drbd: Get rid of the __no_warn and __cond_lock macros
        drbd: Avoid inconsistent locking warning
        drbd: Remove superfluous newline from "resync_extents" debugfs entry.
        drbd: Use consistent names for all the bi_end_io callbacks
        drbd: Use better variable names

  commit d3dc366bbaf07c125561e90d6da4bb147741101a
  Merge: 511c41d e19a8a0
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 11:53:51 2014 -0700

      Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block

      Pull core block layer changes from Jens Axboe:
       "This is the core block IO pull request for 3.18.  Apart from the new
        and improved flush machinery for blk-mq, this is all mostly bug fixes
        and cleanups.

         - blk-mq timeout updates and fixes from Christoph.

         - Removal of REQ_END, also from Christoph.  We pass it through the
           ->queue_rq() hook for blk-mq instead, freeing up one of the request
           bits.  The space was overly tight on 32-bit, so Martin also killed
           REQ_KERNEL since it's no longer used.

         - blk integrity updates and fixes from Martin and Gu Zheng.

         - Update to the flush machinery for blk-mq from Ming Lei.  Now we
           have a per hardware context flush request, which both cleans up the
           code should scale better for flush intensive workloads on blk-mq.

         - Improve the error printing, from Rob Elliott.

         - Backing device improvements and cleanups from Tejun.

         - Fixup of a misplaced rq_complete() tracepoint from Hannes.

         - Make blk_get_request() return error pointers, fixing up issues
           where we NULL deref when a device goes bad or missing.  From Joe
           Lawrence.

         - Prep work for drastically reducing the memory consumption of dm
           devices from Junichi Nomura.  This allows creating clone bio sets
           without preallocating a lot of memory.

         - Fix a blk-mq hang on certain combinations of queue depths and
           hardware queues from me.

         - Limit memory consumption for blk-mq devices for crash dump
           scenarios and drivers that use crazy high depths (certain SCSI
           shared tag setups).  We now just use a single queue and limited
           depth for that"

      * 'for-3.18/core' of git://git.kernel.dk/linux-block: (58 commits)
        block: Remove REQ_KERNEL
        blk-mq: allocate cpumask on the home node
        bio-integrity: remove the needless fail handle of bip_slab creating
        block: include func name in __get_request prints
        block: make blk_update_request print prefix match ratelimited prefix
        blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio
        block: fix alignment_offset math that assumes io_min is a power-of-2
        blk-mq: Make bt_clear_tag() easier to read
        blk-mq: fix potential hang if rolling wakeup depth is too high
        block: add bioset_create_nobvec()
        block: use bio_clone_fast() in blk_rq_prep_clone()
        block: misplaced rq_complete tracepoint
        sd: Honor block layer integrity handling flags
        block: Replace strnicmp with strncasecmp
        block: Add T10 Protection Information functions
        block: Don't merge requests if integrity flags differ
        block: Integrity checksum flag
        block: Relocate bio integrity flags
        block: Add a disk flag to block integrity profile
        block: Add prefix to block integrity profile flags
        ...

  commit 511c41d9e6665a07aca94eb00983cf6d77dd87ff
  Merge: 88ed806 8b3d58e
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 11:48:03 2014 -0700

      Merge tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd

      Pull MTD update from Brian Norris:
       "Sorry for delaying this a bit later than usual.  There's one mild
        regression from 3.16 that was noticed during the 3.17 cycle, and I
        meant to send a fix for it along with this pull request.  I'll
        probably try to queue it up for a later pull request once I've had a
        better look at it, hopefully by -rc2 at the latest.

        Summary for this pull:

        NAND
         - Cleanup for Denali driver
         - Atmel: add support for new page sizes
         - Atmel: fix up 'raw' mode support
         - Atmel: miscellaneous cleanups
         - New timing mode helpers for non-ONFI NAND
         - OMAP: allow driver to be (properly) built as a module
         - bcm47xx: RESET support and other cleanups

        SPI NOR
         - Miscellaneous cleanups, to prepare framework for wider use (some
           further work still pending)
         - Compile-time configuration to select 4K vs.  64K support for flash
           that support both (necessary for using UBIFS on some SPI NOR)

        A few scattered code quality fixes, detected by Coverity

        See the changesets for more"

      * tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd: (59 
commits)
        mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message
        mtd: nand: Force omap_elm to be built as a module if omap2_nand is a 
module
        mtd: move support for struct flash_platform_data into m25p80
        mtd: spi-nor: add Kconfig option to disable 4K sectors
        mtd: nand: Move ELM driver and rename as omap_elm
        nand: omap2: Replace pr_err with dev_err
        nand: omap2: Remove horrible ifdefs to fix module probe
        mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table
        mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs
        mtd: physmap_of: Add non-obsolete map_rom probe
        mtd: physmap_of: Fix ROM support via OF
        MAINTAINERS: add l2-mtd.git, 'next' tree for MTD
        mtd: denali: fix indents and other trivial things
        mtd: denali: remove unnecessary parentheses
        mtd: denali: remove another set-but-unused variable
        mtd: denali: fix include guard and license block of denali.h
        mtd: nand: don't break long print messages
        mtd: bcm47xxnflash: replace some magic numbers
        mtd: bcm47xxnflash: NAND_CMD_RESET support
        mtd: bcm47xxnflash: add cmd_ctrl handler
        ...

  commit 88ed806abb981cc8ec61ee7fab93ecfe63521ebf
  Merge: e56d9fc b395f75
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 11:39:52 2014 -0700

      Merge tag 'md/3.18' of git://neil.brown.name/md

      Pull md updates from Neil Brown:
       - a few minor bug fixes
       - quite a lot of code tidy-up and simplification
       - remove PRINT_RAID_DEBUG ioctl.  I'm fairly sure it is unused, and it
         isn't particularly useful.

      * tag 'md/3.18' of git://neil.brown.name/md: (21 commits)
        lib/raid6: Add log level to printks
        md: move EXPORT_SYMBOL to after function in md.c
        md: discard PRINT_RAID_DEBUG ioctl
        md: remove MD_BUG()
        md: clean up 'exit' labels in md_ioctl().
        md: remove unnecessary test for MD_MAJOR in md_ioctl()
        md: don't allow "-sync" to be set for device in an active array.
        md: remove unwanted white space from md.c
        md: don't start resync thread directly from md thread.
        md: Just use RCU when checking for overlap between arrays.
        md: avoid potential long delay under pers_lock
        md: simplify export_array()
        md: discard find_rdev_nr in favour of find_rdev_nr_rcu
        md: use wait_event() to simplify md_super_wait()
        md: be more relaxed about stopping an array which isn't started.
        md/raid1: process_checks doesn't use its return value.
        md/raid5: fix init_stripe() inconsistencies
        md/raid10: another memory leak due to reshape.
        md: use set_bit/clear_bit instead of shift/mask for bi_flags changes.
        md/raid1: minor typos and reformatting.
        ...

  commit e56d9fccb1c78283d7c163bb354be7cbbc93d9fb
  Merge: 0e6e58f 9b32011
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 10:26:10 2014 -0700

      Merge branch 'for-linus2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security

      Pull selinux fix from James Morris:
       "Fix for a list corruption bug in the SELinux code"

      * 'for-linus2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        selinux: fix inode security list corruption

  commit 0e6e58f941176033fd9a224b39527b12f9cbb05e
  Merge: 50edb5c 1bbc260
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 10:25:09 2014 -0700

      Merge tag 'virtio-next-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux

      Pull virtio updates from Rusty Russell:
       "One cc: stable commit, the rest are a series of minor cleanups which
        have been sitting in MST's tree during my vacation.  I changed a
        function name and made one trivial change, then they spent two days in
        linux-next"

      * tag 'virtio-next-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits)
        virtio-rng: refactor probe error handling
        virtio_scsi: drop scan callback
        virtio_balloon: enable VQs early on restore
        virtio_scsi: fix race on device removal
        virito_scsi: use freezable WQ for events
        virtio_net: enable VQs early on restore
        virtio_console: enable VQs early on restore
        virtio_scsi: enable VQs early on restore
        virtio_blk: enable VQs early on restore
        virtio_scsi: move kick event out from virtscsi_init
        virtio_net: fix use after free on allocation failure
        9p/trans_virtio: enable VQs early
        virtio_console: enable VQs early
        virtio_blk: enable VQs early
        virtio_net: enable VQs early
        virtio: add API to enable VQs early
        virtio_net: minor cleanup
        virtio-net: drop config_mutex
        virtio_net: drop config_enable
        virtio-blk: drop config_mutex
        ...

  commit 50edb5cc22c7b2ea7df095913596e5a649bd6b41
  Merge: ad3118b d3051b4
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 10:24:26 2014 -0700

      Merge tag 'modules-next-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux

      Pull module fix from Rusty Russell:
       "A single panic fix for a rare race, stable CC'd"

      * tag 'modules-next-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        modules, lock around setting of MODULE_STATE_UNFORMED

  commit ad3118b9861379e3a77883613369cb967ffac26a
  Author: Jonathan Corbet <corbet@xxxxxxx>
  Date:   Fri Oct 17 08:59:26 2014 -0400

      MAINTAINERS: Become the docs maintainer

      It seems it's my turn to be the documentation maintainer for a bit.  My
      plan is to work to ensure that docs patches don't fall through the cracks;
      I assume most changes will continue to flow through subsystem-specific
      trees.

      Acked-by: Jiri Kosina <jkosina@xxxxxxx>
      Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d974baa398f34393db76be45f7d4d04fbdbb4a0a
  Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
  Date:   Wed Oct 8 09:02:13 2014 -0700

      x86,kvm,vmx: Preserve CR4 across VM entry

      CR4 isn't constant; at least the TSD and PCE bits can vary.

      TBH, treating CR0 and CR3 as constant scares me a bit, too, but it looks
      like it's correct.

      This adds a branch and a read from cr4 to each vm entry.  Because it is
      extremely likely that consecutive entries into the same vcpu will have
      the same host cr4 value, this fixes up the vmcs instead of restoring cr4
      after the fact.  A subsequent patch will add a kernel-wide cr4 shadow,
      reducing the overhead in the common case to just two memory reads and a
      branch.

      Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
      Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx
      Cc: Petr Matousek <pmatouse@xxxxxxxxxx>
      Cc: Gleb Natapov <gleb@xxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a6d4518da371b0d21512ef0f641928d6f99ee70f
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Sat Oct 18 17:33:38 2014 +0800

      ipv6: fix a potential use after free in sit.c

      pskb_may_pull() maybe change skb->data and make iph pointer oboslete,
      fix it by geting ip header length directly.

      Fixes: ca15a078 (sit: generate icmpv6 error when receiving icmpv4 error)
      Cc: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit fc6fb41cd64fd810bcc69fe9776d2f500778f38f
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Sat Oct 18 17:27:42 2014 +0800

      ipv6: fix a potential use after free in ip6_offload.c

      pskb_may_pull() maybe change skb->data and make opth pointer oboslete,
      so set the opth again

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b4e3cef703fb21b26db053a770900f2bd910638b
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Sat Oct 18 17:26:04 2014 +0800

      ipv4: fix a potential use after free in gre_offload.c

      pskb_may_pull() may change skb->data and make greh pointer oboslete;
      so need to reassign greh;
      but since first calling pskb_may_pull already ensured that skb->data
      has enough space for greh, so move the reference of greh before second
      calling pskb_may_pull(), to avoid reassign greh.

      Fixes: 7a7ffbabf9("ipv4: fix tunneled VM traffic over hw VXLAN/GRE GSO 
NIC")
      Cc: Wei-Chun Chao <weichunc@xxxxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 815afe1785da727ee48cd8e63ac4a3ec6c7459b3
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Sat Oct 18 08:34:37 2014 -0700

      tcp: fix build error if IPv6 is not enabled

      $ make M=net/ipv4
        CC      net/ipv4/route.o
      In file included from net/ipv4/route.c:102:0:
      include/net/tcp.h: In function â??tcp_v6_iifâ??:
      include/net/tcp.h:738:32: error: â??union <anonymous>â?? has no member 
named â??h6â??
        return TCP_SKB_CB(skb)->header.h6.iif;

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Fixes: 870c3151382c ("ipv6: introduce tcp_v6_iif()")
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2e923b0251932ad4a82cc87ec1443a1f1d17073e
  Merge: ffd8221 f2d9da1
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 09:31:37 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

      Pull networking fixes from David Miller:

       1) Include fixes for netrom and dsa (Fabian Frederick and Florian
          Fainelli)

       2) Fix FIXED_PHY support in stmmac, from Giuseppe CAVALLARO.

       3) Several SKB use after free fixes (vxlan, openvswitch, vxlan,
          ip_tunnel, fou), from Li ROngQing.

       4) fec driver PTP support fixes from Luwei Zhou and Nimrod Andy.

       5) Use after free in virtio_net, from Michael S Tsirkin.

       6) Fix flow mask handling for megaflows in openvswitch, from Pravin B
          Shelar.

       7) ISDN gigaset and capi bug fixes from Tilman Schmidt.

       8) Fix route leak in ip_send_unicast_reply(), from Vasily Averin.

       9) Fix two eBPF JIT bugs on x86, from Alexei Starovoitov.

      10) TCP_SKB_CB() reorganization caused a few regressions, fixed by Cong
          Wang and Eric Dumazet.

      11) Don't overwrite end of SKB when parsing malformed sctp ASCONF
          chunks, from Daniel Borkmann.

      12) Don't call sock_kfree_s() with NULL pointers, this function also has
          the side effect of adjusting the socket memory usage.  From Cong Wang.

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits)
        bna: fix skb->truesize underestimation
        net: dsa: add includes for ethtool and phy_fixed definitions
        openvswitch: Set flow-key members.
        netrom: use linux/uaccess.h
        dsa: Fix conversion from host device to mii bus
        tipc: fix bug in bundled buffer reception
        ipv6: introduce tcp_v6_iif()
        sfc: add support for skb->xmit_more
        r8152: return -EBUSY for runtime suspend
        ipv4: fix a potential use after free in fou.c
        ipv4: fix a potential use after free in ip_tunnel_core.c
        hyperv: Add handling of IP header with option field in netvsc_set_hash()
        openvswitch: Create right mask with disabled megaflows
        vxlan: fix a free after use
        openvswitch: fix a use after free
        ipv4: dst_entry leak in ip_send_unicast_reply()
        ipv4: clean up cookie_v4_check()
        ipv4: share tcp_v4_save_options() with cookie_v4_check()
        ipv4: call __ip_options_echo() in cookie_v4_check()
        atm: simplify lanai.c by using module_pci_driver
        ...

  commit ffd8221bc348f8c282d1271883dbe629ea8ae289
  Merge: e0a9272 f4da362
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 09:30:41 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

      Pull Sparc bugfix from David Miller:
       "Sparc64 AES ctr mode bug fix"

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Fix FPU register corruption with AES crypto offload.

  commit e0a9272c616838109fc5988ab154dc10670eb15e
  Merge: 76835b0e 7546e52
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 18 09:29:59 2014 -0700

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide

      Pull IDE cleanup from David Miller:
       "One IDE driver cleanup"

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        Drivers: ide: Remove typedef atiixp_ide_timing

  commit 76835b0ebf8a7fe85beb03c75121419a7dec52f0
  Author: Catalin Marinas <catalin.marinas@xxxxxxx>
  Date:   Fri Oct 17 17:38:49 2014 +0100

      futex: Ensure get_futex_key_refs() always implies a barrier

      Commit b0c29f79ecea (futexes: Avoid taking the hb->lock if there's
      nothing to wake up) changes the futex code to avoid taking a lock when
      there are no waiters. This code has been subsequently fixed in commit
      11d4616bd07f (futex: revert back to the explicit waiter counting code).
      Both the original commit and the fix-up rely on get_futex_key_refs() to
      always imply a barrier.

      However, for private futexes, none of the cases in the switch statement
      of get_futex_key_refs() would be hit and the function completes without
      a memory barrier as required before checking the "waiters" in
      futex_wake() -> hb_waiters_pending(). The consequence is a race with a
      thread waiting on a futex on another CPU, allowing the waker thread to
      read "waiters == 0" while the waiter thread to have read "futex_val ==
      locked" (in kernel).

      Without this fix, the problem (user space deadlocks) can be seen with
      Android bionic's mutex implementation on an arm64 multi-cluster system.

      Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Reported-by: Matteo Franchin <Matteo.Franchin@xxxxxxx>
      Fixes: b0c29f79ecea (futexes: Avoid taking the hb->lock if there's 
nothing to wake up)
      Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx>
      Tested-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3b10ea7f922b538ba5dcb3d979a6b6b4d07daae2
  Merge: 691286b e8564b7
  Author: Ingo Molnar <mingo@xxxxxxxxxx>
  Date:   Sat Oct 18 09:04:02 2014 +0200

      Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

       User visible changes:

        * Add period data column and make it default in 'perf script' (Jiri 
Olsa)

       Infrastructure changes:

        * Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete
          should be just a front end for exit + free (Arnaldo Carvalho de Melo)

        * Add missing 'struct option' forward declaration (Arnaldo Carvalho de 
Melo)

        * No need to drag util/cgroup.h into evsel.h (Arnaldo Carvalho de Melo)

      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
      Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

  commit f2d9da1a8375cbe53df5b415d059429013a3a79f
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 17 12:45:55 2014 -0700

      bna: fix skb->truesize underestimation

      skb->truesize is not meant to be tracking amount of used bytes
      in an skb, but amount of reserved/consumed bytes in memory.

      For instance, if we use a single byte in last page fragment,
      we have to account the full size of the fragment.

      skb->truesize can be very different from skb->len, that has
      a very specific safety purpose.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Cc: Rasesh Mody <rasesh.mody@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit a28205437b41a2c1333c1599ce1e8f09af7b00d6
  Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
  Date:   Fri Oct 17 16:02:13 2014 -0700

      net: dsa: add includes for ethtool and phy_fixed definitions

      net/dsa/slave.c uses functions and structures declared in phy_fixed.h
      but does not explicitely include it, while dsa.h needs structure
      declarations for 'struct ethtool_wolinfo' and 'struct ethtool_eee', fix
      those by including the correct header files.

      Fixes: ec9436baedb6 ("net: dsa: allow drivers to do link adjustment")
      Fixes: ce31b31c68e7 ("net: dsa: allow updating fixed PHY link 
information")
      Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 25ef1328a03c72a7285883d5b337c4b602476ecd
  Author: Pravin B Shelar <pshelar@xxxxxxxxxx>
  Date:   Fri Oct 17 13:56:31 2014 -0700

      openvswitch: Set flow-key members.

      This patch adds missing memset which are required to initialize
      flow key member. For example for IP flow we need to initialize
      ip.frag for all cases.

      Found by inspection.

      This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac
      ("openvswitch: Eliminate memset() from flow_extract").

      Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit dc8e54165f1dc8ee946c953512a877676f8bbe3f
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Fri Oct 17 22:00:22 2014 +0200

      netrom: use linux/uaccess.h

      replace asm/uaccess.h by linux/uaccess.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b184e497f7fe2895b2175859e0cb21ae5d531555
  Author: Guenter Roeck <linux@xxxxxxxxxxxx>
  Date:   Fri Oct 17 12:30:58 2014 -0700

      dsa: Fix conversion from host device to mii bus

      Commit b4d2394d01bc ("dsa: Replace mii_bus with a generic host device")
      replaces mii_bus with a generic host_dev, and introduces
      dsa_host_dev_to_mii_bus() to support conversion from host_dev to mii_bus.
      However, in some cases it uses to_mii_bus to perform that conversion.
      Since host_dev is not the phy bus device but typically a platform device,
      this fails and results in a crash with the affected drivers.

      BUG: unable to handle kernel NULL pointer dereference at           (null)
      IP: [<ffffffff81781d35>] __mutex_lock_slowpath+0x75/0x100
      PGD 406783067 PUD 406784067 PMD 0
      Oops: 0002 [#1] SMP
      ...
      Call Trace:
      [<ffffffff810a538b>] ? pick_next_task_fair+0x61b/0x880
      [<ffffffff81781de3>] mutex_lock+0x23/0x37
      [<ffffffff81533244>] mdiobus_read+0x34/0x60
      [<ffffffff8153b95a>] __mv88e6xxx_reg_read+0x8a/0xa0
      [<ffffffff8153b9bc>] mv88e6xxx_reg_read+0x4c/0xa0

      Fixes: b4d2394d01bc ("dsa: Replace mii_bus with a generic host device")
      Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
      Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
      Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 643566d4b47e2956110e79c0e6f65db9b9ea42c6
  Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx>
  Date:   Fri Oct 17 15:25:28 2014 -0400

      tipc: fix bug in bundled buffer reception

      In commit ec8a2e5621db2da24badb3969eda7fd359e1869f ("tipc: same receive
      code path for connection protocol and data messages") we omitted the
      the possiblilty that an arriving message extracted from a bundle buffer
      may be a multicast message. Such messages need to be to be delivered to
      the socket via a separate function, tipc_sk_mcast_rcv(). As a result,
      small multicast messages arriving as members of a bundle buffer will be
      silently dropped.

      This commit corrects the error by considering this case in the function
      tipc_link_bundle_rcv().

      Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 870c3151382c980590d4d609babf3b0243e7db93
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 17 09:17:20 2014 -0700

      ipv6: introduce tcp_v6_iif()

      Commit 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line
      misses") added a regression for SO_BINDTODEVICE on IPv6.

      This is because we still use inet6_iif() which expects that IP6 control
      block is still at the beginning of skb->cb[]

      This patch adds tcp_v6_iif() helper and uses it where necessary.

      Because __inet6_lookup_skb() is used by TCP and DCCP, we add an iif
      parameter to it.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Fixes: 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line 
misses")
      Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 70b33fb0ddec827cbbd14cdc664fc27b2ef4a6b6
  Author: Edward Cree <ecree@xxxxxxxxxxxxxx>
  Date:   Fri Oct 17 15:32:25 2014 +0100

      sfc: add support for skb->xmit_more

      Don't ring the doorbell, and don't do PIO.  This will also prevent
       TX Push, because there will be more than one buffer waiting when
       the doorbell is rung.

      Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 6cc69f2a404dea8641d6cf97c0fbe8d24579e259
  Author: hayeswang <hayeswang@xxxxxxxxxxx>
  Date:   Fri Oct 17 16:55:08 2014 +0800

      r8152: return -EBUSY for runtime suspend

      Remove calling cancel_delayed_work_sync() for runtime suspend,
      because it would cause dead lock. Instead, return -EBUSY to
      avoid the device enters suspending if the net is running and
      the delayed work is pending or running. The delayed work would
      try to wake up the device later, so the suspending is not
      necessary.

      Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit d8f00d27105a1553a13d4a96c3eb4544f70ca908
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 17 16:53:47 2014 +0800

      ipv4: fix a potential use after free in fou.c

      pskb_may_pull() maybe change skb->data and make uh pointer oboslete,
      so reload uh and guehdr

      Fixes: 37dd0247 ("gue: Receive side for Generic UDP Encapsulation")
      Cc: Tom Herbert <therbert@xxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 1245dfc8cadb258386fcd27df38215a0eccb1f17
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 17 16:53:23 2014 +0800

      ipv4: fix a potential use after free in ip_tunnel_core.c

      pskb_may_pull() maybe change skb->data and make eth pointer oboslete,
      so set eth after pskb_may_pull()

      Fixes:3d7b46cd("ip_tunnel: push generic protocol handling to ip_tunnel 
module")
      Cc: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f88e67149f97d73c704d6fe6f492edde97463025
  Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
  Date:   Thu Oct 16 14:47:58 2014 -0700

      hyperv: Add handling of IP header with option field in netvsc_set_hash()

      In case that the IP header has optional field at the end, this patch will
      get the port numbers after that field, and compute the hash. The general
      parser skb_flow_dissect() is used here.

      Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
      Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ff273cb879fbc6cd3c5d03a56cfc33f5830e2837
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Fri Oct 17 17:17:12 2014 -0500

      [CIFS] Remove obsolete comment

      Signed-off-by: Steven French <smfrench@xxxxxxxxx>

  commit f47de068f68db91b89e0d3335230d07e02da8727
  Author: Pravin B Shelar <pshelar@xxxxxxxxxx>
  Date:   Thu Oct 16 21:55:45 2014 -0700

      openvswitch: Create right mask with disabled megaflows

      If megaflows are disabled, the userspace does not send the netlink 
attribute
      OVS_FLOW_ATTR_MASK, and the kernel must create an exact match mask.

      sw_flow_mask_set() sets every bytes (in 'range') of the mask to 0xff, 
even the
      bytes that represent padding for struct sw_flow, or the bytes that 
represent
      fields that may not be set during ovs_flow_extract().
      This is a problem, because when we extract a flow from a packet,
      we do not memset() anymore the struct sw_flow to 0.

      This commit gets rid of sw_flow_mask_set() and introduces 
mask_set_nlattr(),
      which operates on the netlink attributes rather than on the mask key. 
Using
      this approach we are sure that only the bytes that the user provided in 
the
      flow are matched.

      Also, if the parse_flow_mask_nlattrs() for the mask ENCAP attribute 
fails, we
      now return with an error.

      This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac
      ("openvswitch: Eliminate memset() from flow_extract").

      Reported-by: Alex Wang <alexw@xxxxxxxxxx>
      Signed-off-by: Daniele Di Proietto <ddiproietto@xxxxxxxxxx>
      Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx>
      Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7a9f526fc3ee49b6034af2f243676ee0a27dcaa8
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 17 14:06:16 2014 +0800

      vxlan: fix a free after use

      pskb_may_pull maybe change skb->data and make eth pointer oboslete,
      so eth needs to reload

      Fixes: 91269e390d062 ("vxlan: using pskb_may_pull as early as possible")
      Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 389f48947a5a37ea283de520abb742d42174edb0
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 17 14:03:08 2014 +0800

      openvswitch: fix a use after free

      pskb_may_pull() called by arphdr_ok can change skb->data, so put the arp
      setting after arphdr_ok to avoid the use the freed memory

      Fixes: 0714812134d7d ("openvswitch: Eliminate memset() from 
flow_extract.")
      Cc: Jesse Gross <jesse@xxxxxxxxxx>
      Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Jesse Gross <jesse@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4062090e3e5caaf55bed4523a69f26c3265cc1d2
  Author: Vasily Averin <vvs@xxxxxxxxxxxxx>
  Date:   Wed Oct 15 16:24:02 2014 +0400

      ipv4: dst_entry leak in ip_send_unicast_reply()

      ip_setup_cork() called inside ip_append_data() steals dst entry from rt 
to cork
      and in case errors in __ip_append_data() nobody frees stolen dst entry

      Fixes: 2e77d89b2fa8 ("net: avoid a pair of dst_hold()/dst_release() in 
ip_append_data()")
      Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e8564b710c6df2c3aeb56c507c22f4bcfa4c0b2d
  Author: Jiri Olsa <jolsa@xxxxxxxxxx>
  Date:   Mon Aug 25 16:45:43 2014 +0200

      perf script: Add period as a default output column

      Adding period as a default output column in script command fo hardware,
      software and raw events.

      If PERF_SAMPLE_PERIOD sample type is defined in perf.data, following
      will be displayed in perf script output:

        $ perf script
                    ls  8034 57477.887209:     250000 task-clock:  
ffffffff81361d72 memset ([kernel.kallsyms])
                    ls  8034 57477.887464:     250000 task-clock:  
ffffffff816f6d92 _raw_spin_unlock_irqrestore ([kernel.kallsyms])
                    ls  8034 57477.887708:     250000 task-clock:  
ffffffff811a94f0 do_munmap ([kernel.kallsyms])
                    ls  8034 57477.887959:     250000 task-clock:        
34080916c6 get_next_seq (/usr/lib64/libc-2.17.so)
                    ls  8034 57477.888208:     250000 task-clock:        
3408079230 _IO_doallocbuf (/usr/lib64/libc-2.17.so)
                    ls  8034 57477.888717:     250000 task-clock:  
ffffffff814242c8 n_tty_write ([kernel.kallsyms])
                    ls  8034 57477.889285:     250000 task-clock:        
3408076402 fwrite_unlocked (/usr/lib64/libc-2.17.so)

      Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1408977943-16594-10-git-send-email-jolsa@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 535aeaae7de821ba5d43ee2a204ee667ca95aae4
  Author: Jiri Olsa <jolsa@xxxxxxxxxx>
  Date:   Mon Aug 25 16:45:42 2014 +0200

      perf script: Add period data column

      Adding period data column to be displayed in perf script.  It's possible
      to get period values using -f option, like:

        $ perf script -f comm,tid,time,period,ip,sym,dso
                :26019 26019 52414.329088:       3707  ffffffff8105443a 
native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329088:         44  ffffffff8105443a 
native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329093:       1987  ffffffff8105443a 
native_write_msr_safe ([kernel.kallsyms])
                :26019 26019 52414.329093:          6  ffffffff8105443a 
native_write_msr_safe ([kernel.kallsyms])
                    ls 26019 52414.329442:     537558        3407c0639c 
_dl_map_object_from_fd (/usr/lib64/ld-2.17.so)
                    ls 26019 52414.329442:       2099        3407c0639c 
_dl_map_object_from_fd (/usr/lib64/ld-2.17.so)
                    ls 26019 52414.330181:    1242100        34080917bb 
get_next_seq (/usr/lib64/libc-2.17.so)
                    ls 26019 52414.330181:       3774        34080917bb 
get_next_seq (/usr/lib64/libc-2.17.so)
                    ls 26019 52414.331427:    1083662  ffffffff810c7dc2 
update_curr ([kernel.kallsyms])
                    ls 26019 52414.331427:        360  ffffffff810c7dc2 
update_curr ([kernel.kallsyms])

      Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Acked-by: David Ahern <dsahern@xxxxxxxxx>
      Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1408977943-16594-9-git-send-email-jolsa@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 461b74c391c4ec9c766794e158508c357d8952e6
  Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 14:33:22 2014 -0700

      ipv4: clean up cookie_v4_check()

      We can retrieve opt from skb, no need to pass it as a parameter.
      And opt should always be non-NULL, no need to check.

      Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
      Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
      Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e25f866fbc8a4bf387b5dbe8e25aa5b07e55c74f
  Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 14:33:21 2014 -0700

      ipv4: share tcp_v4_save_options() with cookie_v4_check()

      cookie_v4_check() allocates ip_options_rcu in the same way
      with tcp_v4_save_options(), we can just make it a helper function.

      Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
      Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2077eebf7d8bf20b36524de45851e28111a60c52
  Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 14:33:20 2014 -0700

      ipv4: call __ip_options_echo() in cookie_v4_check()

      commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to reduce 
cache line misses")
      missed that cookie_v4_check() still calls ip_options_echo() which uses
      IPCB(). It should use TCPCB() at TCP layer, so call __ip_options_echo()
      instead.

      Fixes: commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to 
reduce cache line misses")
      Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
      Reported-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx>
      Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
      Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b7983e3f89dd960b2a6d156fd2200548c3300428
  Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 09:45:50 2014 +0200

      atm: simplify lanai.c by using module_pci_driver

      This simplifies the lanai.c driver by using
      the module_pci_driver() macro, at the expense
      of losing only debugging messages.

      Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f14d570785e6760284a9849f9bafd0a9825a1a25
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 17 12:17:40 2014 -0300

      perf evsel: No need to drag util/cgroup.h

      The only thing we need is a forward declaration for 'struct cgroup_sel',
      that is inside 'struct perf_evsel'.

      Include cgroup.h instead on the tools that support cgroups.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-b7kuymbgf0zxi5viyjjtu5hk@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 724ce97e9f8616ffb62b940f3726685c6f31f9b9
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 17 12:16:00 2014 -0300

      perf evlist: Add missing 'struct option' forward declaration

      It was being found, by chance, because evsel.h needlessly includes
      util/cgroup.h, which will be sorted out in a following patch.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-xsvxr747wkkpg1ay9dramorr@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 597e48c138632d1f55409dcfa5bee4e1152e7d4f
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Thu Oct 16 13:25:01 2014 -0300

      perf evsel: Move exit stuff from __delete to __exit

      So that when an evsel is embedded into other struct it can free up
      resources calling perf_evsel__exit().

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-n1w68pfe9m2vkhm4sqs8y1en@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit d6fe5be34cf03e7db36d99c1b9d8e472ad3bdb87
  Author: Jan Willeke <willeke@xxxxxxxxxx>
  Date:   Wed Oct 8 10:16:08 2014 +0200

      s390/uprobes: fix kprobes dependency

      If kprobes is disabled uprobes will not compile.
      Fix this by including the correct header files.

      Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx>
      Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

  commit fcb1c2d75b55fe52c40cd9692fda73da061f19aa
  Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
  Date:   Thu Oct 9 12:58:25 2014 +0200

      s390: wire up bpf syscall

      Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
      Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

  commit ab760a0c5667519b375ea9c5ab3a23501c4817ef
  Author: Dave Jiang <dave.jiang@xxxxxxxxx>
  Date:   Thu Aug 28 13:53:23 2014 -0700

      ntb: Adding split BAR support for Haswell platforms

      On the Haswell platform, a split BAR option to allow creation of 2
      32bit BARs (4 and 5) from the 64bit BAR 4. Adding support for this
      new option.

      Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
      Signed-off-by: Jon Mason <jdmason@xxxxxxxx>

  commit 069684e888da73f175da0f10fe26da4f450d8c18
  Author: Dave Jiang <dave.jiang@xxxxxxxxx>
  Date:   Thu Aug 28 13:53:18 2014 -0700

      ntb: use errata flag set via DID to implement workaround

      Instead of using a module parameter, we should detect the errata via
      PCI DID and then set an appropriate flag. This will be used for additional
      errata later on.

      Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
      Signed-off-by: Jon Mason <jdmason@xxxxxxxx>

  commit 1db97f258966878317ece10868eaca99201d5884
  Author: Dave Jiang <dave.jiang@xxxxxxxxx>
  Date:   Thu Aug 28 13:53:13 2014 -0700

      ntb: conslidate reading of PPD to move platform detection earlier

      To simplify some of the platform detection code. Move the platform 
detection
      to a function to be called earlier.

      Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
      Signed-off-by: Jon Mason <jdmason@xxxxxxxx>

  commit b775e85bdb0395077a23bc072c4a62986883e276
  Author: Dave Jiang <dave.jiang@xxxxxxxxx>
  Date:   Thu Aug 28 13:53:07 2014 -0700

      ntb: move platform detection to separate function

      Move the platform detection function to separate functions to allow
      easier maintenence.

      Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
      Signed-off-by: Jon Mason <jdmason@xxxxxxxx>

  commit 6465d02ee15f7a45339b7e7859d0a0f22100ca87
  Author: Jon Mason <jon.mason@xxxxxxxxx>
  Date:   Mon Apr 7 10:55:47 2014 -0700

      NTB: debugfs device entry

      Create a debugfs entry for the NTB device to log the basic device info,
      as well as display the error count on a number of registers.

      Signed-off-by: Jon Mason <jon.mason@xxxxxxxxx>

  commit d37973082b453ba6b89ec07eb7b84305895d35e1
  Author: Chris Mason <clm@xxxxxx>
  Date:   Wed Oct 15 13:50:56 2014 -0700

      Revert "Btrfs: race free update of commit root for ro snapshots"

      This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc.

      Switching only one commit root during a transaction is wrong because it
      leads the fs into an inconsistent state. All commit roots should be
      switched at once, at transaction commit time, otherwise backref walking
      can often miss important references that were only accessible through
      the old commit root.  Plus, the root item for the snapshot's root wasn't
      getting updated and preventing the next transaction commit to do it.

      This made several users get into random corruption issues after creation
      of readonly snapshots.

      A regression test for xfstests will follow soon.

      Cc: stable@xxxxxxxxxxxxxxx # 3.17
      Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
      Signed-off-by: Chris Mason <clm@xxxxxx>

  commit 691286b5561aab2e1b00119bc328598c01250548
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Fri Oct 17 07:29:50 2014 +1100

      kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define

      Commit e7dbfe349d12 ("kprobes/x86: Move ftrace-based kprobe code
      into kprobes-ftrace.c") switched from using
      ARCH_SUPPORTS_KPROBES_ON_FTRACE to CONFIG_KPROBES_ON_FTRACE but
      missed removing the define.

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Cc: masami.hiramatsu.pt@xxxxxxxxxxx
      Cc: ananth@xxxxxxxxxx
      Cc: a.p.zijlstra@xxxxxxxxx
      Cc: fweisbec@xxxxxxxxx
      Cc: rostedt@xxxxxxxxxxx
      Cc: linux-kernel@xxxxxxxxxxxxxxx
      Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

  commit 4e03394e939135adcd453bd538ea02d98a30473b
  Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
  Date:   Thu Sep 25 17:32:31 2014 +0900

      ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa

      Explicitly set the dr_mode for the second dwc3 controller on the
      Arndale Octa board to host mode. This is required to ensure the
      controller is initialized in the right mode if the kernel is build
      with USB gadget support.

      Reported-By: Andreas Faerber <afaerber@xxxxxxx>
      Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
      Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx>

  commit e1c69efc52bbad7fa289694672d467ab4fdf9f52
  Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
  Date:   Thu Sep 25 17:32:14 2014 +0900

      ARM: dts: Explicitly set dr_mode on exynos Peach boards

      In case the optional dr_mode property isn't set in the dwc3 nodes the
      the controller will go into OTG mode if both USB host and USB gadget
      functionality are enabled in the kernel configuration. Unfortunately
      this results in USB not working on exynos5420-peach-pit and
      exynos5800-peach-pi with such a kernel configuration unless manually
      change the mode. To resolve that explicitly configure the dual role
      mode as host.

      Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
      Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
      Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx>

  commit e89dafb5ca5022d3bc63602018adfc766c73bc2b
  Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
  Date:   Thu Oct 16 17:43:02 2014 +1100

      powerpc: Only do dynamic DMA zone limits on platforms that need it

      Scott's patch 1c98025c6c95 "Dynamic DMA zone limits" changed
      dma_direct_alloc_coherent() to start using dev->coherent_dma_mask.

      That seems fair enough, but it exposes the fact that some of the drivers
      we care about on IBM platforms aren't setting the coherent mask.

      The proper fix is to have drivers set the coherent mask and also have
      the platform code honor it.

      For now, just restrict the dynamic DMA zone limits to the platforms that
      need it.

      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
      Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx>

  commit 4dfb15cd5aaa6682e93854a74b394a1c95b82621
  Author: Tommi Rantala <tt.rantala@xxxxxxxxx>
  Date:   Thu Oct 16 14:02:07 2014 -0700

      Input: xpad - add Thrustmaster as Xbox 360 controller vendor

      Add Thrustmaster as Xbox 360 controller vendor. This is required for
      example to make the GP XID (044f:b326) gamepad work.

      Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 4b54625822eb7a4eae9c5b8c890b6c4dc001b895
  Author: Tommi Rantala <tt.rantala@xxxxxxxxx>
  Date:   Thu Oct 16 14:01:43 2014 -0700

      Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel

      Add the USB ID for the Xbox 360 Thrustmaster Ferrari 458 Racing Wheel.

      Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 135d916fe8a5fa25ad87a62844acfd3dbb1c9fb9
  Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx>
  Date:   Thu Oct 16 13:56:52 2014 -0700

      Input: max77693-haptic - fix state check in imax77693_haptic_disable()

      The check to see whether the device is already disabled in
      max77693_haptic_disable() was inversed, this change corrects it.

      Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx>
      Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 4d544e3bdb12f8e48f61e7f2270b253a48c69e00
  Author: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 16 13:33:24 2014 -0700

      Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend

      xenkbd_disconnect_backend doesn't free grant table entry.  This bug 
affects
      live migration.

      xenkbd_disconnect_backend uses gnttab_end_foreign_access_ref to handle
      grant table entry which doesn't really free an entry.

      Thus every time we do xenkbd_resume, grant table entry increses by one. As
      an grant table entry occupies 8 bytes, an grant table page has at most 512
      entries. Every 512 times we do xenkdb_resume, grant table pages increses 
by
      one.

      After around 3500 times of live migration, grant table pages will increase
      by 7, causing too many pages to populate and hitting max_pages limit when
      assigning pages.Thus assign_pages will fail, so will live migration.

      Signed-off-by: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx>
      Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 9ffc5412964d5b276227684124efb702ec387c19
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Thu Oct 16 15:13:14 2014 -0500

      Check minimum response length on query_network_interface

      Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx>
      Signed-off-by: Steve French <smfrench@xxxxxxxxx>

  commit b5b374eab11ef60d789e28bc36c18e2d08703212
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Mon Oct 6 01:01:03 2014 -0500

      Workaround Mac server problem

      Mac server returns that they support CIFS Unix Extensions but
      doesn't actually support QUERY_FILE_UNIX_BASIC so mount fails.

      Workaround this problem by disabling use of Unix CIFS protocol
      extensions if server returns an EOPNOTSUPP error on
      QUERY_FILE_UNIX_BASIC during mount.

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>

  commit 2baa2682531ff02928e2d3904800696d9e7193db
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Sat Sep 27 02:19:01 2014 -0500

      Remap reserved posix characters by default (part 3/3)

      This is a bigger patch, but its size is mostly due to
      a single change for how we check for remapping illegal characters
      in file names - a lot of repeated, small changes to
      the way callers request converting file names.

      The final patch in the series does the following:

      1) changes default behavior for cifs to be more intuitive.
      Currently we do not map by default to seven reserved characters,
      ie those valid in POSIX but not in NTFS/CIFS/SMB3/Windows,
      unless a mount option (mapchars) is specified.  Change this
      to by default always map and map using the SFM maping
      (like the Mac uses) unless the server negotiates the CIFS Unix
      Extensions (like Samba does when mounting with the cifs protocol)
      when the remapping of the characters is unnecessary.  This should
      help SMB3 mounts in particular since Samba will likely be
      able to implement this mapping with its new "vfs_fruit" module
      as it will be doing for the Mac.
      2) if the user specifies the existing "mapchars" mount option then
      use the "SFU" (Microsoft Services for Unix, SUA) style mapping of
      the seven characters instead.
      3) if the user specifies "nomapposix" then disable SFM/MAC style mapping
      (so no character remapping would be used unless the user specifies
      "mapchars" on mount as well, as above).
      4) change all the places in the code that check for the superblock
      flag on the mount which is set by mapchars and passed in on all
      path based operation and change it to use a small function call
      instead to set the mapping type properly (and check for the
      mapping type in the cifs unicode functions)

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>

  commit a4153cb1d3cb7d7c16968b0a9cf7c8aacf31424e
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Thu Sep 25 14:01:34 2014 -0500

      Allow conversion of characters in Mac remap range (part 2)

      The previous patch allowed remapping reserved characters from directory
      listenings, this patch adds conversion the other direction, allowing
      opening of files with any of the seven reserved characters.

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>
      Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx>

  commit b693855fe67314d501aae74b9adff8788eb2fd82
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Thu Sep 25 13:20:05 2014 -0500

      Allow conversion of characters in Mac remap range. Part 1

      This allows directory listings to Mac to display filenames
      correctly which have been created with illegal (to Windows)
      characters in their filename. It does not allow
      converting the other direction yet ie opening files with
      these characters (followon patch).

      There are seven reserved characters that need to be remapped when
      mounting to Windows, Mac (or any server without Unix Extensions) which
      are valid in POSIX but not in the other OS.

      : \ < > ? * |

      We used the normal UCS-2 remap range for this in order to convert this
      to/from UTF8 as did Windows Services for Unix (basically add 0xF000 to
      any of the 7 reserved characters), at least when the "mapchars" mount
      option was specified.

      Mac used a very slightly different "Services for Mac" remap range
      0xF021 through 0xF027.  The attached patch allows cifs.ko (the kernel
      client) to read directories on macs containing files with these
      characters and display their names properly.  In theory this even
      might be useful on mounts to Samba when the vfs_catia or new
      "vfs_fruit" module is loaded.

      Currently the 7 reserved characters look very strange in directory
      listings from cifs.ko to Mac server.  This patch allows these file
      name characters to be read (requires specifying mapchars on mount).

      Two additional changes are needed:
      1) Make it more automatic: a way of detecting enough info so that
      we know to try to always remap these characters or not. Various
      have suggested that the SFM approach be made the default when
      the server does not support POSIX Unix extensions (cifs mounts
      to Samba for example) so need to make SFM remapping the default
      unless mapchars (SFU style mapping) specified on mount or no
      mapping explicitly requested or no mapping needed (cifs mounts to Samba).

      2) Adding a patch to map the characters the other direction
      (ie UTF-8 to UCS-2 on open).  This patch does it for translating
      readdir entries (ie UCS-2 to UTF-8)

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>
      Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx>

  commit c22870ea2deb2841402133909cfa707a2c0b12ed
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Tue Sep 16 07:18:19 2014 -0500

      mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink

      Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks
      via the "Minshall/French" symlink format already used for cifs
      mounts when mfsymlinks mount option is used (and also used by Apple).
        
http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks
      This second patch adds support to query them (recognize them as symlinks
      and read them).  Third version of patch makes minor corrections
      to error handling.

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>
      Reviewed-by: Stefan Metzmacher <metze@xxxxxxxxx>

  commit 5ab97578cbb3bf9a28dec4534cb86fbc35e600bb
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Mon Sep 15 04:49:28 2014 -0500

      Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink

      Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks
      via the "Minshall/French" symlink format already used for cifs
      mounts when mfsymlinks mount option is used (and also used by Apple).
      http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks
      This first patch adds support to create them.  The next patch will
      add support for recognizing them and reading them.  Although CIFS/SMB3
      have other types of symlinks, in the many use cases they aren't
      practical (e.g. either require cifs only mounts with unix extensions
      to Samba, or require the user to be Administrator to Windows for SMB3).
      This also helps enable running additional xfstests over SMB3 (since some
      xfstests directly or indirectly require symlink support).

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>
      CC: Stefan Metzmacher <metze@xxxxxxxxx>

  commit db8b631d4bc4eaa9f7e13a6b0a287306cac0cb72
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Mon Sep 22 05:13:55 2014 -0500

      Allow mknod and mkfifo on SMB2/SMB3 mounts

      The "sfu" mount option did not work on SMB2/SMB3 mounts.
      With these changes when the "sfu" mount option is passed in
      on an smb2/smb2.1/smb3 mount the client can emulate (and
      recognize) fifo and device (character and device files).

      In addition the "sfu" mount option should not conflict
      with "mfsymlinks" (symlink emulation) as we will never
      create "sfu" style symlinks, but using "sfu" mount option
      will allow us to recognize existing symlinks, created with
      Microsoft "Services for Unix" (SFU and SUA).

      To enable the "sfu" mount option for SMB2/SMB3 the calling
      syntax of the generic cifs/smb2/smb3 sync_read and sync_write
      protocol dependent function needed to be changed (we
      don't have a file struct in all cases), but this actually
      ended up simplifying the code a little.

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>

  commit 73322979097f287101617904dd08180feaa658b4
  Author: Steve French <smfrench@xxxxxxxxx>
  Date:   Tue Sep 23 19:25:42 2014 -0500

      add defines for two new file attributes

      Signed-off-by: Steve French <smfrench@xxxxxxxxx>
      Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx>

  commit 2c6ba4b15b5ef38213b6c42ce09e9398f78cef9f
  Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
  Date:   Thu Oct 16 15:47:51 2014 +0200

      netlink: fix description of portid

      Avoid confusion between pid and portid.

      Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3331177cbde01e03e2eae7aee13ad87fffd7be42
  Merge: f5b720b 600a507
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Thu Oct 16 14:42:51 2014 -0400

      Merge branch 'master' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net

      Jeff Kirsher says:

      ====================
      Intel Wired LAN Driver Updates 2014-10-16

      This series contains updates to fm10k and ixgbe.

      Matthew provides two fixes for fm10k, first sets the flag to fetch the
      host state before kicking off the service task that reads the host
      state when bringing the interface up.  The second makes sure that we
      release the mailbox lock after detecting an error and before we return
      the error code.

      Andy Zhou provides a compile fix for fm10k, when the driver is compiled
      into the kernel and the VXLAN driver is compiled as a module.

      Emil provides a fix for ixgbe to prevent against a panic by trying
      to dereference a NULL pointer in ixgbe_ndo_set_vf_spoofchk().
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3569b70c4077db2b70a401c23ac597faf0d1b424
  Author: Anton Altaparmakov <anton@xxxxxxxxxx>
  Date:   Thu Oct 16 12:53:35 2014 +0100

      NTFS: Bump version to 2.1.31.

      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>

  commit 3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70
  Author: Anton Altaparmakov <anton@xxxxxxxxxx>
  Date:   Thu Oct 16 12:50:52 2014 +0100

      NTFS: Add bmap address space operation needed for FIBMAP ioctl.

      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>

  commit 2b522cc16000c33d16bc76ee37e99ff9002a27be
  Author: Anton Altaparmakov <anton@xxxxxxxxxx>
  Date:   Thu Oct 16 12:43:57 2014 +0100

      NTFS: Remove changelog from Documentation/filesystems/ntfs.txt.

      Changelog is in git history, no need to have a copy in the documentation.

      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>

  commit ce1bafa094a5ef3aaa8afa08727b1e970e9d4711
  Author: Anton Altaparmakov <anton@xxxxxxxxxx>
  Date:   Thu Oct 16 12:28:03 2014 +0100

      NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops
      in preparation for them diverging.

      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>

  commit 9b32011acdc4428474b7cba865f713a11b9b9bd3
  Merge: 0429fbc 923190d
  Author: James Morris <james.l.morris@xxxxxxxxxx>
  Date:   Thu Oct 16 21:04:18 2014 +1100

      Merge branch 'stable-3.18' of 
git://git.infradead.org/users/pcmoore/selinux into for-linus2

  commit 600a507ddcb99096731e1d96a3ebf43e20fc7f80
  Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx>
  Date:   Thu Oct 16 15:49:02 2014 +0000

      ixgbe: check for vfs outside of sriov_num_vfs before dereference

      The check for vfinfo is not sufficient because it does not protect
      against specifying vf that is outside of sriov_num_vfs range.
      All of the ndo functions have a check for it except for
      ixgbevf_ndo_set_spoofcheck().

      The following patch is all we need to protect against this panic:

      ip link set p96p1 vf 0 spoofchk off
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000052
      IP: [<ffffffffa044a1c1>]
      ixgbe_ndo_set_vf_spoofchk+0x51/0x150 [ixgbe]

      Reported-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx>
      Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx>
      Acked-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>

  commit f6b03c10a1b3f2c98ed23813997cdebef8aabeba
  Author: Andy Zhou <azhou@xxxxxxxxxx>
  Date:   Sat Oct 4 06:19:11 2014 +0000

      fm10k: Add CONFIG_FM10K_VXLAN configuration option

      Compiling with CONFIG_FM10K=y and VXLAN=m resulting in linking error:

         drivers/built-in.o: In function `fm10k_open':
         (.text+0x1f9d7a): undefined reference to `vxlan_get_rx_port'
         make: *** [vmlinux] Error 1

      The fix follows the same strategy as I40E.

      Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx>
      Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx>
      Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>

  commit 2df36a5dd6792870bef48f63bfca42055ea5b79c
  Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
  Date:   Sun Sep 28 16:04:26 2014 +0200

      arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs

      The EIRSR and ELRSR registers are 32-bit registers on GICv2, and we
      store these as an array of two such registers on the vgic vcpu struct.
      However, we access them as a single 64-bit value or as a bitmap pointer
      in the generic vgic code, which breaks BE support.

      Instead, store them as u64 values on the vgic structure and do the
      word-swapping in the assembly code, which already handles the byte order
      for BE systems.

      Tested-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx>
      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 13cb2dad45cc8c8e350abc84de38449b89629c3c
  Author: Matthew Vick <matthew.vick@xxxxxxxxx>
  Date:   Fri Oct 3 00:43:35 2014 +0000

      fm10k: Unlock mailbox on VLAN addition failures

      After grabbing the mailbox lock and detecting an error, the lock must be
      released before the error code can be returned.

      Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx>
      Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>

  commit 6b997bab20448cfe85456e4789d5d9222ab6b830
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Thu Oct 16 12:59:06 2014 +0530

      serial: atmel: add missing dmaengine header

      The atmel serial driver uses dmaengine APIs but never included the 
dmaengine
      header as it was getting inculded thru one of driver headers.

      commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972 - "dmaengine: dw: split
      dma-dw.h to platform and private parts" broke this as it moved headers
      around.  Fix this by doing the right thing to include the dmaengine header

      Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
      Fixes: 08f738be88bb (serial: at91: add tx dma support)
      Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 4d4191566fdd0e8990b2e8ab5ae819227c92892f
  Author: Matthew Vick <matthew.vick@xxxxxxxxx>
  Date:   Thu Oct 2 05:10:18 2014 +0000

      fm10k: Check the host state when bringing the interface up

      Set the flag to fetch the host state before kicking off the service task
      that reads the host state when bringing the interface back up.

      Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx>
      Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>

  commit 7dac24bdc1dd561573cd8ce534a63dc975f51ca8
  Author: Mike Rapoport <mike.rapoport@xxxxxxxxx>
  Date:   Wed Oct 1 19:09:11 2014 +0300

      ARM: dts: qcom: add CM-QS600 board

      CM-QS600 is a APQ8064 based computer on module.
      The details are available at
      http://compulab.co.il/products/computer-on-modules/cm-qs600/

      Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx>
      Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx>
      Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>

  commit 71b5235ab69bc65a19f5b15a7fa01a0a5de89cb5
  Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx>
  Date:   Tue Sep 30 15:49:49 2014 -0700

      ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone

      This DTS has support for the Sony Xperia Z1 phone (codenamed Honami).
      This first version of the DTS supports just a serial console.

      Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx>
      Tested-by: Kevin Hilman <khilman@xxxxxxxxxx>
      Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>

  commit e512448f6e98fb77f2be8ec7155f0ed941855796
  Author: Kumar Gala <galak@xxxxxxxxxxxxxx>
  Date:   Tue Sep 23 13:21:41 2014 -0500

      ARM: dts: qcom: Add SATA support on IPQ8064/AP148

      Add SATA PHY and SATA AHCI controller nodes to device tree to enable
      generic ahci support on the IPQ8064/AP148 board.

      Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>

  commit 3e27a8445c21f8056517f188303827450590d868
  Author: james.d.ralston@xxxxxxxxx <james.d.ralston@xxxxxxxxx>
  Date:   Mon Oct 13 15:20:24 2014 -0700

      i2c: i801: Add Device IDs for Intel Sunrise Point PCH

      This patch adds the I2C/SMBus Device IDs for the Intel Sunrise Point PCH.

      Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx>
      Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>

  commit 15ef27756b23a9fe5ec637a92c40dabd31aa38f6
  Author: Wei Yan <sledge.yanwei@xxxxxxxxxx>
  Date:   Tue Oct 7 09:04:12 2014 +0800

      i2c: hix5hd2: add i2c controller driver

      I2C drivers for hix5hd2 soc series, including following chipset
      Hi3716CV200, Hi3719CV100, Hi3718CV100, Hi3719MV100, Hi3718MV100.

      Signed-off-by: Wei Yan <sledge.yanwei@xxxxxxxxxx>
      Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
      [wsa: folded dt docs into this patch]
      Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>

  commit 86be175a730bd98de2b75522eae08160ec2dec91
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 20:17:33 2014 +1100

      powerpc: sync pseries_le_defconfig with pseries_defconfig

      Now KVM is working on LE, enable it. Also enable transarent
      hugepage which has already been enabled on BE.

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 2c186e05a5c6dc8fcfb1e8bf6901ad1598c40db6
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 20:21:22 2014 +1100

      powerpc: Add printk levels to setup_system output

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 71c62b24fe88e4d3f5470207426e94345ca94c83
  Merge: ec4212d 673d659
  Author: Ingo Molnar <mingo@xxxxxxxxxx>
  Date:   Thu Oct 16 07:15:45 2014 +0200

      Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

       User visible changes:

        * Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung 
Song)

        * Fix for double free in 'perf stat' when using some specific invalid
          command line combo (Yasser Shalabi)

       Infrastructure changes:

        * Add option to copy events when queuing for sorting across cpu buffers
          and enable it for 'perf kvm stat live', to avoid having events left
          in the queue pointing to the ring buffer be rewritten in high volume
          sessions.  (Alexander Yarygin, improving work done by David Ahern):

        * Document sysfs events/ interfaces (Cody P Schafer)

        * Add support to new style format of kernel PMU event. (Kan Liang)

        * Fix typos in perf/Documentation (Masanari Iida)

        * Improve callchains when using libunwind (Namhyung Kim)

      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
      Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

  commit 91269e390d062b526432f2ef1352b8df82e0e0bc
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Thu Oct 16 09:17:18 2014 +0800

      vxlan: using pskb_may_pull as early as possible

      pskb_may_pull should be used to check if skb->data has enough space,
      skb->len can not ensure that.

      Cc: Cong Wang <xiyou.wangcong@xxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ce6502a8f9572179f044a4d62667c4645256d6e4
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Thu Oct 16 08:49:41 2014 +0800

      vxlan: fix a use after free in vxlan_encap_bypass

      when netif_rx() is done, the netif_rx handled skb maybe be freed,
      and should not be used.

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4e8febd0a76333875636859e0092a14c1fba49e4
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Wed Oct 15 21:03:41 2014 +0200

      openvswitch: use vport instead of p

      All functions used struct vport *vport except
      ovs_vport_find_upcall_portid.

      This fixes 1 kerneldoc warning

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7e78cc46b7ec0c80257de8d09f0097081754e206
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Wed Oct 15 21:03:18 2014 +0200

      openvswitch: kerneldoc warning fix

      s/sock/gs

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit aeba3731b150188685225b510886f1370d8814de
  Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
  Date:   Thu Oct 16 12:29:46 2014 +1100

      powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change

      Commit 0b0b0893d49b "of/pci: Fix the conversion of IO ranges into IO
      resources" changed the behaviour of of_pci_range_to_resource().

      Previously it simply populated the resource based on the arguments. Now
      it calls pci_register_io_range() and pci_address_to_pio(). These both
      have two implementations depending on whether PCI_IOBASE is defined,
      which it is not for powerpc.

      Further complicating matters, both routines are weak, and powerpc
      implements it's own version of one - pci_address_to_pio(). However
      powerpc's implementation depends on other initialisations which are done
      later in boot.

      The end result is incorrectly initialised IO space. Often we can get
      away with that, because we don't make much use of IO space. However
      virtio requires it, so we see eg:

        pci_bus 0000:00: root bus resource [io  0xffff] (bus address 
[0xffffffffffffffff-0xffffffffffffffff])
        PCI: Cannot allocate resource region 0 of device 0000:00:01.0, will 
remap
        virtio-pci 0000:00:01.0: can't enable device: BAR 0 [io  size 0x0020] 
not assigned

      The simplest fix for now is to just stop using of_pci_range_to_resource(),
      and open-code the original implementation, that's all we want it to do.

      Fixes: 0b0b0893d49b ("of/pci: Fix the conversion of IO ranges into IO 
resources")
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 5c9fb1899400096c6818181c525897a31d57e488
  Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 12:42:58 2014 +0200

      powerpc/vphn: NUMA node code expects big-endian

      The associativity domain numbers are obtained from the hypervisor through
      registers and written into memory by the guest: the packed array passed to
      vphn_unpack_associativity() is then native-endian, unlike what was assumed
      in the following commit:

      commit b08a2a12e44eaec5024b2b969f4fcb98169d1ca3
      Author: Alistair Popple <alistair@xxxxxxxxxxxx>
      Date:   Wed Aug 7 02:01:44 2013 +1000

          powerpc: Make NUMA device node code endian safe

      This issue fills the topology with bogus data and makes it unusable. It 
may
      lead to severe performance breakdowns.

      We should ideally patch the vphn_unpack_associativity() function to do the
      64-bit loads, but this requires some more brain storming.

      In the meantime, let's go for a suboptimal and temporary bug fix: this 
patch
      converts each 64-bit value of the packed array to big endian, as expected 
by
      the current parsing code in vphn_unpack_associativity().

      Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit f5b720b85944413491df106f05a784cd1714436e
  Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx>
  Date:   Wed Oct 15 19:11:46 2014 +0300

      gianfar: Add FCS to rx buffer size (fix)

      For each Rx frame the eTSEC writes its FCS (Frame Check Sequence)
      to the Rx buffer.

      The eTSEC h/w manual states in the "Receive Buffer Descriptor Field
      Descriptions" table:
      "Data length is the number of octets written by the eTSEC into this BD's
      data buffer if L is cleared (the value is equal to MRBLR), or, if L is
      set, the length of the frame including *CRC*, FCB (if RCTRL[PRSDEP > 00),
      preamble (if MACCFG2[PreAmRxEn]=1), time stamp (if RCTRL[TS] = 1) and
      any padding (RCTRL[PAL])."

      Though the FCS bytes are removed by the driver before passing the skb
      to the net stack, the Rx buffer size computation does not currently
      take into account the FCS bytes (4 bytes).
      Because the Rx buffer size is multiple of 512 bytes, leaving out the
      FCS is not a problem for the default MTU of 1500, as the Rx buffer size
      is 1536 in this case.  However, for custom MTUs, where the difference
      between the MTU size and the Rx buffer size is less, this can be a
      problem as the computed Rx buffer size won't be enough to accomodate
      the FCS for a received frame that is big enough (close to MTU size).
      In such case the received frame is considered to be incomplete (L flag
      not set in the RxBD status) and silently dropped.

      Note that the driver does not currently support S/G on Rx, so it has to
      compute its Rx buffer size based on the MTU of the device.

      Reported-by: Kristian Otnes <kotnes@xxxxxxxxx>
      Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit d4bf205da618bbd0b038e404d646f14e76915718
  Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx>
  Date:   Sun Oct 12 23:09:08 2014 -0400

      pstore: Fix duplicate {console,ftrace}-efi entries

      The pstore filesystem still creates duplicate filename/inode pairs for
      some pstore types.  Add the id to the filename to prevent that.

      Before patch:

      [/sys/fs/pstore] ls -li
      total 0
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi
      1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi

      After:

      [/sys/fs/pstore] ls -li
      total 0
      1232 -r--r--r--. 1 root root 148 Sep 29 17:09 console-efi-141202499100000
      1231 -r--r--r--. 1 root root  67 Sep 29 17:09 console-efi-141202499200000
      1230 -r--r--r--. 1 root root 148 Sep 29 17:44 console-efi-141202705400000
      1229 -r--r--r--. 1 root root  67 Sep 29 17:44 console-efi-141202705500000
      1228 -r--r--r--. 1 root root  67 Sep 29 20:42 console-efi-141203772600000
      1227 -r--r--r--. 1 root root 148 Sep 29 23:42 console-efi-141204854900000
      1226 -r--r--r--. 1 root root  67 Sep 29 23:42 console-efi-141204855000000
      1225 -r--r--r--. 1 root root 148 Sep 29 23:59 console-efi-141204954200000
      1224 -r--r--r--. 1 root root  67 Sep 29 23:59 console-efi-141204954400000

      Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx>
      Acked-by: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx # 3.6+
      Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>

  commit 4b7fd2e688d51f8ed7380758047fcaa4d4693d47
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 16:23:28 2014 +0300

      virtio_net: fix use after free

      commit 0b725a2ca61bedc33a2a63d0451d528b268cf975
          net: Remove ndo_xmit_flush netdev operation, use signalling instead.

      added code that looks at skb->xmit_more after the skb has
      been put in TX VQ. Since some paths process the ring and free the skb
      immediately, this can cause use after free.

      Fix by storing xmit_more in a local variable.

      Cc: David S. Miller <davem@xxxxxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 28b5f058cf1d268d965894ce42a614d13f853dd6
  Author: Nimrod Andy <B38611@xxxxxxxxxxxxx>
  Date:   Wed Oct 15 17:30:12 2014 +0800

      net: fec: ptp: fix convergence issue to support LinuxPTP stack

      iMX6SX IEEE 1588 module has one hw issue in capturing the ATVR register.
      The current SW flow is:
                ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK;
                ts_counter_ns = ENET0->ATVR;
      The ATVR value is not expected value that cause LinuxPTP stack cannot be 
convergent.

      ENET Block Guide/ Chapter for the iMX6SX (PELE) address the issue:
      After set ENET_ATCR[Capture], there need some time cycles before the 
counter
      value is capture in the register clock domain. The wait-time-cycles is at 
least
      6 clock cycles of the slower clock between the register clock and the 
1588 clock.
      So need something like:
                ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK;
                wait();
                ts_counter_ns = ENET0->ATVR;

      For iMX6SX, the 1588 ts_clk is fixed to 25Mhz, register clock is 66Mhz, 
so the
      wait-time-cycles must be greater than 240ns (40ns * 6). The patch add 1us 
delay
      before cpu read ATVR register.

      Changes V2:
      Modify the commit/comments log to describe the issue clearly.

      Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx>
      Acked-by: Richard Cochran <richardcochran@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 673d659f5c5918b7ddbafebf1f129c9eb82973b4
  Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 3 18:40:12 2014 +0400

      perf kvm stat live: Enable events copying

      Process of analyzing events caused by 2 functions: mmap_read() and
      finished_round().

      During mmap_read(), perf receives events from shared memory, queues
      their pointers for further processing in finished_round() and notifies
      the kernel that the events have been processed.

      By the time when finished_round() is invoked, queued events can be
      overwritten by the kernel, so the finished_round() occurs on potentially
      corrupted memory.

      Since there is no place where the event can be safely consumed, let's
      copy events when queueing.

      Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx>
      Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412347212-28237-3-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 54bf53b1cb9150b894213a705c562d52388376ef
  Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 3 18:40:11 2014 +0400

      perf session: Add option to copy events when queueing

      When processing events the session code has an ordered samples queue
      which is used to time-sort events coming in across multiple mmaps. At a
      later point in time samples on the queue are flushed up to some
      timestamp at which point the event is actually processed.

      When analyzing events live (ie., record/analysis path in the same
      command) there is a race that leads to corrupted events and parse errors
      which cause perf to terminate. The problem is that when the event is
      placed in the ordered samples queue it is only a reference to the event
      which is really sitting in the mmap buffer. Even though the event is
      queued for later processing the mmap tail pointer is updated which
      indicates to the kernel that the event has been processed. The race is
      flushing the event from the queue before it gets overwritten by some
      other event. For commands trying to process events live (versus just
      writing to a file) and processing a high rate of events this leads to
      parse failures and perf terminates.

      Examples hitting this problem are 'perf kvm stat live', especially with
      nested VMs which generate 100,000+ traces per second, and a command
      processing scheduling events with a high rate of context switching --
      e.g., running 'perf bench sched pipe'.

      This patch offers live commands an option to copy the event when it is
      placed in the ordered samples queue.

      Based on a patch from David Ahern <dsahern@xxxxxxxxx>

      Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412347212-28237-2-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 96355f2cfb61bb057df9bc0712cd7323dba28080
  Author: Masanari Iida <standby24x7@xxxxxxxxx>
  Date:   Wed Sep 10 00:18:50 2014 +0900

      perf Documentation: Fix typos in perf/Documentation

      This patch fix spelling typos found in tool/perf/Documentation.

      Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
      Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1410275930-17207-1-git-send-email-standby24x7@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 89dceb22c098bd6afa9f3054aedddb9e1349392b
  Author: Namhyung Kim <namhyung@xxxxxxxxxx>
  Date:   Mon Oct 6 09:46:03 2014 +0900

      perf trace: Use thread_{,_set}_priv helpers

      This is mechanical changes only for accounting access to thread->priv
      properly in the source level.

      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412556363-26229-6-git-send-email-namhyung@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 69e865c353b226dbedf319ae6d1ab8fb3510fa25
  Author: Namhyung Kim <namhyung@xxxxxxxxxx>
  Date:   Mon Oct 6 09:46:02 2014 +0900

      perf kvm: Use thread_{,_set}_priv helpers

      This is mechanical changes only for accounting access to thread->priv
      properly in the source level.

      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412556363-26229-5-git-send-email-namhyung@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 66f066d8994bd146304bab72fa09c1e644c4b3ff
  Author: Namhyung Kim <namhyung@xxxxxxxxxx>
  Date:   Mon Oct 6 09:46:00 2014 +0900

      perf callchain: Create an address space per thread

      The unw_addr_space_t in libunwind represents an address space to be used
      for stack unwinding.  It doesn't need to be create/destory everytime to
      unwind callchain (as in get_entries) and can have a same lifetime as
      thread (unless exec called).

      So move the address space construction/destruction logic to the thread
      lifetime handling functions.  This is a preparation to enable caching in
      the unwind library.

      Note that it saves unw_addr_space_t object using thread__set_priv().  It
      seems currently only used by perf trace and perf kvm stat commands which
      don't use callchain.

      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Acked-by: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Arun Sharma <asharma@xxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412556363-26229-3-git-send-email-namhyung@xxxxxxxxxx
      [ Fixup unwind-libunwind.c missing CALLCHAIN_DWARF definition, added
        missing __maybe_unused on unused parameters in stubs at util/unwind.h ]
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 0cdccac6fe4b1316f04f0dbfcc4efab51932014a
  Author: Namhyung Kim <namhyung@xxxxxxxxxx>
  Date:   Mon Oct 6 09:45:59 2014 +0900

      perf report: Set callchain_param.record_mode for future use

      Normally the callchain_param.record_mode is used only for record path.
      But as it might need to prepare something for dwarf unwinding, setup
      this info for perf report too.

      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung.kim@xxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412556363-26229-2-git-send-email-namhyung@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit b2e19a934a36b2b4affcde9c170c0f01afabe50a
  Author: Yasser Shalabi <yassershalabi@xxxxxxxxx>
  Date:   Sat Oct 4 11:37:57 2014 -0400

      perf evlist: Fix for double free in tools/perf stat

      Fix for double free bug in tools/perf due to dangling thread_map pointer
      in perf_evlist struct.

      Code path excercised when perf stat -C switch is used but not set and is
      followed by another switch.

      Example:

        perf stat -C -e.

      Signed-off-by: Yasser Shalabi <yassershalabi@xxxxxxxxx>
      Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412437077-13109-1-git-send-email-yassershalabi@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit ffe59788e69b548bd62cc9a053253a8af2cdda1d
  Author: Kan Liang <kan.liang@xxxxxxxxx>
  Date:   Tue Oct 7 11:08:52 2014 -0400

      perf test: Add test case for pmu event new style format

      Add test case in automated tests suite. It checks not only the two types
      of pmu event stytle formats "pmu_event_name" and "cpu/pmu_event_name/",
      but also the different formats mixtures which are more likely to trigger
      parse issue.

      The patch set including this one has been tested by the perf automated
      test:

         ./perf test parse -v"

      On haswell, ivybridge and Romley platform.

      The patch set also has been tested on haswell by the following script.

      Note: please make sure that your test system support TSX and
      L1-dcache-loads events. Otherwise, you may want to change the events to
      other pmu events.

        [lk@localhost ~]$ cat perf_style_test.sh
        # hardware events + kernel pmu event with different style
        perf stat -x, -e cycles,mem-stores,tx-start sleep 2
        perf stat -x, -e cpu-cycles,cycles-ct,cycles-t sleep 2
        perf stat -x, -e cycles,cpu/cycles-ct/,cpu/cycles-t/ sleep 2
        perf stat -x, -e instructions,cpu/tx-start/ sleep 2
        perf stat -x, -e '{cycles,tx-start}' sleep 2
        perf stat -x, -e '{cycles,cpu/tx-start/}' sleep 2

        # HW Cache event + kernel pmu event with different style
        perf stat -x, -e L1-dcache-loads,cpu/mem-stores/,tx-start sleep 2
        perf stat -x, -e L1-dcache-loads,mem-stores,cpu/tx-start/ sleep 2
        perf stat -x, -e '{L1-dcache-loads,mem-stores}' sleep 2
        perf stat -x, -e '{L1-dcache-loads,cpu/tx-start/}' sleep 2

        # Raw event + kernel pmu event with different style:
        perf stat -x, -e cpu/event=0xc0,umask=0x00/,mem-loads,cpu/mem-stores/ 
sleep 2
        perf stat -x, -e cpu/event=0xc0,umask=0x00/,tx-start,cpu/el-start/ 
sleep 2
        perf stat -x, -e '{cpu/event=0xc0,umask=0x00/,tx-start}' sleep 2

      Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412694532-23391-5-git-send-email-kan.liang@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit ba32a4511c65e41958384d2f7a046a6ec6e151e5
  Author: Kan Liang <kan.liang@xxxxxxxxx>
  Date:   Tue Oct 7 11:08:51 2014 -0400

      perf tools: Add support to new style format of kernel PMU event

      Add new rules for kernel PMU event.

      Currently, the patch only want to handle the PMU event name as "a-b" and
      "a".

      event_pmu:
      PE_KERNEL_PMU_EVENT sep_dc
      |
      PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc

      PE_KERNEL_PMU_EVENT token is for
      cycles-ct/cycles-t/mem-loads/mem-stores.

      The prefix cycles is mixed up with cpu-cycles.  loads and stores are
      mixed up with cache event So they have to be hardcode in lex.

      PE_PMU_EVENT_PRE and PE_PMU_EVENT_SUF tokens are for other PMU events.

      The lex looks generic identifier up in the table and return the matched
      token. If there is no match, generic PE_NAME token will be return.

      Using the rules, kernel PMU event could use new style format without //

      so you can use:

        perf record -e mem-loads ...

      instead of:

        perf record -e cpu/mem-loads/

      Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412694532-23391-4-git-send-email-kan.liang@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit dcb4e1022b40d886027500821a592dd8f8ccde8f
  Author: Kan Liang <kan.liang@xxxxxxxxx>
  Date:   Tue Oct 7 11:08:50 2014 -0400

      perf tools: Parse the pmu event prefix and suffix

      There are two types of event formats for PMU events. E.g. el-abort OR
      cpu/el-abort/. However, the lexer mistakenly recognizes the simple style
      format as two events.

      The parse_events_pmu_check function uses bsearch to search the name in
      known pmu event list. It can tell the lexer that the name is a PE_NAME
      or a PMU event name prefix or a PMU event name suffix. All these
      information will be used for accurately parsing kernel PMU events.

      The pmu events list will be read from sysfs at runtime.

      Note: Currently, the patch only want to handle the PMU event name as
      "a-b" and "a". The only exception, "stalled-cycles-frontend" and
      "stalled-cycles-fronted", are already hardcoded in lexer.

      Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412694532-23391-3-git-send-email-kan.liang@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 42f60c2d63b0d3f7230d28ac37c1da4885d4ee65
  Author: Kan Liang <kan.liang@xxxxxxxxx>
  Date:   Tue Oct 7 11:08:49 2014 -0400

      Revert "perf tools: Default to cpu// for events v5"

      This reverts commit 50e200f07948 ("perf tools: Default to cpu// for
      events v5")

      The fixup cannot handle the case that
      new style format(which without //) mixed with
      other different formats.

      For example,
      group events with new style format: {mem-stores,mem-loads}
      some hardware event + new style event: cycles,mem-loads
      Cache event + new style event: LLC-loads,mem-loads
      Raw event + new style event:
      cpu/event=0xc8,umask=0x08/,mem-loads
      old style event and new stytle mixture: mem-stores,cpu/mem-loads/

      Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
      Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412694532-23391-2-git-send-email-kan.liang@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit b56d5beff4825f9f216f1fc4a54a5d07d4b68b71
  Author: Cody P Schafer <dev@xxxxxxxxxx>
  Date:   Tue Sep 30 23:03:20 2014 -0700

      perf Documentation: Remove Ruplicated docs for powerpc cpu specific events

      Listing specific events doesn't actually help us at all here because:
       - these events actually vary between different ppc processors, they
         aren't garunteed to be present.
       - the documentation of the (generic) file contents is now superceded by 
the
         docs for arbitrary event file contents.

      Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx>
      Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
      Cc: Haren Myneni <hbabu@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Michael Ellerman <michaele@xxxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
      Link: 
http://lkml.kernel.org/r/1412143402-26061-5-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit ed90a4466340e51699139ea83dbe0f4536360e6d
  Author: Cody P Schafer <dev@xxxxxxxxxx>
  Date:   Tue Sep 30 23:03:19 2014 -0700

      perf Documentation: sysfs events/ interfaces

      Add documentation for the <event>, <event>.scale, and <event>.unit
      files in sysfs.

        <event>.scale and <event>.unit were undocumented.
        <event> was previously documented only for specific powerpc pmu events.

      Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx>
      Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx>
      Cc: Cody P Schafer <dev@xxxxxxxxxx>
      Cc: Haren Myneni <hbabu@xxxxxxxxxx>
      Cc: Haren Myneni <hbabu@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Michael Ellerman <michaele@xxxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
      Link: 
http://lkml.kernel.org/r/1412143402-26061-4-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 1e378ebd117d1828b9d5dbe0538887478fcb9d84
  Author: Taeung Song <treeze.taeung@xxxxxxxxx>
  Date:   Tue Oct 7 16:13:15 2014 +0900

      perf top: Add a visual cue for toggle zeroing of samples

      When 'perf top' is run, one can't easily find a difference
      between -z option and normal output.
      So I added a visual cue to know whether it is the zeroing or not.

      Output is as below.

      Before:
       $ perf top

       Samples: 61K of event 'cycles', Event count (approx.): 3908136933
       Overhead  Shared Object                       Symbol
          1.42%  firefox                             [.] 0x0000000000011e76
          1.32%  libpthread-2.17.so                  [.] pthread_mutex_lock

      If you press key 'z' or run with zero option like '$ perf top --zero', it 
is as below.

      After:
       Samples: 61K of event 'cycles', Event count (approx.): 3908136933 [z]
       Overhead  Shared Object                       Symbol
          1.42%  firefox                             [.] 0x0000000000011e76
          1.32%  libpthread-2.17.so                  [.] pthread_mutex_lock

      Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx>
      Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: 
http://lkml.kernel.org/r/1412665995-26359-1-git-send-email-treeze.taeung@xxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 7546e52b5e3d46d0deae4a336252b6dfd52c6571
  Author: Himangi Saraogi <himangi774@xxxxxxxxx>
  Date:   Thu Aug 14 22:14:30 2014 +0530

      Drivers: ide: Remove typedef atiixp_ide_timing

      The Linux kernel coding style guidelines suggest not using typedefs
      for structure types. This patch gets rid of the typedef for
      atiixp_ide_timing.

      The following Coccinelle semantic patch detects the case:

      @tn1@
      type td;
      @@

      typedef struct { ... } td;

      @script:python tf@
      td << tn1.td;
      tdres;
      @@

      coccinelle.tdres = td;

      @@
      type tn1.td;
      identifier tf.tdres;
      @@

      -typedef
       struct
      +  tdres
         { ... }
      -td
       ;

      @@
      type tn1.td;
      identifier tf.tdres;
      @@

      -td
      + struct tdres

      Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx>
      Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b0cfb794a3dd1d699f3e453f9180bd06508fb8f0
  Author: Andreas Bosch <linux@xxxxxxxxxxx>
  Date:   Wed Oct 15 10:44:50 2014 -0700

      Input: alps - fix v4 button press recognition

      Since the change to struct input_mt_pos some variables are now bitfields
      instead of integers. Automatic conversion from integer to bitfield entry
      destroys information, therefore enforce boolean interpretation instead.

      Link: https://bugzilla.redhat.com/show_bug.cgi?id=1114768
      Fixes: 02d04254a5df ("Input: alps - use struct input_mt_pos to track 
coordinates")
      Signed-off-by: Andreas Bosch <linux@xxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 001586a737ee8c11a1198c352c5635f19fd090ed
  Author: Anish Bhatt <anish@xxxxxxxxxxx>
  Date:   Wed Oct 15 00:26:47 2014 -0700

      cxgb4i : Fix -Wmaybe-uninitialized warning.

      Identified by kbuild test robot. csk family is always set to be AF_INET or
      AF_INET6, so skb will always be initialized to some value but there is no 
harm
      in silencing the warning anyways.

      Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx>
      Fixes : f42bb57c61fd ('cxgb4i : Fix -Wunused-function warning')
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 04ffcb255f22a2a988ce7393e6e72f6eb3fcb7aa
  Author: Tom Herbert <therbert@xxxxxxxxxx>
  Date:   Tue Oct 14 15:19:06 2014 -0700

      net: Add ndo_gso_check

      Add ndo_gso_check which a device can define to indicate whether is
      is capable of doing GSO on a packet. This funciton would be called from
      the stack to determine whether software GSO is needed to be done. A
      driver should populate this function if it advertises GSO types for
      which there are combinations that it wouldn't be able to handle. For
      instance a device that performs UDP tunneling might only implement
      support for transparent Ethernet bridging type of inner packets
      or might have limitations on lengths of inner headers.

      Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit cf6c0ab54daeb614ae79bdd0168e8b7ec2650134
  Merge: 2856fcd b80719b
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Wed Oct 15 21:39:09 2014 +0530

      Merge branch 'topic/dma_control_fsl_acks' into for-linus

  commit 2856fcdc1f7b6dc237afc2dbec6fbd21fe88dd4e
  Merge: 639559a a500789
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Wed Oct 15 21:38:49 2014 +0530

      Merge branch 'topic/dma_control_cleanup_acks' into for-linus

  commit b80719b6bd083130c112cb4d3e5329a164eef4c3
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:48 2014 +0530

      dmaengine: remove FSLDMA_EXTERNAL_START

      as users have been converted, so no need of this custom method

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 01c6ad660cb4a388d15d0e7ba9744c5ffc583a61
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:47 2014 +0530

      dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method

      since users have been move to fsl_dma_external_start() API, so remove this
      now

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 7abfe6eca8f978f090b3c203cfb53d37a66ea9f2
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:46 2014 +0530

      carma-fpga: move to fsl_dma_external_start()

      carma-fpga driver uses device control with custom FSLDMA_EXTERNAL_START
      command. Since we wnat to deprecate the device control, move this driver 
to
      use new fsl_dma_external_start() API

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 4fdcf68487e520844e077f75943b1e04cc05943b
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:45 2014 +0530

      carma-fpga: use dmaengine_xxx() API

      The drivers should use dmaengine_slave_config() and 
dmaengine_prep_dma_sg()
      API instead of accessing the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 0a5642be03293f73706961a7649ac1d12bd0be59
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:44 2014 +0530

      dmaengine: freescale: add and export fsl_dma_external_start()

      The freescale driver uses custom device control FSLDMA_EXTERNAL_START to
      put the controller in external start mode.
      Since we are planning to deprecate the device control, move this to 
exported
      API. Subsequent patches will remove the FSLDMA_EXTERNAL_START

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit b65612a868768cd0431084ccf376d0946c12132d
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:16:43 2014 +0530

      dmaengine: add dmaengine_prep_dma_sg() helper

      This was only prep API which didnt have an helper

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit a500789d42f478bc5511e1ddafadc323a6036d11
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:40 2014 +0530

      video: mx3fb: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of
      accessing the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 2bcd90d56c6025189be98bed47c80c5261855a7e
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:37 2014 +0530

      serial: sh-sci: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of
      accessing the device_control which will be deprecated soon

      Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 843d349c20bc3562ae7b59de4067e304e89843c7
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:34 2014 +0530

      net: ks8842: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of
      accessing the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 0e497c36deef92ec7a54c6af6f4e87d5b4f39dda
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:33 2014 +0530

      mtd: sh_flctl: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of
      accessing the device_control which will be deprecated soon

      Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit b177ea341a588ab270c31496f34c503c31589649
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:32 2014 +0530

      mtd: fsmc_nand: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of
      accessing the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 0aae803a08ae1c788b47f01eddd8787a8457a930
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:31 2014 +0530

      V4L2: mx3_camer: use dmaengine_pause() API

      The drivers should use dmaengine_pause() API instead of
      accessing the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 7e606d3bfe308115b7a0b516bcb8934d97b4275a
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:30 2014 +0530

      dmaengine: coh901318: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of accessing
      the device_control which will be deprecated soon

      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 72b2caff4aac45157f79502aae5019e96059b301
  Author: Vinod Koul <vinod.koul@xxxxxxxxx>
  Date:   Sat Oct 11 21:10:29 2014 +0530

      pata_arasan_cf: use dmaengine_terminate_all() API

      The drivers should use dmaengine_terminate_all() API instead of accessing
      the device_control which will be deprecated soon

      Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 71ae8f5271b31da1172751059deb8bfc32b2b759
  Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx>
  Date:   Wed Oct 15 07:30:41 2014 +0200

      stmmac: fix sti compatibililies

      this patch is to fix the stmmac data compatibilities for
      all the SoCs inside the platform file.

      Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
      Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 639559ada6194b722304fe267455b5bdf75c2f90
  Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
  Date:   Mon Sep 29 20:06:45 2014 +0200

      dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()

      I added book keeping of whether or not the 8250-dma driver has an RX
      transfer pending or not so we don't BUG here if it calls
      dmaengine_pause() on a channel which has not a pending transfer. Guess
      what, this is not enough.
      The following can be triggered with a busy RX channel and hackbench in
      background:
      - DMA transfer completes. The callback is delayed via
        vchan_cookie_complete() into a tasklet so it das not happen asap.
      - hackbench keeps the system busy so the tasklet does not run "soon".
      - the UART collected enough data and generates an "timeout"-interrupt.
        Since 8250-dma *thinks* the DMA-transfer is still pending it tries to
        cancel it via invoking dmaengine_pause() first. This causes the segfault
        because echan->edesc is NULL now that the transfer completed (however
        the callback did not run yet).

      With this patch we don't BUG in the scenario described.

      Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
      Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 2a52f6e49e5e400ed98a79503193d81207009647
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:15 2014 +0300

      dmaengine: dw: export probe()/remove() and Co to users

      The driver library functions can be used directly by the compound devices 
such
      as ADSP or serial driver where DesignWare DMA IP is privately attached to 
the
      main hardware.

      Instead of creating a new platform device leaf they may call 
dw_dma_probe()
      with given struct dw_dma_chip directly and make sure that the main device 
is
      DMA capable.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 99d9bf4ed27c63d5559e31d112f71af655c7182b
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:14 2014 +0300

      dmaengine: dw: enable and disable controller when needed

      Enable controller automatically whenever first user requires for a 
channel and
      disable it when the last user gone.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 2540f74b187e3ec0fe106b7427c4a84c955dc140
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:13 2014 +0300

      dmaengine: dw: always export dw_dma_{en,dis}able

      Instead of conditional exporing of dw_dma_suspend() / dw_dma_resume() 
let's
      export dw_dma_disable() / dw_dma_enable(). Since dw_dma_shutdown() repeats
      dw_dma_disable() we may safely remove it at all.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 7a83c045435e896db6c689145d752d28b8b99b7b
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:12 2014 +0300

      dmaengine: dw: introduce dw_dma_on() helper

      As an opposite to dw_dma_off() let's introduce dw_dma_on() helper. It 
will be
      useful later as well.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:11 2014 +0300

      dmaengine: dw: split dma-dw.h to platform and private parts

      The introduced include/linux/dma/dw.h is going to contain the private
      extensions and structures which are shared for dw_dmac users in the 
kernel.
      Meanwhile include/linux/platform_data/dma-dw.h keeps only platform 
related data
      types and definitions.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 46e8c83c83c06b90ebc000df481c2fdcee79a141
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 17:18:10 2014 +0300

      dmaengine: dw: move private definitions to regs.h

      Since we don't allow user to set registers directly through private slave
      configuration we may move definitions to the regs.h because they are not 
used
      anywhere except core.c part.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit f0f3b5fa7537e13dfd20b4cd399f00545f9fc0e7
  Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx>
  Date:   Wed Sep 24 15:53:46 2014 +0530

      dma: cppi41: Switch to using managed resource in probe

      This change uses managed resource APIs to allocate resources such as,
      mem, irq in order to simplify the driver unload or failure cases

      Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 66e9bbdb3dbb335b158bb88de2642966af816ffe
  Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 6 16:34:44 2014 +0200

      s390/mm: fixing calls of pte_unmap_unlock

      pte_unmap works on page table entry pointers, derefencing should be 
avoided.
      As on s390 pte_unmap is a NOP, this is more a cleanup if we want to supply
      later such function.

      Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

  commit c9eeb7b813c9525cda34b61dcf4455c52fc58890
  Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 17:04:48 2014 +0200

      s390/hmcdrv: Restrict s390 HMC driver to S390 arch

      This driver is only usable on 64-bit s390 machines.  Mark the Kconfig
      dependencies to that users on other architectures are not prompted for it.

      Fixes: 8f933b1043e1e5 ("s390/hmcdrv: HMC drive CD/DVD access")
      Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx>
      Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

  commit 923190d32de4428afbea5e5773be86bea60a9925
  Author: Stephen Smalley <sds@xxxxxxxxxxxxx>
  Date:   Mon Oct 6 16:32:52 2014 -0400

      selinux: fix inode security list corruption

      sb_finish_set_opts() can race with inode_free_security()
      when initializing inode security structures for inodes
      created prior to initial policy load or by the filesystem
      during ->mount().   This appears to have always been
      a possible race, but commit 3dc91d4 ("SELinux:  Fix possible
      NULL pointer dereference in selinux_inode_permission()")
      made it more evident by immediately reusing the unioned
      list/rcu element  of the inode security structure for call_rcu()
      upon an inode_free_security().  But the underlying issue
      was already present before that commit as a possible use-after-free
      of isec.

      Shivnandan Kumar reported the list corruption and proposed
      a patch to split the list and rcu elements out of the union
      as separate fields of the inode_security_struct so that setting
      the rcu element would not affect the list element.  However,
      this would merely hide the issue and not truly fix the code.

      This patch instead moves up the deletion of the list entry
      prior to dropping the sbsec->isec_lock initially.  Then,
      if the inode is dropped subsequently, there will be no further
      references to the isec.

      Reported-by: Shivnandan Kumar <shivnandan.k@xxxxxxxxxxx>
      Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx
      Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>

  commit ec4212d88a77eb6caec10777ddd629b702a5ebbd
  Merge: 7765490 2c241bd
  Author: Ingo Molnar <mingo@xxxxxxxxxx>
  Date:   Wed Oct 15 11:54:14 2014 +0200

      Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

      Infrastructure fixes and changes:

        * Fix off-by-one bugs in map->end handling (Stephane Eranian)

        * Fix off-by-one bug in maps__find(), also related to map->end handling 
(Namhyung Kim)

        * Make struct symbol->end be the first addr after the symbol range, to 
make it
          match the convention used for struct map->end. (Arnaldo Carvalho de 
Melo)

        * Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' 
(Jiri Olsa)

        * Fix python test build by moving callchain_param to an object linked 
into the
          python binding (Jiri Olsa)

        * Do not include a struct hists per perf_evsel, untangling the 
histogram code
          from perf_evsel, to pave the way for exporting a minimalistic
          tools/lib/api/perf/ library usable by tools/perf and initially by the 
rasd
          daemon being developed by Borislav Petkov, Robert Richter and Jean 
Pihet.
          (Arnaldo Carvalho de Melo)

        * Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and 
thread
          maps mean syswide monitoring, reducing the boilerplate for tools that
          only want system wide mode. (Arnaldo Carvalho de Melo)

      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
      Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

  commit c8b00fd2f4c504a564adcad5b8bd6952ab850b02
  Author: James Ralston <james.d.ralston@xxxxxxxxx>
  Date:   Mon Oct 13 15:22:03 2014 -0700

      ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH

      This patch adds the HD Audio Device IDs for the Intel Sunrise Point PCH.

      [the item position rearranged by tiwai]

      Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx>
      Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

  commit 3d08c629244257473450a8ba17cb8184b91e68f8
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Tue Oct 14 15:02:15 2014 +0100

      arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort

      Commit:
      b886576 ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping

      introduced some code in user_mem_abort that failed to compile if
      STRICT_MM_TYPECHECKS was enabled.

      This patch fixes up the failing comparison.

      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Reviewed-by: Kim Phillips <kim.phillips@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 6e4a2a83f95826201bbd89f55522537ea52d1d67
  Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
  Date:   Mon Sep 29 14:42:21 2014 +0200

      dmaengine: pl330: Fix NULL pointer dereference on driver unbind

      Fix a NULL pointer dereference after unbinding the driver, if channel
      resources were not yet allocated (no call to
      pl330_alloc_chan_resources()):
      $ echo 12850000.mdma > /sys/bus/amba/drivers/dma-pl330/unbind
      [   13.606533] DMA pl330_control: removing pch: eeab6800, chan: eeab6814, 
thread:   (null)
      [   13.614472] Unable to handle kernel NULL pointer dereference at 
virtual address 0000000c
      [   13.622537] pgd = ee284000
      [   13.625228] [0000000c] *pgd=6e1e4831, *pte=00000000, *ppte=00000000
      [   13.631482] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      [   13.636859] Modules linked in:
      [   13.639903] CPU: 0 PID: 1 Comm: sh Not tainted 
3.17.0-rc3-next-20140904-00004-g7020ffc33ca3-dirty #420
      [   13.649187] task: ee80a800 ti: ee888000 task.ti: ee888000
      [   13.654589] PC is at _stop+0x8/0x2c8
      [   13.658131] LR is at pl330_control+0x70/0x2e8
      [   13.662468] pc : [<c0206028>]    lr : [<c020649c>]    psr: 60000093
      [   13.662468] sp : ee889e58  ip : 00000001  fp : 000bab70
      [   13.673922] r10: eeab6814  r9 : ee16debc  r8 : 00000000
      [   13.679131] r7 : eeab685c  r6 : 60000013  r5 : ee16de10  r4 : eeab6800
      [   13.685641] r3 : 00000002  r2 : 00000000  r1 : 00010000  r0 : 00000000
      [   13.692153] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  
Segment user
      [   13.699357] Control: 10c5387d  Table: 6e28404a  DAC: 00000015
      [   13.705085] Process sh (pid: 1, stack limit = 0xee888240)
      [   13.710466] Stack: (0xee889e58 to 0xee88a000)
      [   13.714808] 9e40:                                                      
 00000002 eeab6800
      [   13.722969] 9e60: ee16de10 eeab6800 ee16de10 60000013 eeab685c 
c020649c 00000000 c040280c
      [   13.731128] 9e80: ee889e80 ee889e80 ee16de18 ee16de10 eeab6880 
eeab6814 00200200 eeab68a8
      [   13.739287] 9ea0: 00100100 c0208048 00000000 c0409fc4 eea80800 
eea808f8 c0605c44 0000000e
      [   13.747446] 9ec0: 0000000e eeb3960c eeb39600 c0203c48 eea80800 
c0605c44 c0605a8c c023f694
      [   13.755605] 9ee0: ee80a800 eea80834 eea80800 c023f704 ee80a800 
eea80800 c0605c44 c023e8ec
      [   13.763764] 9f00: 0000000e ee149780 ee29e580 ee889f80 ee29e580 
c023e19c 0000000e c01167e4
      [   13.771923] 9f20: c01167a0 00000000 00000000 c0115e88 00000000 
00000000 ee0b1a00 0000000e
      [   13.780082] 9f40: b6f48000 ee889f80 0000000e ee888000 b6f48000 
c00bfadc 00000000 00000003
      [   13.788241] 9f60: 00000000 00000000 00000000 ee0b1a00 ee0b1a00 
0000000e b6f48000 c00bfdf4
      [   13.796401] 9f80: 00000000 00000000 ffffffff 0000000e b6f48000 
b6edc5d0 00000004 c000e7a4
      [   13.804560] 9fa0: 00000000 c000e620 0000000e b6f48000 00000001 
b6f48000 0000000e 00000000
      [   13.812719] 9fc0: 0000000e b6f48000 b6edc5d0 00000004 0000000e 
b6f4c8c0 000c3470 000bab70
      [   13.820879] 9fe0: 00000000 bed2aa50 b6e18bdc b6e6b52c 60000010 
00000001 c0c0c0c0 c0c0c0c0
      [   13.829058] [<c0206028>] (_stop) from [<c020649c>] 
(pl330_control+0x70/0x2e8)
      [   13.836165] [<c020649c>] (pl330_control) from [<c0208048>] 
(pl330_remove+0xb0/0xdc)
      [   13.843800] [<c0208048>] (pl330_remove) from [<c0203c48>] 
(amba_remove+0x24/0xc0)
      [   13.851272] [<c0203c48>] (amba_remove) from [<c023f694>] 
(__device_release_driver+0x70/0xc4)
      [   13.859685] [<c023f694>] (__device_release_driver) from [<c023f704>] 
(device_release_driver+0x1c/0x28)
      [   13.868971] [<c023f704>] (device_release_driver) from [<c023e8ec>] 
(unbind_store+0x58/0x90)
      [   13.877303] [<c023e8ec>] (unbind_store) from [<c023e19c>] 
(drv_attr_store+0x20/0x2c)
      [   13.885036] [<c023e19c>] (drv_attr_store) from [<c01167e4>] 
(sysfs_kf_write+0x44/0x48)
      [   13.892928] [<c01167e4>] (sysfs_kf_write) from [<c0115e88>] 
(kernfs_fop_write+0xc0/0x17c)
      [   13.901090] [<c0115e88>] (kernfs_fop_write) from [<c00bfadc>] 
(vfs_write+0xa0/0x1a8)
      [   13.908812] [<c00bfadc>] (vfs_write) from [<c00bfdf4>] 
(SyS_write+0x40/0x8c)
      [   13.915850] [<c00bfdf4>] (SyS_write) from [<c000e620>] 
(ret_fast_syscall+0x0/0x30)
      [   13.923392] Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c)
      [   13.929467] ---[ end trace 10064e15a5929cf8 ]---

      Terminate the thread and free channel resource only if channel resources
      were allocated (thread is not NULL).

      Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Fixes: b3040e40675e ("DMA: PL330: Add dma api driver")
      Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 0f5ebabdd03b471da1906f7edddc61ceb35cee02
  Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
  Date:   Mon Sep 29 14:42:20 2014 +0200

      dmaengine: pl330: Fix NULL pointer dereference on probe failure

      If dma_async_device_register() returns error and probe should clean up
      and return error, a NULL pointer exception happens because of
      dereference of not allocated channel thread:

      Dmesg log (from early printk):
      dma-pl330 12680000.pdma: unable to register DMAC
      DMA pl330_control: removing pch: eeac4000, chan: eeac4014, thread:   
(null)
      Unable to handle kernel NULL pointer dereference at virtual address 
0000000c
      pgd = c0004000
      [0000000c] *pgd=00000000
      Internal error: Oops: 5 [#1] PREEMPT SMP ARM
      Modules linked in:
      CPU: 2 PID: 1 Comm: swapper/0 Not tainted 
3.17.0-rc3-next-20140904-00005-g6cc4c1937d90-dirty #427
      task: ee80a800 ti: ee888000 task.ti: ee888000
      PC is at _stop+0x8/0x2c8
      LR is at pl330_control+0x70/0x2e8
      pc : [<c0205dc8>]    lr : [<c020623c>]    psr: 60000193
      sp : ee889df8  ip : 00000002  fp : 00000000
      r10: eeac4014  r9 : ee0e62bc  r8 : 00000000
      r7 : eeac405c  r6 : 60000113  r5 : ee0e6210  r4 : eeac4000
      r3 : 00000002  r2 : 00000002  r1 : 00010000  r0 : 00000000
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 4000404a  DAC: 00000015
      Process swapper/0 (pid: 1, stack limit = 0xee888240)
      Stack: (0xee889df8 to 0xee88a000)
      9de0:                                                       00000002 
eeac4000
      9e00: ee0e6210 eeac4000 ee0e6210 60000113 eeac405c c020623c 00000000 
c020725c
      9e20: ee889e20 ee889e20 ee0e6210 eeac4080 00200200 00100100 eeac4014 
00000020
      9e40: ee0e6218 c0208374 00000000 ee9bb340 ee0e6210 00000000 00000000 
c0605cd8
      9e60: ee970000 c0605c84 ee9700f8 00000000 c05c4270 00000000 00000000 
c0203b3c
      9e80: ee970000 c06624a8 00000000 c0605c84 00000000 c023f890 ee970000 
c0605c84
      9ea0: ee970034 00000000 c05b23d0 c023fa3c 00000000 c0605c84 c023f9b0 
c023e0d4
      9ec0: ee947e78 ee9b9440 c0605c84 eea1e780 c0605acc c023f094 c0513b50 
c0605c84
      9ee0: c05ecbd8 c0605c84 c05ecbd8 ee11ba40 c0626500 c0240064 00000000 
c05ecbd8
      9f00: c05ecbd8 c0008964 c040f13c 0000009f c0626500 c057465c ee80a800 
60000113
      9f20: 00000000 c05efdb0 60000113 00000000 ef7fc89d c0421168 0000008f 
c003787c
      9f40: c0573d6c 00000006 ef7fc8bb 00000006 c05efd50 ef7fc800 c05dfbc4 
00000006
      9f60: c05c4264 c0626500 0000008f c05c4270 c059b518 c059bcb4 00000006 
00000006
      9f80: c059b518 c003c08c 00000000 c040091c 00000000 00000000 00000000 
00000000
      9fa0: 00000000 c0400924 00000000 c000e7b8 00000000 00000000 00000000 
00000000
      9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000
      9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 
c0c0c0c0
      [<c0205dc8>] (_stop) from [<c020623c>] (pl330_control+0x70/0x2e8)
      [<c020623c>] (pl330_control) from [<c0208374>] (pl330_probe+0x594/0x75c)
      [<c0208374>] (pl330_probe) from [<c0203b3c>] (amba_probe+0xb8/0x120)
      [<c0203b3c>] (amba_probe) from [<c023f890>] 
(driver_probe_device+0x10c/0x22c)
      [<c023f890>] (driver_probe_device) from [<c023fa3c>] 
(__driver_attach+0x8c/0x90)
      [<c023fa3c>] (__driver_attach) from [<c023e0d4>] 
(bus_for_each_dev+0x54/0x88)
      [<c023e0d4>] (bus_for_each_dev) from [<c023f094>] 
(bus_add_driver+0xd4/0x1d0)
      [<c023f094>] (bus_add_driver) from [<c0240064>] 
(driver_register+0x78/0xf4)
      [<c0240064>] (driver_register) from [<c0008964>] 
(do_one_initcall+0x80/0x1d0)
      [<c0008964>] (do_one_initcall) from [<c059bcb4>] 
(kernel_init_freeable+0x108/0x1d4)
      [<c059bcb4>] (kernel_init_freeable) from [<c0400924>] 
(kernel_init+0x8/0xec)
      [<c0400924>] (kernel_init) from [<c000e7b8>] (ret_from_fork+0x14/0x3c)
      Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c)
      ---[ end trace c94b2f4f38dff3bf ]---

      This happens because the necessary resources were not yet allocated - no
      call to pl330_alloc_chan_resources().

      Terminate the thread and free channel resource only if channel thread is 
not NULL.

      Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Fixes: 0b94c5771705 ("DMA: PL330: Add check if device tree compatible")
      Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit c3cb38f43cb9130a3727a24a6a6e74742bd3e910
  Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
  Date:   Mon Sep 29 14:42:19 2014 +0200

      dmaengine: pl330: Remove unused 'regs' variable in pl330_submit_req()

      The 'void __iomem *regs' is not used in pl330_submit_req() function.
      Remove it.

      Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 937cb2f2498dcbd8bcf6d79dcc24e5c8a3627067
  Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
  Date:   Mon Sep 29 14:42:18 2014 +0200

      dmaengine: pl330: Remove non-NULL check for pl330_submit_req parameters

      The pl330_submit_req() checked supplied 'struct pl330_thread thrd' and
      'struct dma_pl330_desc desc' parameters for non-NULL. However these
      checks are useless because supplied arguments won't be NULL.

      The pl330_submit_req() is called in only one place and:
      1. 'desc' is already dereferenced in fill_queue() before calling
         pl330_submit_req().
      2. 'thrd' is always dereferenced after calling
         fill_queue()->pl330_submit_req().

      Removing the checks for non-NULL values fixes following warning:
      drivers/dma/pl330.c:1376 pl330_submit_req() warn: variable dereferenced 
before check 'thrd' (see line 1367)

      Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx>

  commit 97215800e4b74212e51b1f373877f91f97579411
  Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxx>
  Date:   Mon Oct 13 14:16:28 2014 -0400

      MAINTAINERS: Update Santosh Shilimkar's email id

      Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx>
      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 22414f776d0b137a4156b84db3ec07dfec56784c
  Merge: e17fd8e 508423b
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Tue Oct 14 23:32:18 2014 -0700

      Merge tag 'samsung-defconfig' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

      Merge "Samsung defconfig, actually exynos_defconig updates for v3.18" from
      Kukjin Kim:

      - enable USB gadget support
      - enable Maxim77802 support
      - enable Maxim77693 and I2C GPIO drivers
      - enable Atmel maXTouch support
      - enable SBS battery support
      - enable Control Groups support

      * tag 'samsung-defconfig' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: exynos_defconfig: enable USB gadget support
        ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers
        ARM: exynos_defconfig: Enable SBS battery support
        ARM: exynos_defconfig: Enable Control Groups support
        ARM: exynos_defconfig: Enable Atmel maXTouch support
        ARM: exynos_defconfig: Enable MAX77802

      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit e17fd8e58a1eb39e23f29da065ccc1498f022ed7
  Merge: 6d81dc8 f6f1ae8
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Tue Oct 14 23:31:13 2014 -0700

      Merge tag 'samsung-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

      Merge "Samsung fixes for v3.18" from Kukjin Kim:

      - fix ifdef around cpu_*_do_[suspend, resume] ops to check
        CONFIG_ARM_CPU_SUSPEND and not CONFIG_PM_SLEEP
      - fix exynos_defconfig build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n
      - fix enabling Samsung PM debug functionality due to recently merged
        patches and previous merge conflicts
      - fix pull-up setting in sd4_width8 pin group for exynos4x12

      * tag 'samsung-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops
        ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n
        ARM: SAMSUNG: Restore Samsung PM Debug functionality
        ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12

      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 6d81dc87c0fac76efabcde6884fcbe4cec874a83
  Merge: 9a2ad52 b16ccfe
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Tue Oct 14 23:30:18 2014 -0700

      Merge tag 'fixes-for-v3.18-merge-window' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

      Merge "Two omap fixes for v3.18 merge window" from Tony Lindgren:

      Two omap fixes for issues noticed during the merge window:

      - We need to enable ARM errata 430973 for omap3

      - The smc91x on some early n900 boards need to be disabled
        for now until the dependencies to specific a bootloader
        version are fixed

      * tag 'fixes-for-v3.18-merge-window' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Disable smc91x on n900 until bootloader dependency is removed
        ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3

      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 9a2ad529ed26c4dd81368d0bc87fc77db1febb35
  Author: Olof Johansson <olof@xxxxxxxxx>
  Date:   Tue Oct 14 23:26:56 2014 -0700

      ARM: sunxi_defconfig: enable CONFIG_REGULATOR

      Commit 97a13e5289ba ('net: phy: mdio-sun4i: don't select REGULATOR') 
removed
      the select of REGULATOR, which means that it now has to be explicitly
      enabled in the defconfig or things won't work very well.

      In particular, this fixes a problem with SD/MMC not probing on my 
A31-based
      board.

      Cc: Beniamino Galvani <b.galvani@xxxxxxxxx>
      Signed-off-by: Olof Johansson <olof@xxxxxxxxx>

  commit 0429fbc0bdc297d64188483ba029a23773ae07b0
  Merge: 6929c35 513d1a2
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 07:48:18 2014 +0200

      Merge branch 'for-3.18-consistent-ops' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu

      Pull percpu consistent-ops changes from Tejun Heo:
       "Way back, before the current percpu allocator was implemented, static
        and dynamic percpu memory areas were allocated and handled separately
        and had their own accessors.  The distinction has been gone for many
        years now; however, the now duplicate two sets of accessors remained
        with the pointer based ones - this_cpu_*() - evolving various other
        operations over time.  During the process, we also accumulated other
        inconsistent operations.

        This pull request contains Christoph's patches to clean up the
        duplicate accessor situation.  __get_cpu_var() uses are replaced with
        with this_cpu_ptr() and __this_cpu_ptr() with raw_cpu_ptr().

        Unfortunately, the former sometimes is tricky thanks to C being a bit
        messy with the distinction between lvalues and pointers, which led to
        a rather ugly solution for cpumask_var_t involving the introduction of
        this_cpu_cpumask_var_ptr().

        This converts most of the uses but not all.  Christoph will follow up
        with the remaining conversions in this merge window and hopefully
        remove the obsolete accessors"

      * 'for-3.18-consistent-ops' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (38 commits)
        irqchip: Properly fetch the per cpu offset
        percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix
        ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use 
__this_cpu_write.
        percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t
        Revert "powerpc: Replace __get_cpu_var uses"
        percpu: Remove __this_cpu_ptr
        clocksource: Replace __this_cpu_ptr with raw_cpu_ptr
        sparc: Replace __get_cpu_var uses
        avr32: Replace __get_cpu_var with __this_cpu_write
        blackfin: Replace __get_cpu_var uses
        tile: Use this_cpu_ptr() for hardware counters
        tile: Replace __get_cpu_var uses
        powerpc: Replace __get_cpu_var uses
        alpha: Replace __get_cpu_var
        ia64: Replace __get_cpu_var uses
        s390: cio driver &__get_cpu_var replacements
        s390: Replace __get_cpu_var uses
        mips: Replace __get_cpu_var uses
        MIPS: Replace __get_cpu_var uses in FPU emulator.
        arm: Replace __this_cpu_ptr with raw_cpu_ptr
        ...

  commit 6929c358972facf2999f8768815c40dd88514fc2
  Merge: 23971bd 4c5c302
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 07:30:52 2014 +0200

      Merge tag 'llvmlinux-for-v3.18' of 
git://git.linuxfoundation.org/llvmlinux/kernel

      Pull LLVM updates from Behan Webster:
       "These patches remove the use of VLAIS using a new SHASH_DESC_ON_STACK
        macro.

        Some of the previously accepted VLAIS removal patches haven't used
        this macro.  I will push new patches to consistently use this macro in
        all those older cases for 3.19"

      [ More LLVM patches coming in through subsystem trees, and LLVM itself
        needs some fixes that are already in many distributions but not in
        released versions of LLVM.  Some day this will all "just work"  - Linus 
]

      * tag 'llvmlinux-for-v3.18' of 
git://git.linuxfoundation.org/llvmlinux/kernel:
        crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c
        security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c
        crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c
        crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c
        crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt
        crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c
        crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c
        crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c
        crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c
        crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c
        btrfs: LLVMLinux: Remove VLAIS
        crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code

  commit 23971bdffff5f7c904131dfb41c186711dc2c418
  Merge: c0fa237 09b5269
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 07:23:49 2014 +0200

      Merge tag 'iommu-updates-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

      Pull IOMMU updates from Joerg Roedel:
       "This pull-request includes:

         - change in the IOMMU-API to convert the former iommu_domain_capable
           function to just iommu_capable

         - various fixes in handling RMRR ranges for the VT-d driver (one fix
           requires a device driver core change which was acked by Greg KH)

         - the AMD IOMMU driver now assigns and deassigns complete alias
           groups to fix issues with devices using the wrong PCI request-id

         - MMU-401 support for the ARM SMMU driver

         - multi-master IOMMU group support for the ARM SMMU driver

         - various other small fixes all over the place"

      * tag 'iommu-updates-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits)
        iommu/vt-d: Work around broken RMRR firmware entries
        iommu/vt-d: Store bus information in RMRR PCI device path
        iommu/vt-d: Only remove domain when device is removed
        driver core: Add BUS_NOTIFY_REMOVED_DEVICE event
        iommu/amd: Fix devid mapping for ivrs_ioapic override
        iommu/irq_remapping: Fix the regression of hpet irq remapping
        iommu: Fix bus notifier breakage
        iommu/amd: Split init_iommu_group() from iommu_init_device()
        iommu: Rework iommu_group_get_for_pci_dev()
        iommu: Make of_device_id array const
        amd_iommu: do not dereference a NULL pointer address.
        iommu/omap: Remove omap_iommu unused owner field
        iommu: Remove iommu_domain_has_cap() API function
        IB/usnic: Convert to use new iommu_capable() API function
        vfio: Convert to use new iommu_capable() API function
        kvm: iommu: Convert to use new iommu_capable() API function
        iommu/tegra: Convert to iommu_capable() API function
        iommu/msm: Convert to iommu_capable() API function
        iommu/vt-d: Convert to iommu_capable() API function
        iommu/fsl: Convert to iommu_capable() API function
        ...

  commit c0fa2373f8cfed90437d8d7b17e0b1a84009a10a
  Merge: fcc3a5d 98d147f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 07:05:03 2014 +0200

      Merge tag 'clk-for-linus-3.18' of 
git://git.linaro.org/people/mike.turquette/linux

      Pull clock tree updates from Mike Turquette:
       "The clk tree changes for 3.18 are dominated by clock drivers.  Mostly
        fixes and enhancements to existing drivers as well as new drivers.
        This tag contains a bit more arch code than I usually take due to some
        OMAP2+ changes.  Additionally it contains the restart notifier
        handlers which are merged as a dependency into several trees.

        The PXA changes are the only messy part.  Due to having a stable tree
        I had to revert one patch and follow up with one more fix near the tip
        of this tag.  Some dead code is introduced but it will soon become
        live code after 3.18-rc1 is released as the rest of the PXA family is
        converted over to the common clock framework.

        Another trend in this tag is that multiple vendors have started to
        push the complexity of changing their CPU frequency into the clock
        driver, whereas this used to be done in CPUfreq drivers.

        Changes to the clk core include a generic gpio-clock type and a
        clk_set_phase() function added to the top-level clk.h api.  Due to
        some confusion on the fbdev mailing list the kernel boot parameters
        documentation was updated to further explain the clk_ignore_unused
        parameter, which is often required by users of the simplefb driver.

        Finally some fixes to the locking around the clock debugfs stuff was
        done to prevent deadlocks when interacting with other subsystems."

      * tag 'clk-for-linus-3.18' of 
git://git.linaro.org/people/mike.turquette/linux: (99 commits)
        clk: pxa clocks build system fix
        Revert "arm: pxa: Transition pxa27x to clk framework"
        clk: samsung: register restart handlers for s3c2412 and s3c2443
        clk: rockchip: add restart handler
        clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate
        doc/kernel-parameters.txt: clarify clk_ignore_unused
        arm: pxa: Transition pxa27x to clk framework
        dts: add devicetree bindings for pxa27x clocks
        clk: add pxa27x clock drivers
        arm: pxa: add clock pll selection bits
        clk: dts: document pxa clock binding
        clk: add pxa clocks infrastructure
        clk: gpio-gate: Ensure gpiod_ APIs are prototyped
        clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe
        clk: ti: LLVMLinux: Move __init outside of type definition
        clk: ti: consider the fact that of_clk_get() might return an error
        clk: ti: dra7-atl-clock: fix a memory leak
        clk: ti: change clock init to use generic of_clk_init
        clk: hix5hd2: add I2C clocks
        clk: hix5hd2: add watchdog0 clocks
        ...

  commit fcc3a5d277571bc6048e7b4ef8cd391b935de629
  Merge: 50fa861 d86c21f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 06:58:16 2014 +0200

      Merge tag 'mfd-for-linus-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

      Pull MFD updates from Lee Jones:
       "Changes to existing drivers:
        - DT clean-ups in da9055-core, max14577, rn5t618, arizona, hi6421, 
stmpe, twl4030
        - Export symbols for use in modules in max14577
        - Plenty of static code analysis/Coccinelle fixes throughout the SS
        - Regmap clean-ups in arizona, wm5102, wm5110, da9052, tps65217, rk808
        - Remove unused/duplicate code in da9052, 88pm860x, ti_ssp, lpc_sch, 
arizona
        - Bug fixes in ti_am335x_tscadc, da9052, ti_am335x_tscadc, rtsx_pcr
        - IRQ fixups in arizona, stmpe, max14577
        - Regulator related changes in axp20x
        - Pass DMA coherency information from parent => child in MFD core
        - Rename DT document files for consistency
        - Add ACPI support to the MFD core
        - Add Andreas Werner to MAINTAINERS for MEN F21BMC

       New drivers/supported devices:
        - New driver for MEN 14F021P00 Board Management Controller
        - New driver for Ricoh RN5T618 PMIC
        - New driver for Rockchip RK808
        - New driver for HiSilicon Hi6421 PMIC
        - New driver for Qualcomm SPMI PMICs
        - Add support for Intel Braswell in lpc_ich
        - Add support for Intel 9 Series PCH in lpc_ich
        - Add support for Intel Quark ILB in lpc_sch"

      [ Delayed to after the poweer/reset pull due to Kconfig problems with
        recursive Kconfig select/depends-on chains.   - Linus ]

      * tag 'mfd-for-linus-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
        mfd: cros_ec: wait for completion of commands that return IN_PROGRESS
        i2c: i2c-cros-ec-tunnel: Set retries to 3
        mfd: cros_ec: move locking into cros_ec_cmd_xfer
        mfd: cros_ec: stop calling ->cmd_xfer() directly
        mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC
        MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC
        mfd: arizona: Correct mask to allow setting micbias external cap
        mfd: Add ACPI support
        Revert "mfd: wm5102: Manually apply register patch"
        mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS
        mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming 
convention
        mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming 
convention
        mfd: Inherit coherent_dma_mask from parent device
        mfd: Document DT bindings for Qualcomm SPMI PMICs
        mfd: Add support for Qualcomm SPMI PMICs
        mfd: dt-bindings: pm8xxx: Add new compatible string
        mfd: axp209x: Drop the parent supplies field
        mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way 
to support system power off
        mfd: dt-bindings: twl4030-power: Use the standard property to mark 
power control
        mfd: syscon: Add Atmel GPBR DT bindings documention
        ...

  commit 50fa86172bec2769979b5eb0cd1a244391ae4bb0
  Merge: 6b04908 7881c64
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 06:56:23 2014 +0200

      Merge tag 'for-v3.18' of git://git.infradead.org/battery-2.6

      Pull power supply and reset updates from Sebastian Reichel:
       - Initial support for the following chips
         * max77836 (charger)
         * max14577 (charger)
         * bq27742 (battery gauge)
         * ltc2952 (poweroff)
         * stih416 (restart)
         * syscon-reboot (restart)
         * gpio-restart (restart)
       - cleanup of power supply core
       - misc fixes in power supply and reset drivers

      * tag 'for-v3.18' of git://git.infradead.org/battery-2.6: (48 commits)
        power: ab8500_fg: Fix build warning
        Documentation: charger: max14577: Update the date of introducing ABI
        power: reset: corrections for simple syscon reboot driver
        Documentation: power: reset: Add documentation for generic SYSCON 
reboot driver
        power: reset: Add generic SYSCON register mapped reset
        bq27x00_battery: Fix flag reading for bq27742
        power: reset: use restart_notifier mechanism for msm-poweroff
        power: Add simple gpio-restart driver
        power: reset: st: Provide DT bindings for ST's Power Reset driver
        power: reset: Add restart functionality for STiH41x platforms
        power: charger-manager: Fix NULL pointer exception with missing 
cm-fuel-gauge
        power: max14577: Fix circular config SYSFS dependency
        power: gpio-charger: do not use gpio value directly
        power: max8925: Use of_get_child_by_name
        power: max8925: Fix NULL ptr dereference on memory allocation failure
        bq27x00_battery: Add support to bq27742
        Documentation: charger: max14577: Document exported sysfs entry
        devicetree: mfd: max14577: Add device tree bindings document
        power: max17040: Add ID for MAX77836 Fuel Gauge block
        charger: max14577: Configure battery-dependent settings from DTS and 
sysfs
        ...

      Conflicts:
        drivers/power/reset/Kconfig
        drivers/power/reset/Makefile

  commit 6b0490816671b2f4126a99998c9bf3c8c0472de2
  Merge: ce9d7f7 0bc6228
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 06:46:01 2014 +0200

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client

      Pull Ceph updates from Sage Weil:
       "There is the long-awaited discard support for RBD (Guangliang Zhao,
        Josh Durgin), a pile of RBD bug fixes that didn't belong in late -rc's
        (Ilya Dryomov, Li RongQing), a pile of fs/ceph bug fixes and
        performance and debugging improvements (Yan, Zheng, John Spray), and a
        smattering of cleanups (Chao Yu, Fabian Frederick, Joe Perches)"

      * 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (40 commits)
        ceph: fix divide-by-zero in __validate_layout()
        rbd: rbd workqueues need a resque worker
        libceph: ceph-msgr workqueue needs a resque worker
        ceph: fix bool assignments
        libceph: separate multiple ops with commas in debugfs output
        libceph: sync osd op definitions in rados.h
        libceph: remove redundant declaration
        ceph: additional debugfs output
        ceph: export ceph_session_state_name function
        ceph: include the initial ACL in create/mkdir/mknod MDS requests
        ceph: use pagelist to present MDS request data
        libceph: reference counting pagelist
        ceph: fix llistxattr on symlink
        ceph: send client metadata to MDS
        ceph: remove redundant code for max file size verification
        ceph: remove redundant io_iter_advance()
        ceph: move ceph_find_inode() outside the s_mutex
        ceph: request xattrs if xattr_version is zero
        rbd: set the remaining discard properties to enable support
        rbd: use helpers to handle discard for layered images correctly
        ...

  commit ce9d7f7b45930ed16c512aabcfe651d44f1c8619
  Merge: 2d65a9f 0d08260
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 15 06:43:27 2014 +0200

      Merge branch 'CVE-2014-7970' of 
git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux

      Pull pivot_root() fix from Andy Lutomirski.

      Prevent a leak of unreachable mounts.

      * 'CVE-2014-7970' of 
git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
        mnt: Prevent pivot_root from creating a loop in the mount tree

  commit 2ef1e9efebce49ffc9ae13a6e9d93da83734494e
  Merge: 9b462d0 c5bbcb5
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Wed Oct 15 00:29:08 2014 -0400

      Merge branch 'cxgb4'

      Anish Bhatt says:

      ====================
      ipv6 and related cleanup for cxgb4/cxgb4i

      This patch set removes some duplicated/extraneous code from cxgb4i, guards
      cxgb4 against compilation failure based on ipv6 tristate, make ipv6 
related
      code no longer be enabled by default irrespective of ipv6 tristate and 
fixes
      a refcnt issue.
      -Anish

      v2 : Provide more detailed commit messages, make subject more concise as
      recommended by Dave Miller.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit c5bbcb5822b25c9f738db98e6d6ad2506cab8136
  Author: Anish Bhatt <anish@xxxxxxxxxxx>
  Date:   Tue Oct 14 20:07:24 2014 -0700

      cxgb4i: Remove duplicate call to dst_neigh_lookup()

      There is an extra call to dst_neigh_lookup() leftover in cxgb4i that can 
cause
      an unreleased refcnt issue. Remove extraneous call.

      Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx>

      Fixes : 759a0cc5a3e1b ('cxgb4i: Add ipv6 code to driver, call into 
libcxgbi ipv6 api')
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f42bb57c61fd21fb7e30a2b99dbeb1671666bc47
  Author: Anish Bhatt <anish@xxxxxxxxxxx>
  Date:   Tue Oct 14 20:07:23 2014 -0700

      cxgb4i : Fix -Wunused-function warning

      A bunch of ipv6 related code is left on by default. While this causes no
      compilation issues, there is no need to have this enabled by default. 
Guard
      with an ipv6 check, which also takes care of a -Wunused-function warning.

      Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 1bb60376cda108306818365b186450f154ede5f2
  Author: Anish Bhatt <anish@xxxxxxxxxxx>
  Date:   Tue Oct 14 20:07:22 2014 -0700

      cxgb4 : Fix build failure in cxgb4 when ipv6 is disabled/not in-built

      cxgb4 ipv6 does not guard against ipv6 being disabled, or the standard
      ipv6 module vs inbuilt tri-state issue. This was fixed for cxgb4i & 
iw_cxgb4
      but missed for cxgb4.

      Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 587ddfe2d212019de7c921d9c010789828893f86
  Author: Anish Bhatt <anish@xxxxxxxxxxx>
  Date:   Tue Oct 14 20:07:21 2014 -0700

      cxgb4i : Remove duplicated CLIP handling code

      cxgb4 already handles CLIP updates from a previous changeset for iw_cxgb4,
      there is no need to have this functionality in cxgb4i. Remove duplicated 
code

      Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f4da3628dc7c32a59d1fb7116bb042e6f436d611
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 19:37:58 2014 -0700

      sparc64: Fix FPU register corruption with AES crypto offload.

      The AES loops in arch/sparc/crypto/aes_glue.c use a scheme where the
      key material is preloaded into the FPU registers, and then we loop
      over and over doing the crypt operation, reusing those pre-cooked key
      registers.

      There are intervening blkcipher*() calls between the crypt operation
      calls.  And those might perform memcpy() and thus also try to use the
      FPU.

      The sparc64 kernel FPU usage mechanism is designed to allow such
      recursive uses, but with a catch.

      There has to be a trap between the two FPU using threads of control.

      The mechanism works by, when the FPU is already in use by the kernel,
      allocating a slot for FPU saving at trap time.  Then if, within the
      trap handler, we try to use the FPU registers, the pre-trap FPU
      register state is saved into the slot.  Then at trap return time we
      notice this and restore the pre-trap FPU state.

      Over the long term there are various more involved ways we can make
      this work, but for a quick fix let's take advantage of the fact that
      the situation where this happens is very limited.

      All sparc64 chips that support the crypto instructiosn also are using
      the Niagara4 memcpy routine, and that routine only uses the FPU for
      large copies where we can't get the source aligned properly to a
      multiple of 8 bytes.

      We look to see if the FPU is already in use in this context, and if so
      we use the non-large copy path which only uses integer registers.

      Furthermore, we also limit this special logic to when we are doing
      kernel copy, rather than a user copy.

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4a77f2bdbdef289a02bd02fac483a9350e039705
  Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
  Date:   Fri Oct 10 19:04:25 2014 +1100

      powerpc/msi: Use WARN_ON() in msi bitmap selftests

      As demonstrated in the previous commit, the failure message from the msi
      bitmap selftests is a bit subtle, it's easy to miss a failure in a busy
      boot log.

      So drop our check() macro and use WARN_ON() instead. This necessitates
      inverting all the conditions as well.

      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 695911fb1f0e00aebe6c5636b9c08bf0fd51a2fd
  Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
  Date:   Fri Oct 10 19:04:24 2014 +1100

      powerpc/msi: Fix the msi bitmap alignment tests

      When we added the alignment tests recently we failed to check they were
      actually passing - oops.

      They weren't passing, because the bitmap was full. We should also be a
      bit more careful when checking the return code, a negative error return
      could by divisible by our alignment value.

      Fixes: b0345bbc6d09 ("powerpc/msi: Improve IRQ bitmap allocator")
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 179ea48bc7c04dba3526d66d9f358c2f4f3b3776
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 3 14:58:32 2014 +1000

      powerpc/eeh: Block CFG upon frozen Shiner adapter

      The Broadcom Shiner 2-ports 10G ethernet adapter has same problem
      commit 6f20bda0 ("powerpc/eeh: Block PCI config access upon frozen
      PE") fixes. Put it to the black list as well.

         # lspci -s 0004:01:00.0
         0004:01:00.0 Ethernet controller: Broadcom Corporation \
                      NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)
         # lspci -n -s 0004:01:00.0
         0004:01:00.0 0200: 14e4:168e (rev 10)

      Reported-by: John Walthour <jwalthour@xxxxxxxxxx>
      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit c59004cc83c3f8b182c32ca9d366d222a59ab63f
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:54 2014 +1000

      powerpc/eeh: Don't collect logs on PE with blocked config space

      When the PE's config space is marked as blocked, PCI config read
      requests always return 0xFF's. It's pointless to collect logs in
      this case.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit b6541db1395298b326ae1bf59fae6fbb2c6e8f77
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:53 2014 +1000

      powerpc/eeh: Block PCI config access upon frozen PE

      The problem was found when I tried to inject PCI config error by
      PHB3 PAPR error injection registers into Broadcom Austin 4-ports
      NIC adapter. The frozen PE was reported successfully and EEH core
      started to recover it. However, I run into fenced PHB when dumping
      PCI config space as EEH logs. I was told that PCI config requests
      should not be progagated to the adapter until PE reset is done
      successfully. Otherise, we would run out of PHB internal credits
      and trigger PCT (PCIE Completion Timeout), which leads to the
      fenced PHB.

      The patch introduces another PE flag EEH_PE_CFG_RESTRICTED, which
      is set during PE initialization time if the PE includes the specific
      PCI devices that need block PCI config access until PE reset is done.
      When the PE becomes frozen for the first time, EEH_PE_CFG_BLOCKED is
      set if the PE has flag EEH_PE_CFG_RESTRICTED. Then the PCI config
      access to the PE will be dropped by platform PCI accessors until
      PE reset is done successfully. The mechanism is shared by PowerNV
      platform owned PE or userland owned ones. It's not used on pSeries
      platform yet.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 3409eb4e69e1150202bc4ec61801115da32aa380
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:52 2014 +1000

      powerpc/pseries: Drop config requests in EEH accessors

      The pSeires EEH config accessors rely on rtas_{read, write}_config()
      and the condition to check if the PE's config space is blocked
      should be moved to those 2 functions so that config requests from
      kernel, userland, EEH core can be dropped to avoid recursive EEH error
      if necessary.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit d2cfbcd7c8136bc4d944eb64f7f0479dd2b129b8
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:51 2014 +1000

      powerpc/powernv: Drop config requests in EEH accessors

      It's bad idea to access the PCI config registers of the adapters,
      which is experiencing reset. It leads to recursive EEH error without
      exception. The patch drops PCI config requests in EEH accessors if
      the PE has been marked to accept PCI config requests, for example
      during PE reseet time.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 8a6b3710ccc33da1fd5c85144ad3db01c4457552
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:50 2014 +1000

      powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED

      The flag EEH_PE_RESET indicates blocking config space of the PE
      during reset time. We potentially need block PE's config space
      other than reset time. So it's reasonable to replace it with
      EEH_PE_CFG_BLOCKED to indicate its usage.

      There are no substantial code or logic changes in this patch.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 8315070c07e7ef5f58ce9e317dc91fd727ecd419
  Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Oct 1 17:07:49 2014 +1000

      powerpc/eeh: Fix condition for isolated state

      Function eeh_pe_state_mark() could possibly have combination of
      multiple EEH PE state as its argument. The patch fixes the condition
      used to check if EEH_PE_ISOLATED is included.

      Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit d6f1e7abdb95a7ea031e7604829e4b5514d7e2c1
  Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
  Date:   Tue Sep 16 15:15:45 2014 -0500

      powerpc/pseries: Make CPU hotplug path endian safe

      - ibm,rtas-configure-connector should treat the RTAS data as big endian.
      - Treat ibm,ppc-interrupt-server#s as big-endian when setting
        smp_processor_id during hotplug.

      Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx>
      Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 4ff52b4dedcd4226cf1f2817eb14e8d733790eae
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 19:41:40 2014 +1100

      powerpc/pseries: Use dump_stack instead of show_stack

      We can use the simpler dump_stack() instead of
      show_stack(current, __get_SP())

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit acf620ecf56cfc4edaffaf158250e128539cdd26
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 19:41:39 2014 +1100

      powerpc: Rename __get_SP() to current_stack_pointer()

      Michael points out that __get_SP() is a pretty horrible
      function name. Let's give it a better name.

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit bfe9a2cfe91a1c920f152ce5fd0a9ad74b3daf12
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 19:41:38 2014 +1100

      powerpc: Reimplement __get_SP() as a function not a define

      Li Zhong points out an issue with our current __get_SP()
      implementation. If ftrace function tracing is enabled (ie -pg
      profiling using _mcount) we spill a stack frame on 64bit all the
      time.

      If a function calls __get_SP() and later calls a function that is
      tail call optimised, we will pop the stack frame and the value
      returned by __get_SP() is no longer valid. An example from Li can
      be found in save_stack_trace -> save_context_stack:

      c0000000000432c0 <.save_stack_trace>:
      c0000000000432c0:       mflr    r0
      c0000000000432c4:       std     r0,16(r1)
      c0000000000432c8:       stdu    r1,-128(r1) <-- stack frame for _mcount
      c0000000000432cc:       std     r3,112(r1)
      c0000000000432d0:       bl      <._mcount>
      c0000000000432d4:       nop

      c0000000000432d8:       mr      r4,r1 <-- __get_SP()

      c0000000000432dc:       ld      r5,632(r13)
      c0000000000432e0:       ld      r3,112(r1)
      c0000000000432e4:       li      r6,1

      c0000000000432e8:       addi    r1,r1,128 <-- pop stack frame

      c0000000000432ec:       ld      r0,16(r1)
      c0000000000432f0:       mtlr    r0
      c0000000000432f4:       b       <.save_context_stack> <-- tail call 
optimized

      save_context_stack ends up with a stack pointer below the current
      one, and it is likely to be scribbled over.

      Fix this by making __get_SP() a function which returns the
      callers stack frame. Also replace inline assembly which grabs
      the stack pointer in save_stack_trace and show_stack with
      __get_SP().

      This also fixes an issue with perf_arch_fetch_caller_regs().
      It currently unwinds the stack once, which will skip a
      valid stack frame on a leaf function. With the __get_SP() fixes
      in this patch, we never need to unwind the stack frame to get
      to the first interesting frame.

      We have to export __get_SP() because perf_arch_fetch_caller_regs()
      (which is used in modules) calls it from a header file.

      Reported-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 1bbc26062754b012656d34103215f7552e02b999
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:33 2014 +1030

      virtio-rng: refactor probe error handling

      Code like
        vi->vq = NULL;
        kfree(vi)
      does not make sense.

      Clean it up, use goto error labels for cleanup.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 5d8f16d08ba42937ae8c4152d218a77671be4b8f
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:33 2014 +1030

      virtio_scsi: drop scan callback

      Enable VQs early like we do for restore.
      This makes it possible to drop the scan callback,
      moving scanning into the probe function, and making
      code simpler.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 486d2e632ca157558a738626c092973f309f3b45
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:33 2014 +1030

      virtio_balloon: enable VQs early on restore

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after resume returns, virtio balloon
      violated this rule by adding bufs, which causes the VQ to be used
      directly within restore.

      To fix, call virtio_device_ready before using VQ.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit e67423c7b4f20c327de533b068907aab33720482
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:33 2014 +1030

      virtio_scsi: fix race on device removal

      We cancel event work on device removal, but an interrupt
      could trigger immediately after this, and queue it
      again.

      To fix, set a flag.

      Loosely based on patch by Paolo Bonzini

      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 1fa5b2a784dc52d929432bcc963a0bfb3a74608f
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:33 2014 +1030

      virito_scsi: use freezable WQ for events

      Michael S. Tsirkin noticed a race condition:
      we reset device on freeze, but system WQ is still
      running so it might try adding bufs to a VQ meanwhile.

      To fix, switch to handling events from the freezable WQ.

      Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit e53fbd11e983e896adaabef2d2f1695d6e0af829
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:32 2014 +1030

      virtio_net: enable VQs early on restore

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after restore returns, virtio net violated this
      rule by using receive VQs within restore.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 401bbdc901b268113d7c562616feb7fc37492aca
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:32 2014 +1030

      virtio_console: enable VQs early on restore

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after resume returns, virtio console violated 
this
      rule by adding inbufs, which causes the VQ to be used directly within
      restore.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 52c9cf1ac3d315995e9a65b900bc25e1d8a538b3
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:32 2014 +1030

      virtio_scsi: enable VQs early on restore

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after restore returns, virtio scsi violated
      this rule on restore by kicking event vq within restore.

      To fix, call virtio_device_ready before using event queue.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 6d62c37f1991aafc872f8d8be8ac60e57ede8605
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:32 2014 +1030

      virtio_blk: enable VQs early on restore

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after restore returns, virtio block violated
      this rule on restore by restarting queues, which might in theory
      cause the VQ to be used directly within restore.

      To fix, call virtio_device_ready before using starting queues.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit cd679048958011418f14a8fc7dfdb64ab72ca315
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:31 2014 +1030

      virtio_scsi: move kick event out from virtscsi_init

      We currently kick event within virtscsi_init,
      before host is fully initialized.

      This can in theory confuse guest if device
      consumes the buffers immediately.

      To fix,  move virtscsi_kick_event_all out to scan/restore.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 024655555021e971203c519770609509e0af4468
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:31 2014 +1030

      virtio_net: fix use after free on allocation failure

      In the extremely unlikely event that driver initialization fails after
      RX buffers are added, virtio net frees RX buffers while VQs are
      still active, potentially causing device to use a freed buffer.

      To fix, reset device first - same as we do on device removal.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 64b4cc3911fe8284dfb3cfdb8065c100b818bab8
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:31 2014 +1030

      9p/trans_virtio: enable VQs early

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after probe returns, but virtio 9p device
      adds self to channel list within probe, at which point VQ can be
      used in violation of the spec.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit f5866db64f341776c2d9ed48080f82459fea6a55
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:31 2014 +1030

      virtio_console: enable VQs early

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after probe returns, virtio console violated 
this
      rule by adding inbufs, which causes the VQ to be used directly within
      probe.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 7a11370e5e6c26566904bb7f08281093a3002ff2
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:30 2014 +1030

      virtio_blk: enable VQs early

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after probe returns, virtio block violated this
      rule by calling add_disk, which causes the VQ to be used directly within
      probe.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 4baf1e33d0842c9673fef4af207d4b74da8d0126
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:30 2014 +1030

      virtio_net: enable VQs early

      virtio spec requires drivers to set DRIVER_OK before using VQs.
      This is set automatically after probe returns, virtio net violated this
      rule by using receive VQs within probe.

      To fix, call virtio_device_ready before using VQs.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 3569db593081fd88bbd6df21b9b0531873f2042c
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:30 2014 +1030

      virtio: add API to enable VQs early

      virtio spec 0.9.X requires DRIVER_OK to be set before
      VQs are used, but some drivers use VQs before probe
      function returns.
      Since DRIVER_OK is set after probe, this violates the spec.

      Even though under virtio 1.0 transitional devices support this
      behaviour, we want to make it possible for those early callers to become
      spec compliant and eventually support non-transitional devices.

      Add API for drivers to call before using VQs.

      Sets DRIVER_OK internally.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 507613bf31f4bc0a344a1dfc1bc9074fed6eab8f
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:30 2014 +1030

      virtio_net: minor cleanup

        goto done;
      done:
        return;
      is ugly, it was put there to make diff review easier.
      replace by open-coded return.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 080c637373904258ecc20cedc552b2472ab03d10
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:29 2014 +1030

      virtio-net: drop config_mutex

      config_mutex served two purposes: prevent multiple concurrent config
      change handlers, and synchronize access to config_enable flag.

      Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1
          workqueue: make all workqueues non-reentrant
      all workqueues are non-reentrant, and config_enable
      is now gone.

      Get rid of the unnecessary lock.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 102a2786c9df756cffdbcfd11096124e4dc6c311
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:29 2014 +1030

      virtio_net: drop config_enable

      Now that virtio core ensures config changes don't arrive during probing,
      drop config_enable flag in virtio net.
      On removal, flush is now sufficient to guarantee that no change work is
      queued.

      This help simplify the driver, and will allow setting DRIVER_OK earlier
      without losing config change notifications.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 1f54b0c055b9322f4e7acb49c492edc5accd15ae
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:29 2014 +1030

      virtio-blk: drop config_mutex

      config_mutex served two purposes: prevent multiple concurrent config
      change handlers, and synchronize access to config_enable flag.

      Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1
          workqueue: make all workqueues non-reentrant
      all workqueues are non-reentrant, and config_enable
      is now gone.

      Get rid of the unnecessary lock.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit cc74f71934da13fa979669467c04f0d2e5563112
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:22:26 2014 +1030

      virtio_blk: drop config_enable

      Now that virtio core ensures config changes don't
      arrive during probing, drop config_enable flag
      in virtio blk.
      On removal, flush is now sufficient to guarantee that
      no change work is queued.

      This help simplify the driver, and will allow
      setting DRIVER_OK earlier without losing config
      change notifications.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 22b7050a024d7deb0c9ef1e14ed73e3b1e369f24
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Wed Oct 15 10:21:55 2014 +1030

      virtio: defer config changed notifications

      Defer config changed notifications that arrive during
      probe/scan/freeze/restore.

      This will allow drivers to set DRIVER_OK earlier, without worrying about
      racing with config change interrupts.

      This change will also benefit old hypervisors (before 2009)
      that send interrupts without checking DRIVER_OK: previously,
      the callback could race with driver-specific initialization.

      This will also help simplify drivers.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (cosmetic changes)

  commit c6716bae52f97347e25166c6270aa98693d9212c
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Tue Oct 14 10:40:35 2014 +1030

      virtio-pci: move freeze/restore to virtio core

      This is in preparation to extending config changed event handling
      in core.
      Wrapping these in an API also seems to make for a cleaner code.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 016c98c6fe0c914d12e2e242b2bccde6d6dea54b
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Tue Oct 14 10:40:34 2014 +1030

      virtio: unify config_changed handling

      Replace duplicated code in all transports with a single wrapper in
      virtio.c.

      The only functional change is in virtio_mmio.c: if a buggy device sends
      us an interrupt before driver is set, we previously returned IRQ_NONE,
      now we return IRQ_HANDLED.

      As this must not happen in practice, this does not look like a big deal.

      See also commit 3fff0179e33cd7d0a688dab65700c46ad089e934
        virtio-pci: do not oops on config change if driver not loaded.
      for the original motivation behind the driver check.

      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit 6fbc198cf623944ab60a1db6d306a4d55cdd820d
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Tue Oct 14 10:40:29 2014 +1030

      virtio_pci: fix virtio spec compliance on restore

      On restore, virtio pci does the following:
      + set features
      + init vqs etc - device can be used at this point!
      + set ACKNOWLEDGE,DRIVER and DRIVER_OK status bits

      This is in violation of the virtio spec, which
      requires the following order:
      - ACKNOWLEDGE
      - DRIVER
      - init vqs
      - DRIVER_OK

      This behaviour will break with hypervisors that assume spec compliant
      behaviour.  It seems like a good idea to have this patch applied to
      stable branches to reduce the support butden for the hypervisors.

      Cc: stable@xxxxxxxxxxxxxxx
      Cc: Amit Shah <amit.shah@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

  commit d3051b489aa81ca9ba62af366149ef42b8dae97c
  Author: Prarit Bhargava <prarit@xxxxxxxxxx>
  Date:   Tue Oct 14 02:51:39 2014 +1030

      modules, lock around setting of MODULE_STATE_UNFORMED

      A panic was seen in the following sitation.

      There are two threads running on the system. The first thread is a system
      monitoring thread that is reading /proc/modules. The second thread is
      loading and unloading a module (in this example I'm using my simple
      dummy-module.ko).  Note, in the "real world" this occurred with the qlogic
      driver module.

      When doing this, the following panic occurred:

       ------------[ cut here ]------------
       kernel BUG at kernel/module.c:3739!
       invalid opcode: 0000 [#1] SMP
       Modules linked in: binfmt_misc sg nfsv3 rpcsec_gss_krb5 nfsv4 
dns_resolver nfs fscache intel_powerclamp coretemp kvm_intel kvm 
crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw 
igb gf128mul glue_helper iTCO_wdt iTCO_vendor_support ablk_helper ptp sb_edac 
cryptd pps_core edac_core shpchp i2c_i801 pcspkr wmi lpc_ich ioatdma mfd_core 
dca ipmi_si nfsd ipmi_msghandler auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c 
sr_mod cdrom sd_mod crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect 
sysimgblt i2c_algo_bit drm_kms_helper ttm isci drm libsas ahci libahci 
scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod [last 
unloaded: dummy_module]
       CPU: 37 PID: 186343 Comm: cat Tainted: GF          O--------------   
3.10.0+ #7
       Hardware name: Intel Corporation S2600CP/S2600CP, BIOS 
RMLSDP.86I.00.29.D696.1311111329 11/11/2013
       task: ffff8807fd2d8000 ti: ffff88080fa7c000 task.ti: ffff88080fa7c000
       RIP: 0010:[<ffffffff810d64c5>]  [<ffffffff810d64c5>] 
module_flags+0xb5/0xc0
       RSP: 0018:ffff88080fa7fe18  EFLAGS: 00010246
       RAX: 0000000000000003 RBX: ffffffffa03b5200 RCX: 0000000000000000
       RDX: 0000000000001000 RSI: ffff88080fa7fe38 RDI: ffffffffa03b5000
       RBP: ffff88080fa7fe28 R08: 0000000000000010 R09: 0000000000000000
       R10: 0000000000000000 R11: 000000000000000f R12: ffffffffa03b5000
       R13: ffffffffa03b5008 R14: ffffffffa03b5200 R15: ffffffffa03b5000
       FS:  00007f6ae57ef740(0000) GS:ffff88101e7a0000(0000) 
knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: 0000000000404f70 CR3: 0000000ffed48000 CR4: 00000000001407e0
       DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
       Stack:
        ffffffffa03b5200 ffff8810101e4800 ffff88080fa7fe70 ffffffff810d666c
        ffff88081e807300 000000002e0f2fbf 0000000000000000 ffff88100f257b00
        ffffffffa03b5008 ffff88080fa7ff48 ffff8810101e4800 ffff88080fa7fee0
       Call Trace:
        [<ffffffff810d666c>] m_show+0x19c/0x1e0
        [<ffffffff811e4d7e>] seq_read+0x16e/0x3b0
        [<ffffffff812281ed>] proc_reg_read+0x3d/0x80
        [<ffffffff811c0f2c>] vfs_read+0x9c/0x170
        [<ffffffff811c1a58>] SyS_read+0x58/0xb0
        [<ffffffff81605829>] system_call_fastpath+0x16/0x1b
       Code: 48 63 c2 83 c2 01 c6 04 03 29 48 63 d2 eb d9 0f 1f 80 00 00 00 00 
48 63 d2 c6 04 13 2d 41 8b 0c 24 8d 50 02 83 f9 01 75 b2 eb cb <0f> 0b 66 0f 1f 
84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41
       RIP  [<ffffffff810d64c5>] module_flags+0xb5/0xc0
        RSP <ffff88080fa7fe18>

          Consider the two processes running on the system.

          CPU 0 (/proc/modules reader)
          CPU 1 (loading/unloading module)

          CPU 0 opens /proc/modules, and starts displaying data for each module 
by
          traversing the modules list via fs/seq_file.c:seq_open() and
          fs/seq_file.c:seq_read().  For each module in the modules list, 
seq_read
          does

                  op->start()  <-- this is a pointer to m_start()
                  op->show()   <- this is a pointer to m_show()
                  op->stop()   <-- this is a pointer to m_stop()

          The m_start(), m_show(), and m_stop() module functions are defined in
          kernel/module.c. The m_start() and m_stop() functions acquire and 
release
          the module_mutex respectively.

          ie) When reading /proc/modules, the module_mutex is acquired and 
released
          for each module.

          m_show() is called with the module_mutex held.  It accesses the module
          struct data and attempts to write out module data.  It is in this code
          path that the above BUG_ON() warning is encountered, specifically 
m_show()
          calls

          static char *module_flags(struct module *mod, char *buf)
          {
                  int bx = 0;

                  BUG_ON(mod->state == MODULE_STATE_UNFORMED);
          ...

          The other thread, CPU 1, in unloading the module calls the syscall
          delete_module() defined in kernel/module.c.  The module_mutex is 
acquired
          for a short time, and then released.  free_module() is called without 
the
          module_mutex.  free_module() then sets mod->state = 
MODULE_STATE_UNFORMED,
          also without the module_mutex.  Some additional code is called and 
then the
          module_mutex is reacquired to remove the module from the modules list:

              /* Now we can delete it from the lists */
              mutex_lock(&module_mutex);
              stop_machine(__unlink_module, mod, NULL);
              mutex_unlock(&module_mutex);

      This is the sequence of events that leads to the panic.

      CPU 1 is removing dummy_module via delete_module().  It acquires the
      module_mutex, and then releases it.  CPU 1 has NOT set 
dummy_module->state to
      MODULE_STATE_UNFORMED yet.

      CPU 0, which is reading the /proc/modules, acquires the module_mutex and
      acquires a pointer to the dummy_module which is still in the modules list.
      CPU 0 calls m_show for dummy_module.  The check in m_show() for
      MODULE_STATE_UNFORMED passed for dummy_module even though it is being
      torn down.

      Meanwhile CPU 1, which has been continuing to remove dummy_module without
      holding the module_mutex, now calls free_module() and sets
      dummy_module->state to MODULE_STATE_UNFORMED.

      CPU 0 now calls module_flags() with dummy_module and ...

      static char *module_flags(struct module *mod, char *buf)
      {
              int bx = 0;

              BUG_ON(mod->state == MODULE_STATE_UNFORMED);

      and BOOM.

      Acquire and release the module_mutex lock around the setting of
      MODULE_STATE_UNFORMED in the teardown path, which should resolve the
      problem.

      Testing: In the unpatched kernel I can panic the system within 1 minute by
      doing

      while (true) do insmod dummy_module.ko; rmmod dummy_module.ko; done

      and

      while (true) do cat /proc/modules; done

      in separate terminals.

      In the patched kernel I was able to run just over one hour without seeing
      any issues.  I also verified the output of panic via sysrq-c and the 
output
      of /proc/modules looks correct for all three states for the dummy_module.

              dummy_module 12661 0 - Unloading 0xffffffffa03a5000 (OE-)
              dummy_module 12661 0 - Live 0xffffffffa03bb000 (OE)
              dummy_module 14015 1 - Loading 0xffffffffa03a5000 (OE+)

      Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
      Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
      Cc: stable@xxxxxxxxxx

  commit 0d0826019e529f21c84687521d03f60cd241ca7d
  Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
  Date:   Wed Oct 8 10:42:27 2014 -0700

      mnt: Prevent pivot_root from creating a loop in the mount tree

      Andy Lutomirski recently demonstrated that when chroot is used to set
      the root path below the path for the new ``root'' passed to pivot_root
      the pivot_root system call succeeds and leaks mounts.

      In examining the code I see that starting with a new root that is
      below the current root in the mount tree will result in a loop in the
      mount tree after the mounts are detached and then reattached to one
      another.  Resulting in all kinds of ugliness including a leak of that
      mounts involved in the leak of the mount loop.

      Prevent this problem by ensuring that the new mount is reachable from
      the current root of the mount tree.

      [Added stable cc.  Fixes CVE-2014-7970.  --Andy]

      Cc: stable@xxxxxxxxxxxxxxx
      Reported-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
      Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
      Link: http://lkml.kernel.org/r/87bnpmihks.fsf@xxxxxxxxxxxxxxxxxxxxx
      Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>

  commit 9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Mon Oct 13 06:27:47 2014 -0700

      tcp: TCP Small Queues and strange attractors

      TCP Small queues tries to keep number of packets in qdisc
      as small as possible, and depends on a tasklet to feed following
      packets at TX completion time.
      Choice of tasklet was driven by latencies requirements.

      Then, TCP stack tries to avoid reorders, by locking flows with
      outstanding packets in qdisc in a given TX queue.

      What can happen is that many flows get attracted by a low performing
      TX queue, and cpu servicing TX completion has to feed packets for all of
      them, making this cpu 100% busy in softirq mode.

      This became particularly visible with latest skb->xmit_more support

      Strategy adopted in this patch is to detect when tcp_wfree() is called
      from ksoftirqd and let the outstanding queue for this flow being drained
      before feeding additional packets, so that skb->ooo_okay can be set
      to allow select_queue() to select the optimal queue :

      Incoming ACKS are normally handled by different cpus, so this patch
      gives more chance for these cpus to take over the burden of feeding
      qdisc with future packets.

      Tested:

      lpaa23:~# ./super_netperf 1400 --google-pacing-rate 3028000 -H lpaa24 -l 
3600 &

      lpaa23:~# sar -n DEV 1 10 | grep eth1
      06:16:18 AM      eth1 595448.00 1190564.00  38381.09 1760253.12      0.00 
     0.00      1.00
      06:16:19 AM      eth1 594858.00 1189686.00  38340.76 1758952.72      0.00 
     0.00      0.00
      06:16:20 AM      eth1 597017.00 1194019.00  38480.79 1765370.29      0.00 
     0.00      1.00
      06:16:21 AM      eth1 595450.00 1190936.00  38380.19 1760805.05      0.00 
     0.00      0.00
      06:16:22 AM      eth1 596385.00 1193096.00  38442.56 1763976.29      0.00 
     0.00      1.00
      06:16:23 AM      eth1 598155.00 1195978.00  38552.97 1768264.60      0.00 
     0.00      0.00
      06:16:24 AM      eth1 594405.00 1188643.00  38312.57 1757414.89      0.00 
     0.00      1.00
      06:16:25 AM      eth1 593366.00 1187154.00  38252.16 1755195.83      0.00 
     0.00      0.00
      06:16:26 AM      eth1 593188.00 1186118.00  38232.88 1753682.57      0.00 
     0.00      1.00
      06:16:27 AM      eth1 596301.00 1192241.00  38440.94 1762733.09      0.00 
     0.00      0.00
      Average:         eth1 595457.30 1190843.50  38381.69 1760664.84      0.00 
     0.00      0.50
      lpaa23:~# ./tc -s -d qd sh dev eth1 | grep backlog
       backlog 7606336b 2513p requeues 167982
       backlog 224072b 74p requeues 566
       backlog 581376b 192p requeues 5598
       backlog 181680b 60p requeues 1070
       backlog 5305056b 1753p requeues 110166    // Here, this TX queue is 
attracting flows
       backlog 157456b 52p requeues 1758
       backlog 672216b 222p requeues 3025
       backlog 60560b 20p requeues 24541
       backlog 448144b 148p requeues 21258

      lpaa23:~# echo 1 
>/proc/sys/net/ipv4/tcp_tsq_enable_tcp_wfree_ksoftirqd_detect

      Immediate jump to full bandwidth, and traffic is properly
      shard on all tx queues.

      lpaa23:~# sar -n DEV 1 10 | grep eth1
      06:16:46 AM      eth1 1397632.00 2795397.00  90081.87 4133031.26      
0.00      0.00      1.00
      06:16:47 AM      eth1 1396874.00 2793614.00  90032.99 4130385.46      
0.00      0.00      0.00
      06:16:48 AM      eth1 1395842.00 2791600.00  89966.46 4127409.67      
0.00      0.00      1.00
      06:16:49 AM      eth1 1395528.00 2791017.00  89946.17 4126551.24      
0.00      0.00      0.00
      06:16:50 AM      eth1 1397891.00 2795716.00  90098.74 4133497.39      
0.00      0.00      1.00
      06:16:51 AM      eth1 1394951.00 2789984.00  89908.96 4125022.51      
0.00      0.00      0.00
      06:16:52 AM      eth1 1394608.00 2789190.00  89886.90 4123851.36      
0.00      0.00      1.00
      06:16:53 AM      eth1 1395314.00 2790653.00  89934.33 4125983.09      
0.00      0.00      0.00
      06:16:54 AM      eth1 1396115.00 2792276.00  89984.25 4128411.21      
0.00      0.00      1.00
      06:16:55 AM      eth1 1396829.00 2793523.00  90030.19 4130250.28      
0.00      0.00      0.00
      Average:         eth1 1396158.40 2792297.00  89987.09 4128439.35      
0.00      0.00      0.50

      lpaa23:~# tc -s -d qd sh dev eth1 | grep backlog
       backlog 7900052b 2609p requeues 173287
       backlog 878120b 290p requeues 589
       backlog 1068884b 354p requeues 5621
       backlog 996212b 329p requeues 1088
       backlog 984100b 325p requeues 115316
       backlog 956848b 316p requeues 1781
       backlog 1080996b 357p requeues 3047
       backlog 975016b 322p requeues 24571
       backlog 990156b 327p requeues 21274

      (All 8 TX queues get a fair share of the traffic)

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7b909bb49ac204bfd2e628707db37beb490dbc5c
  Merge: a040f95 da22b896 78eda2b f39f869 05df780
  Author: Roland Dreier <roland@xxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 14:09:12 2014 -0700

      Merge branches 'core', 'cxgb4', 'iser', 'mlx5' and 'ocrdma' into for-next

  commit 82b009f9b38e8285987b842f1f13015acf4439db
  Merge: db404b1 d47d2fd
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 17:05:23 2014 -0400

      Merge branch 'qlcnic'

      Rajesh Borundia says:

      ====================
      qlcnic: Bug fixes

      This series fixes following issues.

      * We were programming maximum number of arguments supported by
        adapter instead of required in a command.
      * Destroy tx command requires three arguments instead of two.

      Please apply these patches to net.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit d47d2fdd29cf41543a0c5a522c4cc9463f9627b2
  Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx>
  Date:   Tue Oct 14 07:41:46 2014 -0400

      qlcnic: Fix number of arguments in destroy tx context command

      o Number of arguments taken by destroy tx command is three
        instead of two.

      Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2a1ef4b5a72614c72fce0e21f44e996ee8f0ef23
  Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx>
  Date:   Tue Oct 14 07:41:45 2014 -0400

      qlcnic: Fix programming number of arguments in a command.

      o Initially we were programming maximum number of arguments.
        Instead we should program number of arguments required in
        a command.
      o Maximum number of arguments for 82xx adapter is four. Fix it
        for GET_ESWITCH_STATS command.

      Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit db404b13617fe0cdb415da55762203d456837912
  Author: Mark Rustad <mark.d.rustad@xxxxxxxxx>
  Date:   Tue Oct 14 06:28:38 2014 -0700

      genl_magic: Resolve logical-op warnings

      Resolve "logical 'and' applied to non-boolean constant" warnings"
      that appear in W=2 builds by adding !! to a bit test.

      Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e53da5fbfc02586fe4506ed583069b8205f3e38d
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 17:02:37 2014 -0400

      net: Trap attempts to call sock_kfree_s() with a NULL pointer.

      Unlike normal kfree() it is never right to call sock_kfree_s() with
      a NULL pointer, because sock_kfree_s() also has the side effect of
      discharging the memory from the sockets quota.

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit dee49f203a7feef5d00c416b7dc7e34a7caba8e1
  Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 12:35:08 2014 -0700

      rds: avoid calling sock_kfree_s() on allocation failure

      It is okay to free a NULL pointer but not okay to mischarge the socket 
optmem
      accounting. Compile test only.

      Reported-by: rucsoftsec@xxxxxxxxx
      Cc: Chien Yen <chien.yen@xxxxxxxxxx>
      Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx>
      Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 22c0b963d7400971f4c5a1a67b083e3742996640
  Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
  Date:   Wed Oct 15 01:54:14 2014 +0530

      cxgb4: Fix FW flash logic using ethtool

      Use t4_fw_upgrade instead of t4_load_fw to write firmware into FLASH, 
since
      t4_load_fw doesn't co-ordinate with the firmware and the adapter can get 
hosed
      enough to require a power cycle of the system.

      Based on original work by Casey Leedom <leedom@xxxxxxxxxxx>

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2c241bd35e6f626ad6f867dcf9fefdc2315f125f
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Tue Oct 14 17:19:44 2014 -0300

      perf symbols: Make sym->end be the first address after the symbol range

      To follow vm_area_struct->vm_end convention.

      By adhering to the convention that ->end is the first address outside
      the symbol's range we can do things like:

        sym->end = start + len;
        len = sym->end - sym->start;

      This is also now the convention used for struct map->end, fixing some
      off-by-one bugs.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-agomujr7tuqaq6lu7kr6z7h6@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit eba85230de892e2a925c85dca1fe177e8b3d84d8
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Tue Oct 14 16:39:27 2014 -0300

      perf symbols: Fix map->end fixup

      When synthesizing maps from files that have incomplete symbol
      information, like kallsyms, we need to fixup the end of maps by seting
      its end from the ->start of the next map, fix it to set prev_map->end to
      curr_map->start, since ->end is the first byte outside prev_map address
      range.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-ivbrj08sjakxdwkrcndbkoig@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 4955ea225db42144d1667838f908315a16d51c5b
  Author: Namhyung Kim <namhyung@xxxxxxxxxx>
  Date:   Tue Oct 14 16:05:38 2014 -0300

      perf tools: Fixup off-by-one comparision in maps__find

      map->end is the first addr _outside_ the a map, following the convention
      of vm_area_struct->vm_end.

      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Acked-by: Stephane Eranian <eranian@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/r/8761fwh1nc.fsf@xxxxxxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 77faf4d060e3ee1fd2ff6cd39f2b2eb887100422
  Author: Stephane Eranian <eranian@xxxxxxxxxx>
  Date:   Mon Oct 6 10:35:32 2014 +0200

      perf tools: fix off-by-one error in maps

      This patch fixes off-by-one errors in the management of maps.

      A map is defined by start address and length as implemented by
      map__new():

        map__init(map, type, start, start + len, pgoff, dso);

        map->start = addr;
        map->end = end;

      Consequently, the actual address range is [start; end[ map->end is the
      first byte outside the range.

      This patch fixes two bugs where upper bound checking was off-by-one.

      In V2, we fix map_groups__fixup_overlappings() some more where
      map->start was off-by-one as reported by Jiri.

      Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
      Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Link: http://lkml.kernel.org/r/20141006083532.GA4850@quad
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit e167f995e26249aa93708589c5eea539652351fa
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Tue Oct 14 15:07:48 2014 -0300

      perf machine: Add missing dsos->root rbtree root initialization

      A segfault happens on 'perf test hists_link' because we end up using a
      struct machines on the stack, and then machines__init() was not
      initializing the newly introduced rb_root, just the existing list_head.

      When we introduced struct dsos, to group the two ways to store dsos,
      i.e. the linked list and the rbtree, we didn't turned the initialization
      done in:

        machines__init(machines->host) ->
                machine__init() ->
                        INIT_LIST_HEAD

      into a dsos__init() to keep on initializing the list_head but _as well_
      initializing the rb_root, oops.

      All worked because outside perf-test we probably zalloc the whole thing
      which ends up initializing it in to NULL.

      So the problem looks contained to 'perf test' that uses it on stack,
      etc.

      Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx>
      Acked-by: Waiman Long <Waiman.Long@xxxxxx>,
      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>,
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Douglas Hatch <doug.hatch@xxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Scott J Norton <scott.norton@xxxxxx>
      Cc: Waiman Long <Waiman.Long@xxxxxx>,
      Link: http://lkml.kernel.org/r/20141014180353.GF3198@xxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 6e36145d4ec754f4a8ce9d6912ca4d82ffb6ae3f
  Merge: 8c2a7a5 53b26b9
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 16:40:49 2014 -0400

      Merge branch 'stmmac'

      Giuseppe Cavallaro says:

      ====================
      stmmac: review and fix the dwmac-sti glue-logic

      This patch is to review the whole glue logic adopted on STi SoCs that
      was bugged.
      In the old glue-logic there was a lot of confusion when setup the
      retiming especially for STiD127 where, for example, the bits 6 and 7
      (in the GMAC  control register) have a different meaning of what is
      used for STiH4xx SoCs. So we cannot adopt the same glue for all these
      SoCs.
      Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII
      couldn't run when the speed was 10Mbps (because the clock was not properly
      managed).
      Note that the phy clock needs to be provided by the platform as well as
      documented in the related binding file (updated as consequence).

      The old code supported too many configurations never adopted and 
validated.
      This made the code very complex to maintain and debug in case of issues.

      The patch simplifies all the configurations as commented in the tables
      inside the file and obviously it has been tested on all the boards
      based on the SoCs mentioned.

      With this patch, the dwmac-sti is also ready to support new 
configurations that
      will be available on next SoC generations.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 53b26b9bc9a547bf10135a8079e5ae88f354b9f6
  Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx>
  Date:   Tue Oct 14 08:12:56 2014 +0200

      stmmac: dwmac-sti: review the glue-logic for STi4xx and STiD127 SoCs

      This patch is to review the whole glue logic adopted on STi SoCs that
      was bugged.

      In the old glue-logic there was a lot of confusion when setup the
      retiming especially for STiD127 where, for example, the bits 6 and 7
      (in the GMAC  control register) have a different meaning of what is
      used for STiH4xx SoCs. So we cannot adopt the same glue for all these
      SoCs.
      Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII
      couldn't run when the speed was 10Mbps (because the clock was not properly
      managed).
      Note that the phy clock needs to be provided by the platform as well as
      documented in the related binding file (updated as consequence).

      The old code supported too many configurations never adopted and 
validated.
      This made the code very complex to maintain and debug in case of issues.

      The patch simplifies all the configurations as commented in the tables
      inside the file and obviously it has been tested on all the boards
      based on the SoCs mentioned.

      With this patch, the dwmac-sti is also ready to support new 
configurations that
      will be available on next SoC generations.

      Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
      Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 160e1fd10a287bb805745ea4e5b8bb383b686b7f
  Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx>
  Date:   Tue Oct 14 08:12:55 2014 +0200

      stmmac: make the STi Layer compatible to STiH407

      This adds the missing compatibility to the STiH407 SoC.

      Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 8c2a7a5d2c6ec6c2a95fe22a6d3af1db07840da8
  Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx>
  Date:   Tue Oct 14 08:11:54 2014 +0200

      stmmac: platform: fix FIXED_PHY support.

      On several STi platforms: e.g. stihxxx-b2120 an Ethernet switch is
      embedded and connected to the stmmac via RGMII mode. So this is managed
      by using the FIXED_PHY. In that case, the support in the platform needs
      to be fixed to allow the stmmac to dialog with the switch via fixed-link
      by using phy_bus_name property.

      Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 8885846fc4b708f543fe1dd3ef7402417d2d4151
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Mon Oct 13 13:30:27 2014 -0300

      perf evsel: Make some exit routines static

      Since they are automatically called by other methods used by tools.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-ne3g4any7q6ty5d6yv8t1wws@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 80b2210c623dc47e0847816989dd647738e4fb94
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Mon Oct 13 10:29:50 2014 -0300

      perf evsel: Add missing 'target' struct forward declaration

      We use it in evsel.h but were getting it indirectly, fix it.

      Noticed while working on having evsel.h usable by rasd.c.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-94t3jvw4tmzrq3dnovvpl65e@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 4112eb1899c0e711b2ab1491f51215359cf94d74
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 15:55:15 2014 -0300

      perf evlist: Default to syswide target when no thread/cpu maps set

      If all a tool wants is to do system wide event monitoring, there is no
      more the need to setup thread_map and cpu_map objects, just call
      perf_evlist__open() and it will do create one fd per CPU monitoring all
      threads.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-poovolkigu72brx4783uq4cf@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 1aaf63b1ee912abd7675681f9d6ffaaf2ffc0451
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 14:29:49 2014 -0300

      perf evlist: Check that there is a thread_map when preparing a workload

      The perf_evlist__prepare_workload expects a thread map to be in place
      so that it can store the pid of the workload being started, so check it
      and tell the developer about it instead of segfaulting.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-jvlz2f264e7kpmhjmwltikqw@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 641556c98c821922a9a2121247b5fa25e4407d11
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 12:03:46 2014 -0300

      perf thread_map: Create dummy constructor out of open coded equivalent

      Create a dummy thread_map, one that has just one entry and it is -1,
      meaning 'all threads', as this ends up going down to perf_event_open().

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-8av26cz8uxmbnihl5mmrygp9@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit a635fc511e05774298153e3ddfef7c4cd51a1bb4
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Thu Oct 9 16:16:00 2014 -0300

      perf tools: Remove hists from evsel

      Now tools that deals want to have an hists per evsel need to call
      hists__init() before creating any evsels, which can be as early as when
      parsing the command line, so do it before calling parse_options().

      The current tools using hists/hist_entries are report, top and annotate,
      change them to request per evsel hists.

      This is in preparation for making evsels usable by 3rd party tools, that
      not necessarily live in perf's source code repository.

      Acked-by: Borislav Petkov <bp@xxxxxxx>
      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-usjx2la743f10ippj7p1b20x@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 8f651eae186f4dfb1740988623c83ba03dcf3a76
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Thu Oct 9 16:12:24 2014 -0300

      perf callchain: Move the callchain_param extern to callchain.h

      It was lost in hist.h, move it to where it belongs, callchain.h, as
      there are places that gets hist.h by means of evsel.h, and since evsel.h
      is being untangled from hist.h...

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-0rg7ji1jnbm6q6gj35j37jby@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit ce8ccff5dd6b87dfe3495c7e9c5d56169bbacf58
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:51 2014 -0300

      perf evsel: Subclassing

      Provide a method to be called at tool start to config the perf_evsel
      instance size, together with optional constructor and destructor.

      This will be used so that perf_evsel doesn't always include a struct
      hists, tools that works with hists/hist_entries, like report, top and
      annotate, will, at start, tell the evsel class the size they need per
      instance.

      v2: Don't use exit as a name of a member of function parameter, as this
          breaks the build on at least fedora14 and rhel6.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-7t8cay0ieryox4gqosie85ek@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 77b3a4dcde4f770a0f3edbe16dd423b3d0717318
  Author: Guenter Roeck <linux@xxxxxxxxxxxx>
  Date:   Tue Oct 14 11:21:04 2014 -0700

      dsa: mv88e6171: Fix tag_protocol check

      tag_protocol is now an enum, so drivers have to check against it.

      Cc: Andrew Lunn <andrew@xxxxxxx>
      Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
      Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Acked-by: Andrew Lunn <andrew@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit c07127b48c6367255fb4506e6d6ba6e219205607
  Author: Neale Ferguson <neale@xxxxxxxxxxxxxx>
  Date:   Tue Oct 14 15:10:48 2014 -0500

      dlm: fix missing endian conversion of rcom_status flags

      The flags are already converted to le when being sent,
      but are not being converted back to cpu when received.

      Signed-off-by: Neale Ferguson <neale@xxxxxxxxxxxxxx>
      Signed-off-by: David Teigland <teigland@xxxxxxxxxx>

  commit 4d1bafbe485240ee19dcedad864c7c5bae07a7e1
  Merge: c15952d 5e6a024
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 16:09:38 2014 -0400

      Merge branch 'xgene'

      Iyappan Subramanian says:

      ====================
      Adding SGMII based 1GbE basic support to APM X-Gene SoC ethernet driver.

      v2: Address comments from v1
      * Split the patchset into two, the first one being preparatory patch
      * Added link_state function pointer to the xgene_mac_ops structure
      * Added xgene_indirect_ctl structure for indirect read/write arguments

      v1:
      * Initial version
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5e6a024bebea5bad6b787cf2c0ee28116b4147f0
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Mon Oct 13 17:05:35 2014 -0700

      drivers: net: xgene: Add SGMII based 1GbE ethtool support

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 32f784b50e14c653ad0f010fbd5921a5f8caf846
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Mon Oct 13 17:05:34 2014 -0700

      drivers: net: xgene: Add SGMII based 1GbE support

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit dc8385f0c0f46ca18c1c8ab59c9f565dc7cfa6bf
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Mon Oct 13 17:05:33 2014 -0700

      drivers: net: xgene: Preparing for adding SGMII based 1GbE

      - Added link_state function pointer to the xgene__mac_ops structure
      - Moved ring manager (pdata->rm) assignment to xgene_enet_setup_ops
      - Removed unused variable (pdata->phy_addr) and macro (FULL_DUPLEX)

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4c2e7f0954dcd9fbb47d065c654d44608dad38e0
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Mon Oct 13 17:05:32 2014 -0700

      dtb: Add SGMII based 1GbE node to APM X-Gene SoC device tree

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit c15952dc18d8a293d976ac6c06d44d9d98023b45
  Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
  Date:   Tue Oct 14 02:08:54 2014 -0700

      net: filter: move common defines into bpf_common.h

      userspace programs that use eBPF instruction macros need to include two 
files:
      uapi/linux/filter.h and uapi/linux/bpf.h
      Move common macro definitions that are shared between classic BPF and eBPF
      into uapi/linux/bpf_common.h, so that user app can include only one bpf.h 
file

      Cc: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 91c4467e3c76b6d40ecc29ed71d3aa1e0285ab80
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Tue Oct 14 19:01:14 2014 +0200

      caif_usb: use target structure member in memset

      parent cfusbl was used instead of first structure member 'layer'

      Suggested-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7970f1918ff685e64063b54474a9c1ac087aee4d
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Tue Oct 14 19:00:55 2014 +0200

      caif_usb: remove redundant memory message

      Let MM subsystem display out of memory messages.

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 6ff1e1e3c81426515e1782f2f13b7237211a43df
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 22:21:46 2014 +0200

      caif: replace kmalloc/memset 0 by kzalloc

      Also add blank line after declaration

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 030b16a0e37ff2a870dd57c5da89c1741c683684
  Author: Mugunthan V N <mugunthanvnm@xxxxxx>
  Date:   Mon Oct 13 22:21:07 2014 +0530

      drivers: net: cpsw: remove child devices while driver detach

      remove all the child devices from the system to make sure that re-insert 
of
      cpsw module doesn't fail on child device populated by 
of_platform_populate().

      Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit fc7a99fb71b83f811e2c013ab55e507048153f23
  Author: Mugunthan V N <mugunthanvnm@xxxxxx>
  Date:   Mon Oct 13 22:21:06 2014 +0530

      drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order 
detected

      remove spinlock in cpdma_desc_pool_destroy() as there is no active cpdma
      channel and iounmap should be called without auquiring lock.

      root@dra7xx-evm:~# modprobe -r ti_cpsw
      [   50.539743]
      [   50.541312] ======================================================
      [   50.547796] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected 
]
      [   50.554826] 3.14.19-02124-g95c5b7b #308 Not tainted
      [   50.559939] ------------------------------------------------------
      [   50.566416] modprobe/1921 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
      [   50.573347]  (vmap_area_lock){+.+...}, at: [<c01127fc>] 
find_vmap_area+0x10/0x6c
      [   50.581132]
      [   50.581132] and this task is already holding:
      [   50.587249]  (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] 
cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma]
      [   50.597766] which would create a new lock dependency:
      [   50.603048]  (&(&pool->lock)->rlock#2){..-...} -> 
(vmap_area_lock){+.+...}
      [   50.610296]
      [   50.610296] but this new dependency connects a SOFTIRQ-irq-safe lock:
      [   50.618601]  (&(&pool->lock)->rlock#2){..-...}
      ... which became SOFTIRQ-irq-safe at:
      [   50.626829]   [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c
      [   50.632677]   [<bf01773c>] cpdma_desc_free.constprop.7+0x28/0x58 
[davinci_cpdma]
      [   50.640437]   [<bf0177e8>] __cpdma_chan_free+0x7c/0xa8 [davinci_cpdma]
      [   50.647289]   [<bf017908>] __cpdma_chan_process+0xf4/0x134 
[davinci_cpdma]
      [   50.654512]   [<bf017984>] cpdma_chan_process+0x3c/0x54 [davinci_cpdma]
      [   50.661455]   [<bf0277e8>] cpsw_poll+0x14/0xa8 [ti_cpsw]
      [   50.667038]   [<c05844f4>] net_rx_action+0xc0/0x1e8
      [   50.672150]   [<c0048234>] __do_softirq+0xcc/0x304
      [   50.677183]   [<c004873c>] irq_exit+0xa8/0xfc
      [   50.681751]   [<c000eeac>] handle_IRQ+0x50/0xb0
      [   50.686513]   [<c0008638>] gic_handle_irq+0x28/0x5c
      [   50.691628]   [<c06590a4>] __irq_svc+0x44/0x5c
      [   50.696289]   [<c0658ab4>] _raw_spin_unlock_irqrestore+0x34/0x44
      [   50.702591]   [<c065a9c4>] do_page_fault.part.9+0x144/0x3c4
      [   50.708433]   [<c065acb8>] do_page_fault+0x74/0x84
      [   50.713453]   [<c00083dc>] do_DataAbort+0x34/0x98
      [   50.718391]   [<c065923c>] __dabt_usr+0x3c/0x40
      [   50.723148]
      [   50.723148] to a SOFTIRQ-irq-unsafe lock:
      [   50.728893]  (vmap_area_lock){+.+...}
      ... which became SOFTIRQ-irq-unsafe at:
      [   50.736476] ...  [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   50.741876]   [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300
      [   50.747908]   [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134
      [   50.754210]   [<c011486c>] get_vm_area_caller+0x3c/0x48
      [   50.759692]   [<c0114be0>] vmap+0x40/0x78
      [   50.763900]   [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0
      [   50.769835]   [<c093eac0>] start_kernel+0x320/0x388
      [   50.774952]   [<80008074>] 0x80008074
      [   50.778793]
      [   50.778793] other info that might help us debug this:
      [   50.778793]
      [   50.787181]  Possible interrupt unsafe locking scenario:
      [   50.787181]
      [   50.794295]        CPU0                    CPU1
      [   50.799042]        ----                    ----
      [   50.803785]   lock(vmap_area_lock);
      [   50.807446]                                local_irq_disable();
      [   50.813652]                                
lock(&(&pool->lock)->rlock#2);
      [   50.820782]                                lock(vmap_area_lock);
      [   50.827086]   <Interrupt>
      [   50.829823]     lock(&(&pool->lock)->rlock#2);
      [   50.834490]
      [   50.834490]  *** DEADLOCK ***
      [   50.834490]
      [   50.840695] 4 locks held by modprobe/1921:
      [   50.844981]  #0:  (&__lockdep_no_validate__){......}, at: [<c03e53e8>] 
driver_detach+0x44/0xb8
      [   50.854038]  #1:  (&__lockdep_no_validate__){......}, at: [<c03e53f4>] 
driver_detach+0x50/0xb8
      [   50.863102]  #2:  (&(&ctlr->lock)->rlock){......}, at: [<bf017c34>] 
cpdma_ctlr_destroy+0x1c/0x114 [davinci_cpdma]
      [   50.873890]  #3:  (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] 
cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma]
      [   50.884871]
      the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
      [   50.892827] -> (&(&pool->lock)->rlock#2){..-...} ops: 167 {
      [   50.898703]    IN-SOFTIRQ-W at:
      [   50.901995]                     [<c06585a4>] 
_raw_spin_lock_irqsave+0x38/0x4c
      [   50.909476]                     [<bf01773c>] 
cpdma_desc_free.constprop.7+0x28/0x58 [davinci_cpdma]
      [   50.918878]                     [<bf0177e8>] 
__cpdma_chan_free+0x7c/0xa8 [davinci_cpdma]
      [   50.927366]                     [<bf017908>] 
__cpdma_chan_process+0xf4/0x134 [davinci_cpdma]
      [   50.936218]                     [<bf017984>] 
cpdma_chan_process+0x3c/0x54 [davinci_cpdma]
      [   50.944794]                     [<bf0277e8>] cpsw_poll+0x14/0xa8 
[ti_cpsw]
      [   50.952009]                     [<c05844f4>] net_rx_action+0xc0/0x1e8
      [   50.958765]                     [<c0048234>] __do_softirq+0xcc/0x304
      [   50.965432]                     [<c004873c>] irq_exit+0xa8/0xfc
      [   50.971635]                     [<c000eeac>] handle_IRQ+0x50/0xb0
      [   50.978035]                     [<c0008638>] gic_handle_irq+0x28/0x5c
      [   50.984788]                     [<c06590a4>] __irq_svc+0x44/0x5c
      [   50.991085]                     [<c0658ab4>] 
_raw_spin_unlock_irqrestore+0x34/0x44
      [   50.999023]                     [<c065a9c4>] 
do_page_fault.part.9+0x144/0x3c4
      [   51.006510]                     [<c065acb8>] do_page_fault+0x74/0x84
      [   51.013171]                     [<c00083dc>] do_DataAbort+0x34/0x98
      [   51.019738]                     [<c065923c>] __dabt_usr+0x3c/0x40
      [   51.026129]    INITIAL USE at:
      [   51.029335]                    [<c06585a4>] 
_raw_spin_lock_irqsave+0x38/0x4c
      [   51.036729]                    [<bf017d78>] 
cpdma_chan_submit+0x4c/0x2f0 [davinci_cpdma]
      [   51.045225]                    [<bf02863c>] cpsw_ndo_open+0x378/0x6bc 
[ti_cpsw]
      [   51.052897]                    [<c058747c>] __dev_open+0x9c/0x104
      [   51.059287]                    [<c05876ec>] 
__dev_change_flags+0x88/0x160
      [   51.066420]                    [<c05877e4>] dev_change_flags+0x18/0x48
      [   51.073270]                    [<c05ed51c>] devinet_ioctl+0x61c/0x6e0
      [   51.080029]                    [<c056ee54>] sock_ioctl+0x5c/0x298
      [   51.086418]                    [<c01350a4>] do_vfs_ioctl+0x78/0x61c
      [   51.092993]                    [<c01356ac>] SyS_ioctl+0x64/0x74
      [   51.099200]                    [<c000e580>] ret_fast_syscall+0x0/0x48
      [   51.105956]  }
      [   51.107696]  ... key      at: [<bf019000>] __key.21312+0x0/0xfffff650 
[davinci_cpdma]
      [   51.115912]  ... acquired at:
      [   51.119019]    [<c00899ac>] lock_acquire+0x9c/0x104
      [   51.124138]    [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   51.129341]    [<c01127fc>] find_vmap_area+0x10/0x6c
      [   51.134547]    [<c0114960>] remove_vm_area+0x8/0x6c
      [   51.139659]    [<c0114a7c>] __vunmap+0x20/0xf8
      [   51.144318]    [<c001c350>] __arm_iounmap+0x10/0x18
      [   51.149440]    [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 
[davinci_cpdma]
      [   51.156560]    [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw]
      [   51.162407]    [<c03e62c8>] platform_drv_remove+0x18/0x1c
      [   51.168063]    [<c03e4c44>] __device_release_driver+0x70/0xc8
      [   51.174094]    [<c03e5458>] driver_detach+0xb4/0xb8
      [   51.179212]    [<c03e4a6c>] bus_remove_driver+0x4c/0x90
      [   51.184693]    [<c00b024c>] SyS_delete_module+0x10c/0x198
      [   51.190355]    [<c000e580>] ret_fast_syscall+0x0/0x48
      [   51.195661]
      [   51.197217]
      the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe 
lock:
      [   51.205986] -> (vmap_area_lock){+.+...} ops: 520 {
      [   51.211032]    HARDIRQ-ON-W at:
      [   51.214321]                     [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   51.221090]                     [<c011376c>] 
alloc_vmap_area.isra.28+0xb8/0x300
      [   51.228750]                     [<c0113a44>] 
__get_vm_area_node.isra.29+0x90/0x134
      [   51.236690]                     [<c011486c>] 
get_vm_area_caller+0x3c/0x48
      [   51.243811]                     [<c0114be0>] vmap+0x40/0x78
      [   51.249654]                     [<c09442f0>] 
check_writebuffer_bugs+0x54/0x1a0
      [   51.257239]                     [<c093eac0>] start_kernel+0x320/0x388
      [   51.263994]                     [<80008074>] 0x80008074
      [   51.269474]    SOFTIRQ-ON-W at:
      [   51.272769]                     [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   51.279525]                     [<c011376c>] 
alloc_vmap_area.isra.28+0xb8/0x300
      [   51.287190]                     [<c0113a44>] 
__get_vm_area_node.isra.29+0x90/0x134
      [   51.295126]                     [<c011486c>] 
get_vm_area_caller+0x3c/0x48
      [   51.302245]                     [<c0114be0>] vmap+0x40/0x78
      [   51.308094]                     [<c09442f0>] 
check_writebuffer_bugs+0x54/0x1a0
      [   51.315669]                     [<c093eac0>] start_kernel+0x320/0x388
      [   51.322423]                     [<80008074>] 0x80008074
      [   51.327906]    INITIAL USE at:
      [   51.331112]                    [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   51.337775]                    [<c011376c>] 
alloc_vmap_area.isra.28+0xb8/0x300
      [   51.345352]                    [<c0113a44>] 
__get_vm_area_node.isra.29+0x90/0x134
      [   51.353197]                    [<c011486c>] 
get_vm_area_caller+0x3c/0x48
      [   51.360224]                    [<c0114be0>] vmap+0x40/0x78
      [   51.365977]                    [<c09442f0>] 
check_writebuffer_bugs+0x54/0x1a0
      [   51.373464]                    [<c093eac0>] start_kernel+0x320/0x388
      [   51.380131]                    [<80008074>] 0x80008074
      [   51.385517]  }
      [   51.387260]  ... key      at: [<c0a66948>] vmap_area_lock+0x10/0x20
      [   51.393841]  ... acquired at:
      [   51.396945]    [<c00899ac>] lock_acquire+0x9c/0x104
      [   51.402060]    [<c06584e8>] _raw_spin_lock+0x28/0x38
      [   51.407266]    [<c01127fc>] find_vmap_area+0x10/0x6c
      [   51.412478]    [<c0114960>] remove_vm_area+0x8/0x6c
      [   51.417592]    [<c0114a7c>] __vunmap+0x20/0xf8
      [   51.422252]    [<c001c350>] __arm_iounmap+0x10/0x18
      [   51.427369]    [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 
[davinci_cpdma]
      [   51.434487]    [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw]
      [   51.440336]    [<c03e62c8>] platform_drv_remove+0x18/0x1c
      [   51.446000]    [<c03e4c44>] __device_release_driver+0x70/0xc8
      [   51.452031]    [<c03e5458>] driver_detach+0xb4/0xb8
      [   51.457147]    [<c03e4a6c>] bus_remove_driver+0x4c/0x90
      [   51.462628]    [<c00b024c>] SyS_delete_module+0x10c/0x198
      [   51.468289]    [<c000e580>] ret_fast_syscall+0x0/0x48
      [   51.473584]
      [   51.475140]
      [   51.475140] stack backtrace:
      [   51.479703] CPU: 0 PID: 1921 Comm: modprobe Not tainted 
3.14.19-02124-g95c5b7b #308
      [   51.487744] [<c0016090>] (unwind_backtrace) from [<c0012060>] 
(show_stack+0x10/0x14)
      [   51.495865] [<c0012060>] (show_stack) from [<c0652a20>] 
(dump_stack+0x78/0x94)
      [   51.503444] [<c0652a20>] (dump_stack) from [<c0086f18>] 
(check_usage+0x408/0x594)
      [   51.511293] [<c0086f18>] (check_usage) from [<c00870f8>] 
(check_irq_usage+0x54/0xb0)
      [   51.519416] [<c00870f8>] (check_irq_usage) from [<c0088724>] 
(__lock_acquire+0xe54/0x1b90)
      [   51.528077] [<c0088724>] (__lock_acquire) from [<c00899ac>] 
(lock_acquire+0x9c/0x104)
      [   51.536291] [<c00899ac>] (lock_acquire) from [<c06584e8>] 
(_raw_spin_lock+0x28/0x38)
      [   51.544417] [<c06584e8>] (_raw_spin_lock) from [<c01127fc>] 
(find_vmap_area+0x10/0x6c)
      [   51.552726] [<c01127fc>] (find_vmap_area) from [<c0114960>] 
(remove_vm_area+0x8/0x6c)
      [   51.560935] [<c0114960>] (remove_vm_area) from [<c0114a7c>] 
(__vunmap+0x20/0xf8)
      [   51.568693] [<c0114a7c>] (__vunmap) from [<c001c350>] 
(__arm_iounmap+0x10/0x18)
      [   51.576362] [<c001c350>] (__arm_iounmap) from [<bf017d08>] 
(cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma])
      [   51.586494] [<bf017d08>] (cpdma_ctlr_destroy [davinci_cpdma]) from 
[<bf026294>] (cpsw_remove+0x48/0x8c [ti_cpsw])
      [   51.597261] [<bf026294>] (cpsw_remove [ti_cpsw]) from [<c03e62c8>] 
(platform_drv_remove+0x18/0x1c)
      [   51.606659] [<c03e62c8>] (platform_drv_remove) from [<c03e4c44>] 
(__device_release_driver+0x70/0xc8)
      [   51.616237] [<c03e4c44>] (__device_release_driver) from [<c03e5458>] 
(driver_detach+0xb4/0xb8)
      [   51.625264] [<c03e5458>] (driver_detach) from [<c03e4a6c>] 
(bus_remove_driver+0x4c/0x90)
      [   51.633749] [<c03e4a6c>] (bus_remove_driver) from [<c00b024c>] 
(SyS_delete_module+0x10c/0x198)
      [   51.642781] [<c00b024c>] (SyS_delete_module) from [<c000e580>] 
(ret_fast_syscall+0x0/0x48)

      Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ff9538b1fce3a3af66578c072259dba7f7b4fe7a
  Author: Mugunthan V N <mugunthanvnm@xxxxxx>
  Date:   Mon Oct 13 22:21:05 2014 +0530

      drivers: net: davinci_cpdma: remove kfree on objects allocated with 
devm_* apis

      memories allocated with devm_* apis must not be freed with kfree apis,
      so removing the kfree calls

      Fixes: e194312854ed ('drivers: net: davinci_cpdma: Convert kzalloc() to 
devm_kzalloc().')

      Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2c7c9ea429ba30fe506747b7da110e2212d8fefa
  Author: Prashant Sreedharan <prashant@xxxxxxxxxxxx>
  Date:   Mon Oct 13 09:21:42 2014 -0700

      tg3: Add skb->xmit_more support

      Ring TX doorbell only if xmit_more is not set or the queue is stopped.

      Suggested-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx>
      Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f76936d07c4eeb36d8dbb64ebd30ab46ff85d9f7
  Author: Jiri Pirko <jiri@xxxxxxxxxxx>
  Date:   Mon Oct 13 16:34:10 2014 +0200

      ipv4: fix nexthop attlen check in fib_nh_match

      fib_nh_match does not match nexthops correctly. Example:

      ip route add 172.16.10/24 nexthop via 192.168.122.12 dev eth0 \
                                nexthop via 192.168.122.13 dev eth0
      ip route del 172.16.10/24 nexthop via 192.168.122.14 dev eth0 \
                                nexthop via 192.168.122.15 dev eth0

      Del command is successful and route is removed. After this patch
      applied, the route is correctly matched and result is:
      RTNETLINK answers: No such process

      Please consider this for stable trees as well.

      Fixes: 4e902c57417c4 ("[IPv4]: FIB configuration using struct fib_config")
      Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx>
      Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ad971f616aa98ea2503f1a1064637bfb4ef7b21e
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Sat Oct 11 15:17:29 2014 -0700

      tcp: fix tcp_ack() performance problem

      We worked hard to improve tcp_ack() performance, by not accessing
      skb_shinfo() in fast path (cd7d8498c9a5 tcp: change tcp_skb_pcount()
      location)

      We still have one spurious access because of ACK timestamping,
      added in commit e1c8a607b281 ("net-timestamp: ACK timestamp for
      bytestreams")

      By checking if sk_tsflags has SOF_TIMESTAMPING_TX_ACK set,
      we can avoid two cache line misses for the common case.

      While we are at it, add two prefetchw() :

      One in tcp_ack() to bring skb at the head of write queue.

      One in tcp_clean_rtx_queue() loop to bring following skb,
      as we will delete skb from the write queue and dirty skb->next->prev.

      Add a couple of [un]likely() clauses.

      After this patch, tcp_ack() is no longer the most consuming
      function in tcp stack.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Cc: Willem de Bruijn <willemb@xxxxxxxxxx>
      Cc: Neal Cardwell <ncardwell@xxxxxxxxxx>
      Cc: Yuchung Cheng <ycheng@xxxxxxxxxx>
      Cc: Van Jacobson <vanj@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 0bc62284ee3f2a228c64902ed818b6ba8e04159b
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Tue Oct 14 15:38:01 2014 +0800

      ceph: fix divide-by-zero in __validate_layout()

      The 'stripe_unit' field is 64 bits, casting it to 32 bits can result zero.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit 792c3a914910bd34302c5345578f85cfcb5e2c01
  Author: Ilya Dryomov <idryomov@xxxxxxxxxx>
  Date:   Fri Oct 10 18:36:07 2014 +0400

      rbd: rbd workqueues need a resque worker

      Need to use WQ_MEM_RECLAIM for our workqueues to prevent I/O lockups
      under memory pressure - we sit on the memory reclaim path.

      Cc: stable@xxxxxxxxxxxxxxx # 3.17, needs backporting for 3.16
      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>
      Tested-by: Micha Krause <micha@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit f9865f06f7f18c6661c88d0511f05c48612319cc
  Author: Ilya Dryomov <idryomov@xxxxxxxxxx>
  Date:   Fri Oct 10 16:39:05 2014 +0400

      libceph: ceph-msgr workqueue needs a resque worker

      Commit f363e45fd118 ("net/ceph: make ceph_msgr_wq non-reentrant")
      effectively removed WQ_MEM_RECLAIM flag from ceph_msgr_wq.  This is
      wrong - libceph is very much a memory reclaim path, so restore it.

      Cc: stable@xxxxxxxxxxxxxxx # needs backporting for < 3.12
      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>
      Tested-by: Micha Krause <micha@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit ab6c2c3ebe1d4fddc1f9ae29810799419be950c0
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Thu Oct 9 23:16:35 2014 +0200

      ceph: fix bool assignments

      Fix some coccinelle warnings:
      fs/ceph/caps.c:2400:6-10: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2401:6-15: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2402:6-17: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2403:6-22: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2404:6-22: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2405:6-19: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2440:4-20: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2469:3-16: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2490:2-18: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2519:3-7: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2549:3-12: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2575:2-6: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2589:3-7: WARNING: Assignment of bool to 0/1

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>

  commit 25f897773ba4ddc3dd9f8eabf358cfaefb23b8ae
  Author: Ilya Dryomov <idryomov@xxxxxxxxxx>
  Date:   Mon Oct 6 18:40:27 2014 +0400

      libceph: separate multiple ops with commas in debugfs output

      For requests with multiple ops, separate ops with commas instead of \t,
      which is a field separator here.

      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit 70b5bfa360aea4157b45c2863746ca67896c6ef1
  Author: Ilya Dryomov <idryomov@xxxxxxxxxx>
  Date:   Thu Oct 2 17:22:29 2014 +0400

      libceph: sync osd op definitions in rados.h

      Bring in missing osd ops and strings, use macros to eliminate multiple
      points of maintenance.

      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit eb179d3975c804ad98eaa403425eb6e48cfd3cc2
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Tue Sep 30 22:07:50 2014 +0200

      libceph: remove redundant declaration

      ceph_release_page_vector was defined twice in libceph.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx>

  commit 14ed97033dac4cc5fd516bfe3e37d2fc74804684
  Author: John Spray <john.spray@xxxxxxxxxx>
  Date:   Fri Sep 12 16:58:49 2014 +0100

      ceph: additional debugfs output

      MDS session state and client global ID is
      useful instrumentation when testing.

      Signed-off-by: John Spray <john.spray@xxxxxxxxxx>

  commit a687ecaf50f18329206c6b78764a8c7bd30a9df0
  Author: John Spray <john.spray@xxxxxxxxxx>
  Date:   Fri Sep 19 13:51:08 2014 +0100

      ceph: export ceph_session_state_name function

      ...so that it can be used from the ceph debugfs
      code when dumping session info.

      Signed-off-by: John Spray <john.spray@xxxxxxxxxx>

  commit b1ee94aa593abd03634bc3887b8e189840e42c12
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Tue Sep 16 20:35:17 2014 +0800

      ceph: include the initial ACL in create/mkdir/mknod MDS requests

      Current code set new file/directory's initial ACL in a non-atomic
      manner.
      Client first sends request to MDS to create new file/directory, then set
      the initial ACL after the new file/directory is successfully created.

      The fix is include the initial ACL in create/mkdir/mknod MDS requests.
      So MDS can handle creating file/directory and setting the initial ACL in
      one request.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit 25e6bae356502cde283f1804111b44e6fad20fc2
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Tue Sep 16 19:15:28 2014 +0800

      ceph: use pagelist to present MDS request data

      Current code uses page array to present MDS request data. Pages in the
      array are allocated/freed by caller of ceph_mdsc_do_request(). If request
      is interrupted, the pages can be freed while they are still being used by
      the request message.

      The fix is use pagelist to present MDS request data. Pagelist is
      reference counted.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit e4339d28f640a7c0d92903bcf389a2dfa281270d
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Tue Sep 16 17:50:45 2014 +0800

      libceph: reference counting pagelist

      this allow pagelist to present data that may be sent multiple times.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit 0abb43dcacb52145aa265f82c914375d59dfe2da
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Thu Sep 18 16:11:12 2014 +0800

      ceph: fix llistxattr on symlink

      only regular file and directory have vxattrs.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit dbd0c8bf79b2c73d11d47bdf2496e7ebf0948f02
  Author: John Spray <john.spray@xxxxxxxxxx>
  Date:   Tue Sep 9 19:26:01 2014 +0100

      ceph: send client metadata to MDS

      Implement version 2 of CEPH_MSG_CLIENT_SESSION syntax,
      which includes additional client metadata to allow
      the MDS to report on clients by user-sensible names
      like hostname.

      Signed-off-by: John Spray <john.spray@xxxxxxxxxx>
      Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit 14cee8e377c09dc887047b3a322c71f45de7f0c0
  Merge: f787d6c 86f8ef2
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 15:05:39 2014 -0400

      Merge branch 'isdn'

      Tilman Schmidt says:

      ====================
      Coverity patches for drivers/isdn

      Here's a series of patches for the ISDN CAPI subsystem and the
      Gigaset ISDN driver.
      Patches 1 to 7 are specific fixes for Coverity warnings.
      Patches 8 to 11 fix related problems with the handling of invalid
      CAPI command codes I noticed while working on this.
      Patch 12 fixes an unrelated problem I noticed during the subsequent
      regression tests.
      It would be great if these could still be merged.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 86f8ef2c4802ac9dbe0c8c1c12670bd915a13013
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/gigaset: fix usb_gigaset write_cmd result race

      In usb_gigaset function gigaset_write_cmd(), the length field of
      the command buffer structure could be cleared by the transmit
      tasklet before it was used for the function's return value.
      Fix by copying to a local variable before scheduling the tasklet.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 340184b35ac8786bdb574d2c8ce8e4f1269ec4da
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: don't return NULL from capi_cmd2str()

      capi_cmd2str() is used in many places to build log messages.
      None of them is prepared to handle NULL as a result.
      Change the function to return printable string "INVALID_COMMAND"
      instead.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2bf3a09ea51f807d78d48d0ebc591b9e1502a743
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: handle CAPI 2.0 message parser failures

      Have callers of capi_cmsg2message and capi_message2cmsg handle
      non-zero return values indicating failure.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5510ab18048397193ae073d6b0d4ea78ff0170f5
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: prevent NULL pointer dereference on invalid CAPI command

      An invalid CAPI 2.0 command/subcommand combination may retrieve a
      NULL pointer from the cpars[] array which will later be dereferenced
      by the parser routines.
      Fix by adding NULL pointer checks in strategic places.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 854d23b77aa25b203c7af11de885c3b8b3834c20
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: refactor command/subcommand table accesses

      Encapsulate accesses to the CAPI 2.0 command/subcommand name and
      parameter tables in a single place in preparation for redesign.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5362247a42e18ef74e698bb23575c272f8e35375
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: prevent index overrun from command_2_index()

      The result of the function command_2_index() is used to index two
      arrays mnames[] and cpars[] with max. index 0x4e but in its current
      form that function can produce results up to 3*(0x9+0x9)+0x7f =
      0xb5.
      Fix by clamping all result values potentially overrunning the arrays
      to zero which is already handled as an invalid value.

      Re-spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 9ea8aa8d5087529210553114b7bc4bf4374ace8f
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/capi: correct capi20_manufacturer argument type mismatch

      Function capi20_manufacturer() is declared with unsigned int cmd
      argument but called with unsigned long.
      Fix by correcting the function prototype since the actual argument
      is part of the user visible API.

      Spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b8324f94202af7dc688576259803a2ef9a98d655
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:30 2014 +0200

      isdn/gigaset: fix non-heap pointer deallocation

      at_state structures may be allocated individually or as part of a
      cardstate or bc_state structure. The disconnect() function handled
      both cases, creating a risk that it might try to deallocate an
      at_state structure that had not been allocated individually.
      Fix by splitting disconnect() into two variants handling cases
      with and without an associated B channel separately, and adding
      an explicit check.

      Spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 846ac30135e7c5e03b487c16c87ccb1ab020a01f
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:29 2014 +0200

      isdn/gigaset: fix NULL pointer dereference

      In do_action, a NULL pointer might be passed to function start_dial
      which will dereference it.
      Fix by adding a check for NULL before the call.

      Spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 097933ddcd28ef99c116651b20fd2e06717e0f0d
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:29 2014 +0200

      isdn/gigaset: limit raw CAPI message dump length

      In dump_rawmsg, the length field from a received data package was
      used unscrutinized, allowing an attacker to control the size of the
      allocated buffer and the number of times the output loop iterates.
      Fix by limiting to a reasonable value.

      Spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ee7ff5fed25711a26da7826071e6ede8af049ad2
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:29 2014 +0200

      isdn/gigaset: make sure controller name is null terminated

      In gigaset_isdn_regdev, the name field may not have a null terminator
      if the source string's length is equal to the buffer size.
      Fix by zero filling the structure and excluding the last byte of the
      name field from the copy.

      Spotted with Coverity.

      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 1bdc07ebabefd19b56d1d36584a401ff6085fa71
  Author: Tilman Schmidt <tilman@xxxxxxx>
  Date:   Sat Oct 11 13:46:29 2014 +0200

      isdn/gigaset: missing break in do_facility_req

      If we take the unsupported supplementary service notification mask
      path, we end up falling through and overwriting the error code.
      Insert a break statement to skip the remainder of the switch case
      and proceed to sending the reply message.

      Spotted with Coverity.

      Reported-by: Dave Jones <davej@xxxxxxxxxx>
      Signed-off-by: Tilman Schmidt <tilman@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f787d6c8dd52ded9874cbbc447a32515c80fa2bf
  Merge: 02ea807 278d240
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 14:45:17 2014 -0400

      Merge branch 'fec-ptp'

      Luwei Zhou says:

      ====================
      Enable FEC pps feather

      Change from v2 to v3:
        -Using the default channel 0 to be PPS channel not PTP_PIN_SET/GETFUNC 
interface.
        -Using the linux definition of NSEC_PER_SEC.

      Change from v1 to v2:
        - Fix the potential 32-bit multiplication overflow issue.
        - Optimize the hareware adjustment code to improve efficiency as 
Richard suggested
        - Use ptp PTP_PIN_SET/GETFUNC interface to set PPS channel not device 
tree
        and add PTP_PF_PPS enumeration
        - Modify comments style
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 278d24047891a1bf4a98128eaa8ecafd019e58c2
  Author: Luwei Zhou <b45643@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 13:15:30 2014 +0800

      net: fec: ptp: Enable PPS output based on ptp clock

      FEC ptp timer has 4 channel compare/trigger function. It can be used to
      enable pps output.
      The pulse would be ouput high exactly on N second. The pulse ouput high
      on compare event mode is used to produce pulse per second.  The pulse
      width would be one cycle based on ptp timer clock source.Since 31-bit
      ptp hardware timer is used, the timer will wrap more than 2 seconds. We
      need to reload the compare compare event about every 1 second.

      Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 89bddcda7e4f4ff2586e736427405115c362bed4
  Author: Luwei Zhou <b45643@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 13:15:29 2014 +0800

      net: fec: ptp: Use hardware algorithm to adjust PTP counter.

      The FEC IP supports hardware adjustment for ptp timer. Refer to the 
description of
      ENET_ATCOR and ENET_ATINC registers in the spec about the hardware 
adjustment. This
      patch uses hardware support to adjust the ptp offset and frequency on the 
slave side.

      Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx>
      Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx>
      Signed-off-by: Fugang Duan <b38611@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit f28460b229919387b2f97f3a688d0dd86cc819c9
  Author: Luwei Zhou <b45643@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 13:15:28 2014 +0800

      net: fec: ptp: Use the 31-bit ptp timer.

      When ptp switches from software adjustment to hardware ajustment, linux 
ptp can't converge.
      It is caused by the IP limit. Hardware adjustment logcial have issue when 
ptp counter
      runs over 0x80000000(31 bit counter). The internal IP reference manual 
already remove 32bit
      free-running count support. This patch replace the 32-bit PTP timer with 
31-bit.

      Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx>
      Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 02ea80741a25435123e8a5ca40cac6a0bcf0c9f1
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Sat Oct 11 13:03:34 2014 +0800

      ipv6: remove aca_lock spinlock from struct ifacaddr6

      no user uses this lock.

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e0ee9c12157dc74e49e4731e0d07512e7d1ceb95
  Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
  Date:   Fri Oct 10 20:30:23 2014 -0700

      x86: bpf_jit: fix two bugs in eBPF JIT compiler

      1.
      JIT compiler using multi-pass approach to converge to final image size,
      since x86 instructions are variable length. It starts with large
      gaps between instructions (so some jumps may use imm32 instead of imm8)
      and iterates until total program size is the same as in previous pass.
      This algorithm works only if program size is strictly decreasing.
      Programs that use LD_ABS insn need additional code in prologue, but it
      was not emitted during 1st pass, so there was a chance that 2nd pass would
      adjust imm32->imm8 jump offsets to the same number of bytes as increase in
      prologue, which may cause algorithm to erroneously decide that size 
converged.
      Fix it by always emitting largest prologue in the first pass which
      is detected by oldproglen==0 check.
      Also change error check condition 'proglen != oldproglen' to fail 
gracefully.

      2.
      while staring at the code realized that 64-byte buffer may not be enough
      when 1st insn is large, so increase it to 128 to avoid buffer overflow
      (theoretical maximum size of prologue+div is 109) and add runtime check.

      Fixes: 622582786c9e ("net: filter: x86: internal BPF JIT")
      Reported-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
      Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Tested-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b2532eb9abd88384aa586169b54a3e53574f29f8
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 18:06:35 2014 -0700

      tcp: fix ooo_okay setting vs Small Queues

      TCP Small Queues (tcp_tsq_handler()) can hold one reference on
      sk->sk_wmem_alloc, preventing skb->ooo_okay being set.

      We should relax test done to set skb->ooo_okay to take care
      of this extra reference.

      Minimal truesize of skb containing one byte of payload is
      SKB_TRUESIZE(1)

      Without this fix, we have more chance locking flows into the wrong
      transmit queue.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 31eff81e94472ddb7549509bf4b6e93e1f6f7dc9
  Author: Alexander Aring <alex.aring@xxxxxxxxx>
  Date:   Fri Oct 10 23:10:47 2014 +0200

      skbuff: fix ftrace handling in skb_unshare

      If the skb is not dropped afterwards we should run consume_skb instead
      kfree_skb. Inside of function skb_unshare we do always a kfree_skb,
      doesn't depend if skb_copy failed or was successful.

      This patch switch this behaviour like skb_share_check, if allocation of
      sk_buff failed we use kfree_skb otherwise consume_skb.

      Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2c2b2f0cb9388df8aa8b5036cf18060ac77e6d94
  Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
  Date:   Fri Oct 10 14:30:52 2014 -0700

      fm10k: Add skb->xmit_more support

      This change adds support for skb->xmit_more based on the changes that were
      made to igb to support the feature.  The main changes are moving up the
      check for maybe_stop_tx so that we can check netif_xmit_stopped to 
determine
      if we must write the tail because we can add no further buffers.

      Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx>
      Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit a4483e8a424d76bc1dfacdd94e739fba29d7f83f
  Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
  Date:   Wed Sep 17 17:26:06 2014 +0800

      ceph: remove redundant code for max file size verification

      Both ceph_update_writeable_page and ceph_setattr will verify file size
      with max size ceph supported.
      There are two caller for ceph_update_writeable_page, ceph_write_begin and
      ceph_page_mkwrite. For ceph_write_begin, we have already verified the 
size in
      generic_write_checks of ceph_write_iter; for ceph_page_mkwrite, we have no
      chance to change file size when mmap. Likewise we have already verified 
the size
      in inode_change_ok when we call ceph_setattr.
      So let's remove the redundant code for max file size verification.

      Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
      Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit 3b70b388e3378d0b7272d649bb91451a6de4e924
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Wed Sep 17 14:44:51 2014 +0800

      ceph: remove redundant io_iter_advance()

      ceph_sync_read and generic_file_read_iter() have already advanced the
      IO iterator.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit 6cd3bcad0d269f96667ea704d4f6459a5c6ccbab
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Wed Sep 17 07:45:12 2014 +0800

      ceph: move ceph_find_inode() outside the s_mutex

      ceph_find_inode() may wait on freeing inode, using it inside the s_mutex
      may cause deadlock. (the freeing inode is waiting for OSD read reply, but
      dispatch thread is blocked by the s_mutex)

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit 508b32d8661b12da4c9ca41a9b2054e1dc92fa7e
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Tue Sep 16 21:46:17 2014 +0800

      ceph: request xattrs if xattr_version is zero

      Following sequence of events can happen.
        - Client releases an inode, queues cap release message.
        - A 'lookup' reply brings the same inode back, but the reply
          doesn't contain xattrs because MDS didn't receive the cap release
          message and thought client already has up-to-data xattrs.

      The fix is force sending a getattr request to MDS if xattrs_version
      is 0. The getattr mask is set to CEPH_STAT_CAP_XATTR, so MDS knows client
      does not have xattr.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit b76f82398c1017e303d87760e22125714010207f
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Mon Apr 7 16:52:03 2014 -0700

      rbd: set the remaining discard properties to enable support

      max_discard_sectors must be set for the queue to support discard.
      Operations implementing discard for rbd zero data, so report that.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit d3246fb0da5d70838469c01d5b6b11163b49cd86
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Mon Apr 7 16:49:21 2014 -0700

      rbd: use helpers to handle discard for layered images correctly

      Only allocate two osd ops for discard requests, since the
      preallocation hint is only added for regular writes.  Use
      rbd_img_obj_request_fill() to recreate the original write or discard
      osd operations, isolating that logic to one place, and change the
      assert in rbd_osd_req_create_copyup() to accept discard requests as
      well.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit 3b434a2aff38029ea053ce6c8fced53b2d01f7f0
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Fri Apr 4 17:32:15 2014 -0700

      rbd: extract a method for adding object operations

      rbd_img_request_fill() creates a ceph_osd_request and has logic for
      adding the appropriate osd ops to it based on the request type and
      image properties.

      For layered images, the original rbd_obj_request is resent with a
      copyup operation in front, using a new ceph_osd_request. The logic for
      adding the original operations should be the same as when first
      sending them, so move it to a helper function.

      op_type only needs to be checked once, so create a helper for that as
      well and call it outside the loop in rbd_img_request_fill().

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit 1c220881e307b62cc2f77d911219de332aa3f61e
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Fri Apr 4 17:49:12 2014 -0700

      rbd: make discard trigger copy-on-write

      Discard requests are a form of write, so they should go through the
      same process as plain write requests and trigger copy-on-write for
      layered images.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit d0265de7c358d71a494dcd1ee28206b32754bb0f
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Mon Apr 7 16:54:10 2014 -0700

      rbd: tolerate -ENOENT for discard operations

      Discard may try to delete an object from a non-layered image that does 
not exist.
      If this occurs, the image already has no data in that range, so change the
      result to success.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit bef95455a44e2533fcea376740bb1a5cbd71269f
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Fri Apr 4 17:47:52 2014 -0700

      rbd: fix snapshot context reference count for discards

      Discards take a reference to the snapshot context of an image when
      they are created.  This reference needs to be cleaned up when the
      request is done just as it is for regular writes.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit 3c5df89367761d09d76454a2c4301a73bf2d46ce
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Fri Apr 4 12:06:32 2014 -0700

      rbd: read image size for discard check safely

      In rbd_img_request_fill() the image size is only checked to determine
      whether we can truncate an object instead of zeroing it for discard
      requests. Take rbd_dev->header_rwsem while reading the image size, and
      move this read into the discard check, so that non-discard ops don't
      need to take the semaphore in this function.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit 90e98c5229c0adfadf2c2ad2c91d72902bf61bc4
  Author: Guangliang Zhao <lucienchao@xxxxxxxxx>
  Date:   Tue Apr 1 22:22:16 2014 +0800

      rbd: initial discard bits from Guangliang Zhao

      This patch add the discard support for rbd driver.

      There are three types operation in the driver:
      1. The objects would be removed if they completely contained
         within the discard range.
      2. The objects would be truncated if they partly contained within
         the discard range, and align with their boundary.
      3. Others would be zeroed.

      A discard request from blkdev_issue_discard() is defined which
      REQ_WRITE and REQ_DISCARD both marked and no data, so we must
      check the REQ_DISCARD first when getting the request type.

      This resolve:
        http://tracker.ceph.com/issues/190

      [ Ilya Dryomov: This is incomplete and somewhat buggy, see follow up
        commits by Josh Durgin for refinements and fixes which weren't
        folded in to preserve authorship. ]

      Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx>
      Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit 6d2940c881aeb9f46baac548dc4e906a53957dba
  Author: Guangliang Zhao <lucienchao@xxxxxxxxx>
  Date:   Thu Mar 13 11:21:35 2014 +0800

      rbd: extend the operation type

      It could only handle the read and write operations now,
      extend it for the coming discard support.

      Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx>
      Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit c622d226155b12276ae3d29d546f4b314d7cd68c
  Author: Guangliang Zhao <lucienchao@xxxxxxxxx>
  Date:   Tue Apr 1 22:22:15 2014 +0800

      rbd: skip the copyup when an entire object writing

      It need to copyup the parent's content when layered writing,
      but an entire object write would overwrite it, so skip it.

      Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx>
      Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit 70d045f660c7331bce8c9377929b52a9738a12cb
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Fri Sep 12 16:02:01 2014 +0400

      rbd: add img_obj_request_simple() helper

      To clarify the conditions and make it easier to add new ones.

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>

  commit 4e752f0ab0e8114f4edd7574081dc625d679dd15
  Author: Josh Durgin <josh.durgin@xxxxxxxxxxx>
  Date:   Tue Apr 8 11:12:11 2014 -0700

      rbd: access snapshot context and mapping size safely

      These fields may both change while the image is mapped if a snapshot
      is created or deleted or the image is resized.  They are guarded by
      rbd_dev->header_rwsem, so hold that while reading them, and store a
      local copy to refer to outside of the critical section. The local copy
      will stay consistent since the snapshot context is reference counted,
      and the mapping size is just a u64. This prevents torn loads from
      giving us inconsistent values.

      Move reading header.snapc into the caller of rbd_img_request_create()
      so that we only need to take the semaphore once. The read-only caller,
      rbd_parent_request_create() can just pass NULL for snapc, since the
      snapshot context is only relevant for writes.

      Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>

  commit 7dd440c9e0711d828442c3e129ab8bcb9aeeac23
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Thu Sep 11 18:49:18 2014 +0400

      rbd: do not return -ERANGE on auth failures

      Trying to map an image out of a pool for which we don't have an 'x'
      permission bit fails with -ERANGE from ceph_extract_encoded_string()
      due to an unsigned vs signed bug.  Fix it and get rid of the -EINVAL
      sink, thus propagating rbd::get_id cls method errors.  (I've seen
      a bunch of unexplained -ERANGE reports, I bet this is it).

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit 91883cd27c4e2523dd53e2bd6f71a1c5e0be5a38
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Thu Sep 11 12:18:53 2014 +0400

      libceph: don't try checking queue_work() return value

      queue_work() doesn't "fail to queue", it returns false if work was
      already on a queue, which can't happen here since we allocate
      event_work right before we queue it.  So don't bother at all.

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit 03974e8177b36d672eb59658f976f03cb77c1129
  Author: Yan, Zheng <ukernel@xxxxxxxxx>
  Date:   Thu Sep 11 14:28:56 2014 +0800

      ceph: make sure request isn't in any waiting list when kicking request.

      we may corrupt waiting list if a request in the waiting list is kicked.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit 656e4382948d4b2c81bdaf707f1400f53eff2625
  Author: Yan, Zheng <ukernel@xxxxxxxxx>
  Date:   Thu Sep 11 14:25:18 2014 +0800

      ceph: protect kick_requests() with mdsc->mutex

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>
      Reviewed-by: Sage Weil <sage@xxxxxxxxxx>

  commit b9a678994b4a64b1106ab2cf7cfe7cbc10bb6f40
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Tue Sep 9 21:17:29 2014 -0700

      libceph: Convert pr_warning to pr_warn

      Use the more common pr_warn.

      Other miscellanea:

      o Coalesce formats
      o Realign arguments

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>

  commit 5d23371fdb7dc03fa6fe054da3467efb0d347945
  Author: Yan, Zheng <zyan@xxxxxxxxxx>
  Date:   Wed Sep 10 16:56:23 2014 +0800

      ceph: trim unused inodes before reconnecting to recovering MDS

      So the recovering MDS does not need to fetch these ununsed inodes during
      cache rejoin. This may reduce MDS recovery time.

      Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx>

  commit 589506f1e7f135943bcd34903bcdcf1fdaf00549
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Sun Sep 7 18:10:51 2014 +0800

      libceph: fix a use after free issue in osdmap_set_max_osd

      If the state variable is krealloced successfully, map->osd_state will be
      freed, once following two reallocation failed, and exit the function
      without resetting map->osd_state, map->osd_state become a wild pointer.

      fix it by resetting them after krealloc successfully.

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>

  commit dc220db03f15c9875aa09c36beba582f20c76be1
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Fri Sep 5 20:16:52 2014 +0400

      libceph: select CRYPTO_CBC in addition to CRYPTO_AES

      We want "cbc(aes)" algorithm, so select CRYPTO_CBC too, not just
      CRYPTO_AES.  Otherwise on !CRYPTO_CBC kernels we fail rbd map/mount
      with

          libceph: error -2 building auth method x request

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>

  commit 2cc6128ab2afff7864dbdc33a73e2deaa935d9e0
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Wed Sep 3 14:41:45 2014 +0400

      libceph: resend lingering requests with a new tid

      Both not yet registered (r_linger && list_empty(&r_linger_item)) and
      registered linger requests should use the new tid on resend to avoid
      the dup op detection logic on the OSDs, yet we were doing this only for
      "registered" case.  Factor out and simplify the "registered" logic and
      use the new helper for "not registered" case as well.

      Fixes: http://tracker.ceph.com/issues/8806

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit f671b581f1dac61354186b7373af5f97fe420584
  Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
  Date:   Tue Sep 2 13:40:33 2014 +0400

      libceph: abstract out ceph_osd_request enqueue logic

      Introduce __enqueue_request() and switch to it.

      Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx>
      Reviewed-by: Alex Elder <elder@xxxxxxxxxx>

  commit 5bc26726ada73264c0fd7b93ccbe7d9e78b2b2d2
  Author: Nimrod Andy <B38611@xxxxxxxxxxxxx>
  Date:   Mon Oct 13 10:53:48 2014 +0800

      net: fec: Fix sparse warnings with different lock contexts for basic block

      reproduce:
      make  ARCH=arm C=1 2>fec.txt drivers/net/ethernet/freescale/fec_main.o
      cat fec.txt

      sparse warnings:
      drivers/net/ethernet/freescale/fec_main.c:2916:12: warning: context 
imbalance
      in 'fec_set_features' - different lock contexts for basic block

      Christopher Li suggest to change as below:
        if (need_lock) {
                lock();
                do_something_real();
                unlock();
        } else {
                do_something_real();
        }

      Reported-by: Fabio Estevam <festevam@xxxxxxxxx>
      Suggested-by: Christopher Li <sparse@xxxxxxxxxxx>
      Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit c53fed07a03d8b2a2e3bdaba87768211fa55806c
  Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 10:08:42 2014 -0500

      MAINTAINERS: Update contact information for Vince Bridgers

      Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b27fa9939d50b0302888849c62ecae7b9cb85dc5
  Merge: b838b4a 26b87c7
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Tue Oct 14 12:46:29 2014 -0400

      Merge branch 'sctp'

      Daniel Borkmann says:

      ====================
      Here are some SCTP fixes.

      [ Note, immediate workaround would be to disable ASCONF (it
        is sysctl disabled by default). It is actually only used
        together with chunk authentication. ]
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 26b87c7881006311828bb0ab271a551a62dcceb4
  Author: Daniel Borkmann <dborkman@xxxxxxxxxx>
  Date:   Thu Oct 9 22:55:33 2014 +0200

      net: sctp: fix remote memory pressure from excessive queueing

      This scenario is not limited to ASCONF, just taken as one
      example triggering the issue. When receiving ASCONF probes
      in the form of ...

        -------------- INIT[ASCONF; ASCONF_ACK] ------------->
        <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
        -------------------- COOKIE-ECHO -------------------->
        <-------------------- COOKIE-ACK ---------------------
        ---- ASCONF_a; [ASCONF_b; ...; ASCONF_n;] JUNK ------>
        [...]
        ---- ASCONF_m; [ASCONF_o; ...; ASCONF_z;] JUNK ------>

      ... where ASCONF_a, ASCONF_b, ..., ASCONF_z are good-formed
      ASCONFs and have increasing serial numbers, we process such
      ASCONF chunk(s) marked with !end_of_packet and !singleton,
      since we have not yet reached the SCTP packet end. SCTP does
      only do verification on a chunk by chunk basis, as an SCTP
      packet is nothing more than just a container of a stream of
      chunks which it eats up one by one.

      We could run into the case that we receive a packet with a
      malformed tail, above marked as trailing JUNK. All previous
      chunks are here goodformed, so the stack will eat up all
      previous chunks up to this point. In case JUNK does not fit
      into a chunk header and there are no more other chunks in
      the input queue, or in case JUNK contains a garbage chunk
      header, but the encoded chunk length would exceed the skb
      tail, or we came here from an entirely different scenario
      and the chunk has pdiscard=1 mark (without having had a flush
      point), it will happen, that we will excessively queue up
      the association's output queue (a correct final chunk may
      then turn it into a response flood when flushing the
      queue ;)): I ran a simple script with incremental ASCONF
      serial numbers and could see the server side consuming
      excessive amount of RAM [before/after: up to 2GB and more].

      The issue at heart is that the chunk train basically ends
      with !end_of_packet and !singleton markers and since commit
      2e3216cd54b1 ("sctp: Follow security requirement of responding
      with 1 packet") therefore preventing an output queue flush
      point in sctp_do_sm() -> sctp_cmd_interpreter() on the input
      chunk (chunk = event_arg) even though local_cork is set,
      but its precedence has changed since then. In the normal
      case, the last chunk with end_of_packet=1 would trigger the
      queue flush to accommodate possible outgoing bundling.

      In the input queue, sctp_inq_pop() seems to do the right thing
      in terms of discarding invalid chunks. So, above JUNK will
      not enter the state machine and instead be released and exit
      the sctp_assoc_bh_rcv() chunk processing loop. It's simply
      the flush point being missing at loop exit. Adding a try-flush
      approach on the output queue might not work as the underlying
      infrastructure might be long gone at this point due to the
      side-effect interpreter run.

      One possibility, albeit a bit of a kludge, would be to defer
      invalid chunk freeing into the state machine in order to
      possibly trigger packet discards and thus indirectly a queue
      flush on error. It would surely be better to discard chunks
      as in the current, perhaps better controlled environment, but
      going back and forth, it's simply architecturally not possible.
      I tried various trailing JUNK attack cases and it seems to
      look good now.

      Joint work with Vlad Yasevich.

      Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding 
with 1 packet")
      Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b69040d8e39f20d5215a03502a8e8b4c6ab78395
  Author: Daniel Borkmann <dborkman@xxxxxxxxxx>
  Date:   Thu Oct 9 22:55:32 2014 +0200

      net: sctp: fix panic on duplicate ASCONF chunks

      When receiving a e.g. semi-good formed connection scan in the
      form of ...

        -------------- INIT[ASCONF; ASCONF_ACK] ------------->
        <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
        -------------------- COOKIE-ECHO -------------------->
        <-------------------- COOKIE-ACK ---------------------
        ---------------- ASCONF_a; ASCONF_b ----------------->

      ... where ASCONF_a equals ASCONF_b chunk (at least both serials
      need to be equal), we panic an SCTP server!

      The problem is that good-formed ASCONF chunks that we reply with
      ASCONF_ACK chunks are cached per serial. Thus, when we receive a
      same ASCONF chunk twice (e.g. through a lost ASCONF_ACK), we do
      not need to process them again on the server side (that was the
      idea, also proposed in the RFC). Instead, we know it was cached
      and we just resend the cached chunk instead. So far, so good.

      Where things get nasty is in SCTP's side effect interpreter, that
      is, sctp_cmd_interpreter():

      While incoming ASCONF_a (chunk = event_arg) is being marked
      !end_of_packet and !singleton, and we have an association context,
      we do not flush the outqueue the first time after processing the
      ASCONF_ACK singleton chunk via SCTP_CMD_REPLY. Instead, we keep it
      queued up, although we set local_cork to 1. Commit 2e3216cd54b1
      changed the precedence, so that as long as we get bundled, incoming
      chunks we try possible bundling on outgoing queue as well. Before
      this commit, we would just flush the output queue.

      Now, while ASCONF_a's ASCONF_ACK sits in the corked outq, we
      continue to process the same ASCONF_b chunk from the packet. As
      we have cached the previous ASCONF_ACK, we find it, grab it and
      do another SCTP_CMD_REPLY command on it. So, effectively, we rip
      the chunk->list pointers and requeue the same ASCONF_ACK chunk
      another time. Since we process ASCONF_b, it's correctly marked
      with end_of_packet and we enforce an uncork, and thus flush, thus
      crashing the kernel.

      Fix it by testing if the ASCONF_ACK is currently pending and if
      that is the case, do not requeue it. When flushing the output
      queue we may relink the chunk for preparing an outgoing packet,
      but eventually unlink it when it's copied into the skb right
      before transmission.

      Joint work with Vlad Yasevich.

      Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding 
with 1 packet")
      Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 9de7922bc709eee2f609cd01d98aaedc4cf5ea74
  Author: Daniel Borkmann <dborkman@xxxxxxxxxx>
  Date:   Thu Oct 9 22:55:31 2014 +0200

      net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks

      Commit 6f4c618ddb0 ("SCTP : Add paramters validity check for
      ASCONF chunk") added basic verification of ASCONF chunks, however,
      it is still possible to remotely crash a server by sending a
      special crafted ASCONF chunk, even up to pre 2.6.12 kernels:

      skb_over_panic: text:ffffffffa01ea1c3 len:31056 put:30768
       head:ffff88011bd81800 data:ffff88011bd81800 tail:0x7950
       end:0x440 dev:<NULL>
       ------------[ cut here ]------------
      kernel BUG at net/core/skbuff.c:129!
      [...]
      Call Trace:
       <IRQ>
       [<ffffffff8144fb1c>] skb_put+0x5c/0x70
       [<ffffffffa01ea1c3>] sctp_addto_chunk+0x63/0xd0 [sctp]
       [<ffffffffa01eadaf>] sctp_process_asconf+0x1af/0x540 [sctp]
       [<ffffffff8152d025>] ? _read_unlock_bh+0x15/0x20
       [<ffffffffa01e0038>] sctp_sf_do_asconf+0x168/0x240 [sctp]
       [<ffffffffa01e3751>] sctp_do_sm+0x71/0x1210 [sctp]
       [<ffffffff8147645d>] ? fib_rules_lookup+0xad/0xf0
       [<ffffffffa01e6b22>] ? sctp_cmp_addr_exact+0x32/0x40 [sctp]
       [<ffffffffa01e8393>] sctp_assoc_bh_rcv+0xd3/0x180 [sctp]
       [<ffffffffa01ee986>] sctp_inq_push+0x56/0x80 [sctp]
       [<ffffffffa01fcc42>] sctp_rcv+0x982/0xa10 [sctp]
       [<ffffffffa01d5123>] ? ipt_local_in_hook+0x23/0x28 [iptable_filter]
       [<ffffffff8148bdc9>] ? nf_iterate+0x69/0xb0
       [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0
       [<ffffffff8148bf86>] ? nf_hook_slow+0x76/0x120
       [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0
       [<ffffffff81496ded>] ip_local_deliver_finish+0xdd/0x2d0
       [<ffffffff81497078>] ip_local_deliver+0x98/0xa0
       [<ffffffff8149653d>] ip_rcv_finish+0x12d/0x440
       [<ffffffff81496ac5>] ip_rcv+0x275/0x350
       [<ffffffff8145c88b>] __netif_receive_skb+0x4ab/0x750
       [<ffffffff81460588>] netif_receive_skb+0x58/0x60

      This can be triggered e.g., through a simple scripted nmap
      connection scan injecting the chunk after the handshake, for
      example, ...

        -------------- INIT[ASCONF; ASCONF_ACK] ------------->
        <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
        -------------------- COOKIE-ECHO -------------------->
        <-------------------- COOKIE-ACK ---------------------
        ------------------ ASCONF; UNKNOWN ------------------>

      ... where ASCONF chunk of length 280 contains 2 parameters ...

        1) Add IP address parameter (param length: 16)
        2) Add/del IP address parameter (param length: 255)

      ... followed by an UNKNOWN chunk of e.g. 4 bytes. Here, the
      Address Parameter in the ASCONF chunk is even missing, too.
      This is just an example and similarly-crafted ASCONF chunks
      could be used just as well.

      The ASCONF chunk passes through sctp_verify_asconf() as all
      parameters passed sanity checks, and after walking, we ended
      up successfully at the chunk end boundary, and thus may invoke
      sctp_process_asconf(). Parameter walking is done with
      WORD_ROUND() to take padding into account.

      In sctp_process_asconf()'s TLV processing, we may fail in
      sctp_process_asconf_param() e.g., due to removal of the IP
      address that is also the source address of the packet containing
      the ASCONF chunk, and thus we need to add all TLVs after the
      failure to our ASCONF response to remote via helper function
      sctp_add_asconf_response(), which basically invokes a
      sctp_addto_chunk() adding the error parameters to the given
      skb.

      When walking to the next parameter this time, we proceed
      with ...

        length = ntohs(asconf_param->param_hdr.length);
        asconf_param = (void *)asconf_param + length;

      ... instead of the WORD_ROUND()'ed length, thus resulting here
      in an off-by-one that leads to reading the follow-up garbage
      parameter length of 12336, and thus throwing an skb_over_panic
      for the reply when trying to sctp_addto_chunk() next time,
      which implicitly calls the skb_put() with that length.

      Fix it by using sctp_walk_params() [ which is also used in
      INIT parameter processing ] macro in the verification *and*
      in ASCONF processing: it will make sure we don't spill over,
      that we walk parameters WORD_ROUND()'ed. Moreover, we're being
      more defensive and guard against unknown parameter types and
      missized addresses.

      Joint work with Vlad Yasevich.

      Fixes: b896b82be4ae ("[SCTP] ADDIP: Support for processing incoming 
ASCONF_ACK chunks.")
      Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx>
      Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b838b4aced99e0d31a272396d43d9ca21cb078cb
  Author: Bruno Thomsen <bth@xxxxxxxxxxx>
  Date:   Thu Oct 9 16:48:14 2014 +0200

      phy/micrel: KSZ8031RNL RMII clock reconfiguration bug

      Bug: Unable to send and receive Ethernet packets with Micrel PHY.

      Affected devices:
      KSZ8031RNL (commercial temp)
      KSZ8031RNLI (industrial temp)

      Description:
      PHY device is correctly detected during probe.
      PHY power-up default is 25MHz crystal clock input
      and output 50MHz RMII clock to MAC.
      Reconfiguration of PHY to input 50MHz RMII clock from MAC
      causes PHY to become unresponsive if clock source is changed
      after Operation Mode Strap Override (OMSO) register setup.

      Cause:
      Long lead times on parts where clock setup match circuit design
      forces the usage of similar parts with wrong default setup.

      Solution:
      Swapped KSZ8031 register setup and added phy_write return code validation.

      Tested with Freescale i.MX28 Fast Ethernet Controler (fec).

      Signed-off-by: Bruno Thomsen <bth@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e19a8a0ad2d255316830ead05b59c5a704434cbb
  Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
  Date:   Tue Oct 14 09:00:44 2014 -0600

      block: Remove REQ_KERNEL

      REQ_KERNEL is no longer used. Remove it and drop the redundant uio
      argument to nfs_file_direct_{read,write}.

      Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
      Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
      Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit 2a1731fb85ec96a1f6a326fb2d52cd93494dafa2
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 15:49:21 2014 -0300

      perf session: Remove last reference to hists struct

      Now perf_session doesn't require that the evsels in its evlist are hists
      containing ones.

      Tools that are hists based and want to do per evsel events_stats
      updates, if at some point this turns into a necessity, should do it in
      the tool specific code, keeping the session class hists agnostic.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-cli1bgwpo82mdikuhy3djsuy@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit c3058d5da2222629bc2223c488a4512b59bb4baf
  Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
  Date:   Fri Oct 10 12:14:29 2014 +0200

      arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE

      When creating or moving a memslot, make sure the IPA space is within the
      addressable range of the guest.  Otherwise, user space can create too
      large a memslot and KVM would try to access potentially unallocated page
      table entries when inserting entries in the Stage-2 page tables.

      Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 38f791a4e499792eeb2a3c0572dd5133511c5bbb
  Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
  Date:   Fri Oct 10 12:14:28 2014 +0200

      arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2

      This patch adds the necessary support for all host kernel PGSIZE and
      VA_SPACE configuration options for both EL2 and the Stage-2 page tables.

      However, for 40bit and 42bit PARange systems, the architecture mandates
      that VTCR_EL2.SL0 is maximum 1, resulting in fewer levels of stage-2
      pagge tables than levels of host kernel page tables.  At the same time,
      systems with a PARange > 42bit, we limit the IPA range by always setting
      VTCR_EL2.T0SZ to 24.

      To solve the situation with different levels of page tables for Stage-2
      translation than the host kernel page tables, we allocate a dummy PGD
      with pointers to our actual inital level Stage-2 page table, in order
      for us to reuse the kernel pgtable manipulation primitives.  Reproducing
      all these in KVM does not look pretty and unnecessarily complicates the
      32-bit side.

      Systems with a PARange < 40bits are not yet supported.

       [ I have reworked this patch from its original form submitted by
         Jungseok to take the architecture constraints into consideration.
         There were too many changes from the original patch for me to
         preserve the authorship.  Thanks to Catalin Marinas for his help in
         figuring out a good solution to this challenge.  I have also fixed
         various bugs and missing error code handling from the original
         patch. - Christoffer ]

      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 4c5c30249452aaebf258751ea4222eba3dd3da4c
  Author: Jan-Simon Möller <dl9pf@xxxxxx>
  Date:   Mon Jul 2 13:48:30 2012 +0200

      crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: pageexec@xxxxxxxxxxx

  commit 357aabed626fe3fc753a99ef1d652f4e2d82ba26
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Apr 4 18:18:00 2014 -0300

      security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Acked-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx>
      Cc: tglx@xxxxxxxxxxxxx

  commit ea0e0de69fc413aa80dbf1ec1fb9702ea1b6faca
  Author: Jan-Simon Möller <dl9pf@xxxxxx>
  Date:   Mon Jul 2 12:54:28 2012 +0200

      crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: pageexec@xxxxxxxxxxx
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>

  commit ffb32e973eb5105ec55e0bbf2e77a1ea4a7a123a
  Author: Jan-Simon Möller <dl9pf@xxxxxx>
  Date:   Mon Jul 2 13:47:40 2012 +0200

      crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: pageexec@xxxxxxxxxxx

  commit b610626523cf5c780bf7d9746580c323e90580e6
  Author: Jan-Simon Möller <dl9pf@xxxxxx>
  Date:   Mon Jul 2 13:50:54 2012 +0200

      crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: pageexec@xxxxxxxxxxx
      Cc: gmazyland@xxxxxxxxx
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>

  commit 37e5265437a02e66e8c345f563241e79b4b7f087
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Apr 4 18:18:00 2014 -0300

      crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

  commit 7bc53c3f9ac8c0d6b6ffa92b4b7493576233e78e
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Apr 4 18:18:00 2014 -0300

      crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

  commit ce1f3e47d9d11ffde75d06170304dc9ff2afe0c6
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Apr 4 18:18:00 2014 -0300

      crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

  commit 7128470f6b21b922b42f790d429330562eb6eab1
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Apr 4 18:18:00 2014 -0300

      crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

  commit 61ded52438d5fdc4dea87f823c455f8ac1e426df
  Author: Jan-Simon Möller <dl9pf@xxxxxx>
  Date:   Thu Sep 4 20:39:24 2014 +0200

      crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent. This patch allocates the appropriate amount of 
memory
      using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

  commit 0458a953d85088a9ba3e448745676377775879e0
  Author: Vinícius Tinti <viniciustinti@xxxxxxxxx>
  Date:   Fri Apr 4 18:21:24 2014 -0300

      btrfs: LLVMLinux: Remove VLAIS

      Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
      compliant equivalent.  This patch instead allocates the appropriate 
amount of
      memory using a char array using the SHASH_DESC_ON_STACK macro.

      The new code can be compiled with both gcc and clang.

      Signed-off-by: Vinícius Tinti <viniciustinti@xxxxxxxxx>
      Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Acked-by: Chris Mason <clm@xxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>

  commit a0a77af14117e388d43b2385d5ecc800e2d6eee9
  Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Sep 8 00:05:09 2014 -0500

      crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code

      Add a macro which replaces the use of a Variable Length Array In Struct 
(VLAIS)
      with a C99 compliant equivalent. This macro instead allocates the 
appropriate
      amount of memory using an char array.

      The new code can be compiled with both gcc and clang.

      struct shash_desc contains a flexible array member member ctx declared 
with
      CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning
      of the array declared after struct shash_desc with long long.

      No trailing padding is required because it is not a struct type that can
      be used in an array.

      The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long 
long
      as would be the case for a struct containing a member with
      CRYPTO_MINALIGN_ATTR.

      If you want to get to the ctx at the end of the shash_desc as before you 
can do
      so using shash_desc_ctx(shash)

      Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx>
      Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
      Cc: MichaÅ? MirosÅ?aw <mirqus@xxxxxxxxx>

  commit 2d65a9f48fcdf7866aab6457bc707ca233e0c791
  Merge: da92da3 dfda0df
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 09:39:08 2014 +0200

      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux

      Pull drm updates from Dave Airlie:
       "This is the main git pull for the drm,

        I pretty much froze major pulls at -rc5/6 time, and haven't had much
        fallout, so will probably continue doing that.

        Lots of changes all over, big internal header cleanup to make it clear
        drm features are legacy things and what are things that modern KMS
        drivers should be using.  Also big move to use the new generic fences
        in all the TTM drivers.

        core:
              atomic prep work,
              vblank rework changes, allows immediate vblank disables
              major header reworking and cleanups to better delinate legacy
              interfaces from what KMS drivers should be using.
              cursor planes locking fixes

        ttm:
              move to generic fences (affects all TTM drivers)
              ppc64 caching fixes

        radeon:
              userptr support,
              uvd for old asics,
              reset rework for fence changes
              better buffer placement changes,
              dpm feature enablement
              hdmi audio support fixes

        intel:
              Cherryview work,
              180 degree rotation,
              skylake prep work,
              execlist command submission
              full ppgtt prep work
              cursor improvements
              edid caching,
              vdd handling improvements

        nouveau:
              fence reworking
              kepler memory clock work
              gt21x clock work
              fan control improvements
              hdmi infoframe fixes
              DP audio

        ast:
              ppc64 fixes
              caching fix

        rcar:
              rcar-du DT support

        ipuv3:
              prep work for capture support

        msm:
              LVDS support for mdp4, new panel, gpu refactoring

        exynos:
              exynos3250 SoC support, drop bad mmap interface,
              mipi dsi changes, and component match support"

      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (640 commits)
        drm/mst: rework payload table allocation to conform better.
        drm/ast: Fix HW cursor image
        drm/radeon/kv: add uvd/vce info to dpm debugfs output
        drm/radeon/ci: add uvd/vce info to dpm debugfs output
        drm/radeon: export reservation_object from dmabuf to ttm
        drm/radeon: cope with foreign fences inside the reservation object
        drm/radeon: cope with foreign fences inside display
        drm/core: use helper to check driver features
        drm/radeon/cik: write gfx ucode version to ucode addr reg
        drm/radeon/si: print full CS when we hit a packet 0
        drm/radeon: remove unecessary includes
        drm/radeon/combios: declare legacy_connector_convert as static
        drm/radeon/atombios: declare connector convert tables as static
        drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table
        drm/radeon/dpm: drop clk/voltage dependency filters for BTC
        drm/radeon/dpm: drop clk/voltage dependency filters for CI
        drm/radeon/dpm: drop clk/voltage dependency filters for SI
        drm/radeon/dpm: drop clk/voltage dependency filters for NI
        drm/radeon: disable audio when we disable hdmi (v2)
        drm/radeon: split audio enable between eg and r600 (v2)
        ...

  commit da22b896b119001b0cd9eb9ecb5b3fd85e948e43
  Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
  Date:   Wed Sep 24 03:53:43 2014 +0530

      RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line

      This fixes ntuple calculation for IPv6 active open request for T5
      adapter.  And also removes an duplicate line which got added in commit
      92e7ae71726c ("iw_cxgb4: Choose appropriate hw mtu index and ISS for
      iWARP connections")

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit d480201b2261d26b4ca1fa4cc2bfc6cb644733a3
  Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
  Date:   Wed Sep 24 03:53:42 2014 +0530

      RDMA/cxgb4: Add missing neigh_release in find_route

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 04524a47c36bc7fc573a4856b4e0fd8cf66c3126
  Author: Hariprasad S <hariprasad@xxxxxxxxxxx>
  Date:   Wed Sep 24 03:53:41 2014 +0530

      RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss

      best_mtu and set_emss were not considering ipv6 header for ipv6 case.

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 65d4c01af0f5b394a33848bc27c4331e2959dfd5
  Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Aug 29 11:19:29 2014 -0500

      RDMA/cxgb4: Make c4iw_wr_log_size_order static

      This fixes a sparse warning.

      Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit a040f95dc81986d7d55bd98a9455217522ef706d
  Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
  Date:   Tue Sep 23 12:38:26 2014 +0300

      IB/core: Fix XRC race condition in ib_uverbs_open_qp

      In ib_uverbs_open_qp, the sharable xrc target qp is created as a
      "pseudo" qp and added to a list of qp's sharing the same physical
      QP.  This is done before the "pseudo" qp is assigned a uobject.

      There is a race condition here if an async event arrives at the
      physical qp.  If the event is handled after the pseudo qp is added to
      the list, but before it is assigned a uobject, the kernel crashes in
      ib_uverbs_qp_event_handler, due to trying to dereference a NULL
      uobject pointer.

      Note that simply checking for non-NULL is not enough, due to error
      flows in ib_uverbs_open_qp.  If the failure is after assigning the
      uobject, but before the qp has fully been created, we still have a
      problem.

      Thus, in ib_uverbs_qp_event_handler, we test that the uobject is
      present, and also that it is live.

      Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx>
      Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 8b0f93d9490653a7b9fc91f3570089132faed1c0
  Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
  Date:   Fri Sep 26 20:45:32 2014 +0530

      IB/core: Clear AH attr variable to prevent garbage data

      During create-ah from userspace, uverbs is sending garbage data in
      attr.dmac and attr.vlan_id.  This patch sets attr.dmac and
      attr.vlan_id to zero.

      Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm 
structures")
      Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit da92da3638a04894afdca8b99e973ddd20268471
  Merge: f33a3fa 4204111
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 09:27:48 2014 +0200

      Merge branch 'misc' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

      Pull misc kbuild updates from Michal Marek:
       "This is the less critical kbuild stuff for v3.18-rc1:

         - make deb-pkg debuginfo fix, ppc64el support and warning fix for
           recent dpkg tools
         - make TAGS fixes
         - new coccinelle patch
         - kbuild documentation improvements"

      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        deb-pkg: remove obsolete -isp option to dpkg-gencontrol
        coccinelle: misc: semantic patch to delete overly complex return code 
processing
        deb-pkg: Add support for powerpc little endian
        builddeb: put the dbg files into the correct directory
        scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case
        scripts/tags.sh: remove *PCGFLAGS regular expressions
        scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags
        Documentation: kbuild: Improve grammar
        Documentation: kbuild: Remove obsolete dtc_cpp section
        Documentation: kbuild: Improve if_changed documentation
        Documentation: kbuild: Remove obsolete include/asm symlink step

  commit f33a3faa25c569d2a7640de66bea69e15c12ecd1
  Merge: 1b5a5f5 3014223
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 09:22:26 2014 +0200

      Merge branch 'kbuild' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

      Pull kbuild changes from Michal Marek:
       - fix for handling dependencies of *-objs targets by Masahiro Yamada
       - lots of cleanups in the kbuild machinery, also by Masahiro
       - fixes for the kconfig build to use an UTF-8 capable ncurses library
         if possible and to build on not-so-standard installs
       - some more minor fixes

      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Do not reference *-n variables in the Makefile
        kbuild: simplify build, clean, modbuiltin shorthands
        kbuild: arm: Do not define "comma" twice
        kbuild: remove obj-n and lib-n handling
        kbuild: remove unnecessary variable initializaions
        kbuild: remove unnecessary "obj- := dummy.o" trick
        kbuild: handle C=... and M=... after entering into build directory
        kbuild: use $(Q) for sub-make target
        kbuild: fake the "Entering directory ..." message more simply
        kconfig/lxdialog: get ncurses CFLAGS with pkg-config
        kconfig: nconfig: fix multi-byte UTF handling
        kconfig: lxdialog: fix spelling
        kbuild: Make scripts executable
        kbuild: remove redundant clean-files from scripts/kconfig/Makefile
        kbuild: refactor script/kconfig/Makefile
        kbuild: handle the dependency of multi-objs hostprogs appropriately
        kbuild: handle multi-objs dependency appropriately

  commit 95926035b187cc9fee6fb61385b7da9c28123f74
  Author: Takashi Iwai <tiwai@xxxxxxx>
  Date:   Mon Oct 13 23:18:02 2014 +0200

      ALSA: emu10k1: Fix deadlock in synth voice lookup

      The emu10k1 voice allocator takes voice_lock spinlock.  When there is
      no empty stream available, it tries to release a voice used by synth,
      and calls get_synth_voice.  The callback function,
      snd_emu10k1_synth_get_voice(), however, also takes the voice_lock,
      thus it deadlocks.

      The fix is simply removing the voice_lock holds in
      snd_emu10k1_synth_get_voice(), as this is always called in the
      spinlock context.

      Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

  commit 811deedebab38f8360a700a52b0b75688c9a10f7
  Author: Takashi Iwai <tiwai@xxxxxxx>
  Date:   Mon Oct 13 23:14:46 2014 +0200

      ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop

      In the unlock loop of snd_pcm_action_group(), the object "s" is used
      as the check of nonatomic PCM, but it should be rather "s1", which is
      the iterator of the loop.  This supposedly causes a kernel panic when
      the substreams in operatino are linked.

      Fixes: 257f8cce5d40 ('ALSA: pcm: Allow nonatomic trigger operations')
      Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx>
      Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

  commit 1b5a5f59e3435337bede67b9255bbb1d39fc4827
  Merge: b11445f d5d9622
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 08:40:15 2014 +0200

      Merge tag 'fscache-fixes-20141013' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs

      Pull fs-cache fixes from David Howells:
       "Two fixes for bugs in CacheFiles and a cleanup in FS-Cache"

      * tag 'fscache-fixes-20141013' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        fs/fscache/object-list.c: use __seq_open_private()
        CacheFiles: Fix incorrect test for in-memory object collision
        CacheFiles: Handle object being killed before being set up

  commit b11445f830df0ec9271f39bff19ecc6f8db58eb8
  Merge: 0ef3a56 91401a34
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 08:38:54 2014 +0200

      Merge tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs

      Pull UBI/UBIFS fixes from Artem Bityutskiy:
       - fix for a theoretical race condition which could lead to a situation
         when UBIFS is unable to mount a file-system (Hujianyang)
       - a few fixes for the ubiblock sybsystem, error path fixes
       - the ubiblock subsystem has had the volume size change handling
         improved
       - a few fixes and nicifications in the fastmap subsystem

      * tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs:
        UBI: Fastmap: Calc fastmap size correctly
        UBIFS: Fix trivial typo in power_cut_emulated()
        UBI: Fix trivial typo in __schedule_ubi_work
        UBI: wl: Rename cancel flag to shutdown
        UBI: ubi_eba_read_leb: Remove in vain variable assignment
        UBIFS: Align the dump messages of SB_NODE
        UBI: Fix livelock in produce_free_peb()
        UBI: return on error in rename_volumes()
        UBI: Improve comment on work_sem
        UBIFS: Remove bogus assert
        UBI: Dispatch update notification if the volume is updated
        UBI: block: Add support for the UBI_VOLUME_UPDATED notification
        UBI: block: Fix block device size setting
        UBI: block: fix dereference on uninitialized dev
        UBI: add missing kmem_cache_free() in process_pool_aeb error path
        UBIFS: fix free log space calculation
        UBIFS: fix a race condition

  commit 813d32f91333e4c33d5a19b67167c4bae42dae75
  Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
  Date:   Tue Oct 14 02:35:49 2014 -0400

      ext4: check s_chksum_driver when looking for bg csum presence

      Convert the ext4_has_group_desc_csum predicate to look for a checksum
      driver instead of the metadata_csum flag and change the bg checksum
      calculation function to look for GDT_CSUM before taking the crc16
      path.

      Without this patch, if we mount with ^uninit_bg,^metadata_csum and
      later metadata_csum gets turned on by accident, the block group
      checksum functions will incorrectly assume that checksumming is
      enabled (metadata_csum) but that crc16 should be used
      (!s_chksum_driver).  This is totally wrong, so fix the predicate
      and the checksum formula selection.

      (Granted, if the metadata_csum feature bit gets enabled on a live FS
      then something underhanded is going on, but we could at least avoid
      writing garbage into the on-disk fields.)

      Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
      Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
      Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx

  commit 0ef3a56b1c466629cd0bf482b09c7b0e5a085bb5
  Merge: dfe2c6d a1480dc
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 08:35:01 2014 +0200

      Merge branch 'CVE-2014-7975' of 
git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux

      Pull do_umount fix from Andy Lutomirski:
       "This fix really ought to be safe.  Inside a mountns owned by a
        non-root user namespace, the namespace root almost always has
        MNT_LOCKED set (if it doesn't, then there's a bug, because rootfs
        could be exposed).  In that case, calling umount on "/" will return
        -EINVAL with or without this patch.

        Outside a userns, this patch will have no effect.  may_mount, required
        by umount, already checks
           ns_capable(current->nsproxy->mnt_ns->user_ns, CAP_SYS_ADMIN)
        so an additional capable(CAP_SYS_ADMIN) check will have no effect.

        That leaves anything that calls umount on "/" in a non-root userns
        while chrooted.  This is the case that is currently broken (it
        remounts ro, which shouldn't be allowed) and that my patch changes to
        -EPERM.  If anything relies on *that*, I'd be surprised"

      * 'CVE-2014-7975' of 
git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
        fs: Add a missing permission check to do_umount

  commit b395f75eabb3844c99244928293796ff42feaa3d
  Author: Anton Blanchard <anton@xxxxxxxxx>
  Date:   Mon Oct 13 23:03:16 2014 +1100

      lib/raid6: Add log level to printks

      Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 6c144d316478ccfff9452292edae5a59587463a2
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 16:15:38 2014 +1000

      md: move EXPORT_SYMBOL to after function in md.c

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 2cbbca5e7c38d0c776497f586688464f8cfb1583
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 16:02:19 2014 +1000

      md: discard PRINT_RAID_DEBUG ioctl

      All the interesting information printed by this ioctl
      is provided in /proc/mdstat and/or sysfs.
      So it isn't needed and isn't used and would be best if it didn't
      exist.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 403df4788837cdaceaa55bcfae1c6eade2abdb5b
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 15:52:29 2014 +1000

      md: remove MD_BUG()

      Most of the places that call this are doing so pointlessly.
      A couple of the others a best replaced with WARN_ON().

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 3adc28d85f18aebc34011cb7308a579c58072fe1
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 15:46:41 2014 +1000

      md: clean up 'exit' labels in md_ioctl().

      There are 4 labels and we only really need two.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 326eb17d73a6b424ed7c47c693ff53721618fc48
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 15:36:28 2014 +1000

      md: remove unnecessary test for MD_MAJOR in md_ioctl()

      unknown ioctls no longer get this deep into md_ioctl since
      md_ioctl_valid() was introduced in 3.14.
      So remove the test and the misleading comment.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit e1960f8c5cd1420dd2ecf0754a136956246365e7
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 15:24:25 2014 +1000

      md: don't allow "-sync" to be set for device in an active array.

      If an array is active, devices can be marked 'faulty', but simply
      removing the 'sync' flag is wrong.  That only makes sense
      for an array which is not active (and is probably only useful
      for testing anyway).

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit f72ffdd68616e3697bc782b21c82197aeb480fd5
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 14:23:59 2014 +1000

      md: remove unwanted white space from md.c

      My editor shows much of this is RED.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit ac05f256691fe427a3e84c19261adb0b67dd73c0
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 30 08:10:42 2014 +1000

      md: don't start resync thread directly from md thread.

      The main 'md' thread is needed for processing writes, so if it blocks
      write requests could be delayed.

      Starting a new thread requires some GFP_KERNEL allocations and so can
      wait for writes to complete.  This can deadlock.

      So instead, ask a workqueue to start the sync thread.
      There is no particular rush for this to happen, so any work queue
      will do.

      MD_RECOVERY_RUNNING is used to ensure only one thread is started.

      Reported-by: BillStuff <billstuff2001@xxxxxxxxxxxxx>
      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 8b1afc3d6751063d3f0cdefe55719b1cd2f7edcc
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Sep 29 15:33:20 2014 +1000

      md: Just use RCU when checking for overlap between arrays.

      We don't really need the full mddev_lock here, and having to
      drop it is messy.
      RCU is enough to protect these lists.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 50bd3774058137e687b41da8b31fdd3544f7d901
  Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
  Date:   Thu Sep 25 15:28:34 2014 +0800

      md: avoid potential long delay under pers_lock

      printk may cause long time lapse if value of printk_delay in sysctl is
      configured large by user. If register_md_personality takes long time to 
print in
      spinlock pers_lock, we may encounter high CPU usage rate when there are 
other
      pers_lock competitors who may be blocked to spin.
      We can avoid this condition by moving printk out of coverage of pers_lock
      spinlock.

      Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 0638bb0e732fa2c839fceec93fc02e2347e0f596
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Thu Sep 25 17:43:47 2014 +1000

      md: simplify export_array()

      We don't really need that for_each loop, or those MD_BUGs.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 4878e9eb88c3a3223de68760e64dd71da01a3118
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Thu Sep 25 17:00:11 2014 +1000

      md: discard find_rdev_nr in favour of find_rdev_nr_rcu

      Having both is a waste - just use the one.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 1967cd5616c4792ef9d3cbaafe5fbe12fc429c9e
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 9 14:20:28 2014 +1000

      md: use wait_event() to simplify md_super_wait()

      md_super_wait is really just wait_event() open-coded.
      So use the macro instead.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit 9ba3b7f5d025915be2b8709e5fd35c9c3e9f14c6
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 9 14:00:15 2014 +1000

      md: be more relaxed about stopping an array which isn't started.

      In general we don't allow an array to be stopped if it is in use.
      However if the array hasn't really been started yet, then any
      apparent use is an anomily, probably due to 'udev' or similar
      having a look to see what is there.

      This means that if something goes wrong while assembling an array
      it cannot reliably be un-assembled - STOP_ARRAY could fail.
      There is no value here, so change do_md_stop() to succeed
      despite concurrent opens if the array has not yet been
      activated.  i.e. if ->pers is NULL.

      Reported-by: "Baldysiak, Pawel" <pawel.baldysiak@xxxxxxxxx>
      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit c95e6385e8098ef549008ab29d671bf528a50043
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Tue Sep 9 13:54:11 2014 +1000

      md/raid1: process_checks doesn't use its return value.

      process_checks() always returns '0', so change it to 'void'.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit b8e6a15a1af9b1c203002e7768e60136c4e0e5c6
  Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
  Date:   Sat Aug 23 20:19:27 2014 +1000

      md/raid5: fix init_stripe() inconsistencies

      raid5: fix init_stripe() inconsistencies

      1) remove_hash() is not necessary. We will only be called right after
         get_free_stripe(). There we have already a call to remove_hash().

      2) Tracing prints out the sector of the freed stripe and not the sector
         that we want to initialize.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit c4796e215f487de9bc93731a81e885ac866ef7dc
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Sat Aug 23 20:19:26 2014 +1000

      md/raid10: another memory leak due to reshape.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>

  commit dfe2c6dcc8ca2cdc662d7c0473e9811b72ef3370
  Merge: a45d572 64e4550
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 03:54:50 2014 +0200

      Merge branch 'akpm' (patches from Andrew Morton)

      Merge second patch-bomb from Andrew Morton:
       - a few hotfixes
       - drivers/dma updates
       - MAINTAINERS updates
       - Quite a lot of lib/ updates
       - checkpatch updates
       - binfmt updates
       - autofs4
       - drivers/rtc/
       - various small tweaks to less used filesystems
       - ipc/ updates
       - kernel/watchdog.c changes

      * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (135 
commits)
        mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY 
cleared
        kernel/param: consolidate __{start,stop}___param[] in 
<linux/moduleparam.h>
        ia64: remove duplicate declarations of __per_cpu_start[] and 
__per_cpu_end[]
        frv: remove unused declarations of __start___ex_table and 
__stop___ex_table
        kvm: ensure hard lockup detection is disabled by default
        kernel/watchdog.c: control hard lockup detection default
        staging: rtl8192u: use %*pEn to escape buffer
        staging: rtl8192e: use %*pEn to escape buffer
        staging: wlan-ng: use %*pEhp to print SN
        lib80211: remove unused print_ssid()
        wireless: hostap: proc: print properly escaped SSID
        wireless: ipw2x00: print SSID via %*pE
        wireless: libertas: print esaped string via %*pE
        lib/vsprintf: add %*pE[achnops] format specifier
        lib / string_helpers: introduce string_escape_mem()
        lib / string_helpers: refactoring the test suite
        lib / string_helpers: move documentation to c-file
        include/linux: remove strict_strto* definitions
        arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable
        fs: check bh blocknr earlier when searching lru
        ...

  commit a45d572841a24db02a62cf05e1157c35fdd3705b
  Merge: fc2414b e803d4b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 03:51:22 2014 +0200

      Merge branch 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

      Pull m68knommu update from Greg Ungerer:
       "The major change is to remove the arch/m68k/platform directory.  The
        coldfire (and other non-mmu m68k platform) code is moved to the
        arch/m68k level, making them consistent with the traditional m68k
        platforms.

        A couple of other minor miscellaneous fixes as well"

      * 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: Fix typo 'COFNIG_MBAR'
        m68knommu: add missing ioport_map() and ioport_unmap()
        m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c
        m68knommu: fix size of address field for 5272 interrupt controller
        m68k: fix crufty 68000 and 68360 intro comments
        m68k: remove the unused arch/m68k/platform directory
        m68k: move non-mmu 68360 platform code
        m68k: move non-mmu 68000 platform code
        m68k: fix crufty ColdFire intro comments
        m68k: move coldfire platform code

  commit fc2414b4b4569fab5404c6f49f36bae0dfa3d936
  Merge: 31003e3 5dab4b7
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 03:50:34 2014 +0200

      Merge tag 'please-pull-sys_bpf' of 
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux

      Pull ia64 update from Tony Luck:
       "Wire up bpf syscall for ia64"

      * tag 'please-pull-sys_bpf' of 
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        [IA64] Enable bpf syscall for ia64

  commit 31003e3a9df675f1ac85d7bcf8e5a5d622576375
  Merge: 1ee07ef 5f78659
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 03:49:02 2014 +0200

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml

      Pull UML update from Richard Weinberger:
       "Besides of fixes this contains also support for CONFIG_STACKTRACE by
        Daniel Walter"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: net: Eliminate NULL test after alloc_bootmem
        um: Add support for CONFIG_STACKTRACE
        um: ubd: Fix for processes stuck in D state forever
        um: delete unnecessary bootmem struct page array
        um: remove csum_partial_copy_generic_i386 to clean up exception table

  commit 1ee07ef6b5db7235b133ee257a3adf507697e6b3
  Merge: 7765490 0cccdda
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 03:47:00 2014 +0200

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

      Pull s390 updates from Martin Schwidefsky:
       "This patch set contains the main portion of the changes for 3.18 in
        regard to the s390 architecture.  It is a bit bigger than usual,
        mainly because of a new driver and the vector extension patches.

        The interesting bits are:
         - Quite a bit of work on the tracing front.  Uprobes is enabled and
           the ftrace code is reworked to get some of the lost performance
           back if CONFIG_FTRACE is enabled.
         - To improve boot time with CONFIG_DEBIG_PAGEALLOC, support for the
           IPTE range facility is added.
         - The rwlock code is re-factored to improve writer fairness and to be
           able to use the interlocked-access instructions.
         - The kernel part for the support of the vector extension is added.
         - The device driver to access the CD/DVD on the HMC is added, this
           will hopefully come in handy to improve the installation process.
         - Add support for control-unit initiated reconfiguration.
         - The crypto device driver is enhanced to enable the additional AP
           domains and to allow the new crypto hardware to be used.
         - Bug fixes"

      * 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
        s390/ftrace: simplify enabling/disabling of ftrace_graph_caller
        s390/ftrace: remove 31 bit ftrace support
        s390/kdump: add support for vector extension
        s390/disassembler: add vector instructions
        s390: add support for vector extension
        s390/zcrypt: Toleration of new crypto hardware
        s390/idle: consolidate idle functions and definitions
        s390/nohz: use a per-cpu flag for arch_needs_cpu
        s390/vtime: do not reset idle data on CPU hotplug
        s390/dasd: add support for control unit initiated reconfiguration
        s390/dasd: fix infinite loop during format
        s390/mm: make use of ipte range facility
        s390/setup: correct 4-level kernel page table detection
        s390/topology: call set_sched_topology early
        s390/uprobes: architecture backend for uprobes
        s390/uprobes: common library for kprobes and uprobes
        s390/rwlock: use the interlocked-access facility 1 instructions
        s390/rwlock: improve writer fairness
        s390/rwlock: remove interrupt-enabling rwlock variant.
        s390/mm: remove change bit override support
        ...

  commit 77654908ff1a58cee4886298968b5262884aff0b
  Merge: 2fd7476 d286c3a 8091c1f f12c1f9
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:31:22 2014 +0200

      Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 
'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 ras, uv and vdso fixlets from Ingo Molnar:
       "ras: tone down a kernel message to only occur during initial bootup,
          not during suspend/resume cycles.

        uv: a cleanup commit

        vdso: a fix to error checking"

      * 'x86-ras-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Avoid showing repetitive message from intel_init_thermal()

      * 'x86-uv-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic/uv: Remove unnecessary #ifdef

      * 'x86-vdso-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Fix vdso2c's special_pages[] error checking

  commit 2fd7476de999124bbf6830aa59ac092c882280fe
  Merge: ba1a96f 4ea48a0
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:28:16 2014 +0200

      Merge branch 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 fixes from Ingo Molnar:
       "Misc smaller fixes that missed the v3.17 cycle"

      * 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Add arch/x86/purgatory/ make generated files to gitignore
        x86: Fix section conflict for numachip
        x86: Reject x32 executables if x32 ABI not supported
        x86_64, entry: Filter RFLAGS.NT on entry from userspace
        x86, boot, kaslr: Fix nuisance warning on 32-bit builds

  commit ba1a96fc7ddcaf0c8d4a6752f6a70f080bc307ac
  Merge: f1bfbd9 1dcf74f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:27:06 2014 +0200

      Merge branch 'x86-seccomp-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 seccomp changes from Ingo Molnar:
       "This tree includes x86 seccomp filter speedups and related preparatory
        work, which touches core seccomp facilities as well.

        The main idea is to split seccomp into two phases, to be able to enter
        a simple fast path for syscalls with ptrace side effects.

        There's no substantial user-visible (and ABI) effects expected from
        this, except a change in how we emit a better audit record for
        SECCOMP_RET_TRACE events"

      * 'x86-seccomp-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls
        x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls
        x86: Split syscall_trace_enter into two phases
        x86, entry: Only call user_exit if TIF_NOHZ
        x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit
        seccomp: Document two-phase seccomp and arch-provided seccomp_data
        seccomp: Allow arch code to provide seccomp_data
        seccomp: Refactor the filter callback and the API
        seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing

  commit f1bfbd984b4e2177886507b6a0ec5faeb6d7c217
  Merge: df133e8 aece118
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:23:55 2014 +0200

      Merge branch 'x86-platform-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 platform updates from Ingo Molnar:
       "The main changes in this tree are:

         - fix and update Intel Quark [Galileo] SoC platform support

         - update IOSF chipset side band interface and make it available via
           debugfs

         - enable HPETs on Soekris net6501 and other e6xx based systems"

      * 'x86-platform-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache()
        x86: Quark: Comment setup_arch() to document TLB/PGE bug
        x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead
        x86/platform/intel/iosf: Add debugfs config option for IOSF
        x86/platform/intel/iosf: Add better description of IOSF driver in config
        x86/platform/intel/iosf: Add Braswell PCI ID
        x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n
        x86: HPET force enable for e6xx based systems
        x86/iosf: Add debugfs support
        x86/iosf: Add Kconfig prompt for IOSF_MBI selection

  commit df133e8fa8e1d4afa57c84953bf80eaed2b145e0
  Merge: e343833 beb9147
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:22:41 2014 +0200

      Merge branch 'x86-mm-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 mm updates from Ingo Molnar:
       "This tree includes the following changes:

         - fix memory hotplug
         - fix hibernation bootup memory layout assumptions
         - fix hyperv numa guest kernel messages
         - remove dead code
         - update documentation"

      * 'x86-mm-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Update memory map description to list hypervisor-reserved area
        x86/mm, hibernate: Do not assume the first e820 area to be RAM
        x86/mm/numa: Drop dead code and rename setup_node_data() to 
setup_alloc_data()
        x86/mm/hotplug: Modify PGD entry when removing memory
        x86/mm/hotplug: Pass sync_global_pgds() a correct argument in 
remove_pagetable()
        x86: Remove set_pmd_pfn

  commit e3438330f58330ec236c861d43f46bef06780e62
  Merge: c7b228a 44afe60
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:21:51 2014 +0200

      Merge branch 'x86-microcode-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 microcode loading updates from Ingo Molnar:
       "Misc smaller cleanups"

      * 'x86-microcode-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode, intel: Fix total_size computation
        x86, microcode, intel: Rename apply_microcode and declare it static
        x86, microcode, intel: Fix typos
        x86, microcode, intel: Add missing static declarations
        x86, microcode, amd: Fix missing static declaration

  commit c7b228adcafe5024a60fc246476e11af8699b759
  Merge: 708d0b4 6f46b3a
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:20:50 2014 +0200

      Merge branch 'x86-fpu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 FPU updates from Ingo Molnar:
       "x86 FPU handling fixes, cleanups and enhancements from Oleg.

        The signal handling race fix and the __restore_xstate_sig() preemption
        fix for eager-mode is marked for -stable as well"

      * 'x86-fpu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: copy_thread: Don't nullify ->ptrace_bps twice
        x86, fpu: Shift "fpu_counter = 0" from copy_thread() to 
arch_dup_task_struct()
        x86, fpu: copy_process: Sanitize fpu->last_cpu initialization
        x86, fpu: copy_process: Avoid fpu_alloc/copy if !used_math()
        x86, fpu: Change __thread_fpu_begin() to use use_eager_fpu()
        x86, fpu: __restore_xstate_sig()->math_state_restore() needs 
preempt_disable()
        x86, fpu: shift drop_init_fpu() from save_xstate_sig() to 
handle_signal()

  commit 708d0b41a26907ac83cde41dd5a75b5a2f8f1218
  Merge: f1d0d14 9298b81
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 14 02:19:47 2014 +0200

      Merge branch 'x86-cpufeature-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 cpufeature updates from Ingo Molnar:
       "This tree includes the following changes:

         - Introduce DISABLED_MASK to list disabled CPU features, to simplify
           CPU feature handling and avoid excessive #ifdefs

         - Remove the lightly used cpu_has_pae() primitive"

      * 'x86-cpufeature-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add more disabled features
        x86: Introduce disabled-features
        x86: Axe the lightly-used cpu_has_pae

  commit 64e455079e1bd7787cc47be30b7f601ce682a5f6
  Author: Peter Feiner <pfeiner@xxxxxxxxxx>
  Date:   Mon Oct 13 15:55:46 2014 -0700

      mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY 
cleared

      For VMAs that don't want write notifications, PTEs created for read faults
      have their write bit set.  If the read fault happens after VM_SOFTDIRTY is
      cleared, then the PTE's softdirty bit will remain clear after subsequent
      writes.

      Here's a simple code snippet to demonstrate the bug:

        char* m = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE,
                       MAP_ANONYMOUS | MAP_SHARED, -1, 0);
        system("echo 4 > /proc/$PPID/clear_refs"); /* clear VM_SOFTDIRTY */
        assert(*m == '\0');     /* new PTE allows write access */
        assert(!soft_dirty(x));
        *m = 'x';               /* should dirty the page */
        assert(soft_dirty(x));  /* fails */

      With this patch, write notifications are enabled when VM_SOFTDIRTY is
      cleared.  Furthermore, to avoid unnecessary faults, write notifications
      are disabled when VM_SOFTDIRTY is set.

      As a side effect of enabling and disabling write notifications with
      care, this patch fixes a bug in mprotect where vm_page_prot bits set by
      drivers were zapped on mprotect.  An analogous bug was fixed in mmap by
      commit c9d0bf241451 ("mm: uncached vma support with writenotify").

      Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx>
      Reported-by: Peter Feiner <pfeiner@xxxxxxxxxx>
      Suggested-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Jamie Liu <jamieliu@xxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 63a12d9d01831208a47f5c0fbbf93f503d1fb162
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:44 2014 -0700

      kernel/param: consolidate __{start,stop}___param[] in 
<linux/moduleparam.h>

      Consolidate the various external const and non-const declarations of
      __start___param[] and __stop___param in <linux/moduleparam.h>.  This
      requires making a few struct kernel_param pointers in kernel/params.c
      const.

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4c6327dfaf20d6207efa765320748fd8699f74b0
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:41 2014 -0700

      ia64: remove duplicate declarations of __per_cpu_start[] and 
__per_cpu_end[]

      They're already provided by <asm/sections.h>.

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Cc: "Luck, Tony" <tony.luck@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bd6aa7e51aea1bf58c4a917630dae31def11bd2d
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:39 2014 -0700

      frv: remove unused declarations of __start___ex_table and 
__stop___ex_table

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: David Howells <dhowells@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9919e39a17381058dd0cdef2f78dbf5619e26474
  Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:55:37 2014 -0700

      kvm: ensure hard lockup detection is disabled by default

      Use watchdog_enable_hardlockup_detector() to set hard lockup detection's
      default value to false.  It's risky to run this detection in a guest, as
      false positives are easy to trigger, especially if the host is
      overcommitted.

      Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
      Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
      Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6e7458a6f074c71e74cda31c483114e65ea0f570
  Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:55:35 2014 -0700

      kernel/watchdog.c: control hard lockup detection default

      In some cases we don't want hard lockup detection enabled by default.
      An example is when running as a guest.  Introduce

        watchdog_enable_hardlockup_detector(bool)

      allowing those cases to disable hard lockup detection.  This must be
      executed early by the boot processor from e.g.  smp_prepare_boot_cpu, in
      order to allow kernel command line arguments to override it, as well as
      to avoid hard lockup detection being enabled before we've had a chance
      to indicate that it's unwanted.  In summary,

        initial boot:                                   default=enabled
        smp_prepare_boot_cpu
          watchdog_enable_hardlockup_detector(false):   default=disabled
        cmdline has 'nmi_watchdog=1':                   default=enabled

      The running kernel still has the ability to enable/disable at any time
      with /proc/sys/kernel/nmi_watchdog us usual.  However even when the
      default has been overridden /proc/sys/kernel/nmi_watchdog will initially
      show '1'.  To truly turn it on one must disable/enable it, i.e.

        echo 0 > /proc/sys/kernel/nmi_watchdog
        echo 1 > /proc/sys/kernel/nmi_watchdog

      This patch will be immediately useful for KVM with the next patch of this
      series.  Other hypervisor guest types may find it useful as well.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix build]
      [dzickus@xxxxxxxxxx: fix compile issues on sparc]
      Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
      Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
      Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
      Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8a1db92830d0a71e1429725992eb91470214c820
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:33 2014 -0700

      staging: rtl8192u: use %*pEn to escape buffer

      Let's use kernel's native specifier to escape a buffer.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 50d5e53ddfc0d9cf4707d7d8e22624b26ab9114e
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:31 2014 -0700

      staging: rtl8192e: use %*pEn to escape buffer

      Let's use kernel's native specifier to escape a buffer.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 068c11dac2a5df02c650b8511e10055c95073d5a
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:29 2014 -0700

      staging: wlan-ng: use %*pEhp to print SN

      This is a generic specifier to print an escaped buffer by given criteria.
      Let's use it instead of custom approach.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5df1415aee48e1d20328238d3077e39793e83232
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:27 2014 -0700

      lib80211: remove unused print_ssid()

      In kernel we have %*pE specifier to print an escaped buffer.  All users
      now switched to that approach.

      This fixes a bug as well.  The current implementation wrongly prints
      octal numbers: only two first digits are used in case when 3 are
      required and the rest of the string ends up cut off.

      Additionally by default the \f, \v, \a, and \e are escaped to their
      alphabetic representation.  It's safe to do since it is currently used
      for messaging only.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e5ead669a3de3cc822f19b7289932ffbf9664328
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:24 2014 -0700

      wireless: hostap: proc: print properly escaped SSID

      Instead of substituting non-printable characters by '_' let's print SSID
      properly escaped by using recently added %*pE specifier.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix printk type warning]
      [akpm@xxxxxxxxxxxxxxxxxxxx: remove now-unused local `i']
      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4b4890cb6aebb1669879a02c51a3c3eff629dff0
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:22 2014 -0700

      wireless: ipw2x00: print SSID via %*pE

      Instead of custom approach this allows to print escaped strings via
      recently added kernel extension: %*pE.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit da169607ae17c4340fe2ab286130741266709b07
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:20 2014 -0700

      wireless: libertas: print esaped string via %*pE

      Instead of custom approach this allows to print escaped strings via
      recently added kernel extension: %*pE.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 71dca95d5cf5ece6c1bee8e625e23c16025952c7
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:18 2014 -0700

      lib/vsprintf: add %*pE[achnops] format specifier

      This allows user to print a given buffer as an escaped string.  The
      rules are applied according to an optional mix of flags provided by
      additional format letters.

      For example, if the given buffer is:

          1b 62 20 5c 43 07 22 90 0d 5d

      The result strings would be:
          %*pE            "\eb \C\a"\220\r]"
          %*pEhp          "\x1bb \C\x07"\x90\x0d]"
          %*pEa           "\e\142\040\\\103\a\042\220\r\135"

      Please, read Documentation/printk-formats.txt and lib/string_helpers.c
      kernel documentation to get further information.

      [akpm@xxxxxxxxxxxxxxxxxxxx: tidy up comment layout, per Joe]
      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Suggested-by: Joe Perches <joe@xxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c8250381c8272a9828fdd353171727b154fbd296
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:16 2014 -0700

      lib / string_helpers: introduce string_escape_mem()

      This is almost the opposite function to string_unescape().  Nevertheless
      it handles \0 and could be used for any byte buffer.

      The documentation is supplied together with the function prototype.

      The test cases covers most of the scenarios and would be expanded later
      on.

      [akpm@xxxxxxxxxxxxxxxxxxxx: avoid 1k stack consumption]
      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 45ff337a54c154680edf0c538e5c9eb4a2f862cc
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:14 2014 -0700

      lib / string_helpers: refactoring the test suite

      This patch prepares test suite for a following update.  It introduces
      test_string_check_buf() helper which checks the result and dumps an error.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d295634e965ecacdb44c6760b3ca4eae08812715
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:11 2014 -0700

      lib / string_helpers: move documentation to c-file

      The introduced function string_escape_mem() is a kind of opposite to
      string_unescape.  We have several users of such functionality each of
      them created custom implementation.  The series contains clean up of
      test suite, adding new call, and switching few users to use it via %*pE
      specifier.

      Test suite covers all of existing and most of potential use cases.

      This patch (of 11):

      The documentation of API belongs to c-file.  This patch moves it
      accordingly.

      There is no functional change.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Cc: "John W . Linville" <linville@xxxxxxxxxxxxx>
      Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3db2e9cdc085144e243495137273e2318c53a82f
  Author: Daniel Walter <dwalter@xxxxxxxxxx>
  Date:   Mon Oct 13 15:55:09 2014 -0700

      include/linux: remove strict_strto* definitions

      Remove obsolete and unused strict_strto* functions

      Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx>
      Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bd5cfb8977fbb49d9350f7c81cf1516142e35a6a
  Author: Xishi Qiu <qiuxishi@xxxxxxxxxx>
  Date:   Mon Oct 13 15:55:07 2014 -0700

      arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable

      If all the nodes are marked hotpluggable, alloc node data will fail.
      Because __next_mem_range_rev() will skip the hotpluggable memory
      regions.  numa_clear_kernel_node_hotplug() is called after alloc node
      data.

      numa_init()
          ...
          ret = init_func();  // this will mark hotpluggable flag from SRAT
          ...
          memblock_set_bottom_up(false);
          ...
          ret = numa_register_memblks(&numa_meminfo);  // this will alloc node 
data(pglist_data)
          ...
          numa_clear_kernel_node_hotplug();  // in case all the nodes are 
hotpluggable
          ...

      numa_register_memblks()
          setup_node_data()
              memblock_find_in_range_node()
                  __memblock_find_range_top_down()
                      for_each_mem_range_rev()
                          __next_mem_range_rev()

      This patch moves numa_clear_kernel_node_hotplug() into
      numa_register_memblks(), clear kernel node hotpluggable flag before
      alloc node data, then alloc node data won't fail even all the nodes
      are hotpluggable.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx>
      Cc: Dave Jones <davej@xxxxxxxxxx>
      Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx>
      Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9470dd5d352985ba907df7554845f87a4b8f9ea5
  Author: Zach Brown <zab@xxxxxxxxx>
  Date:   Mon Oct 13 15:55:05 2014 -0700

      fs: check bh blocknr earlier when searching lru

      It's very common for the buffer heads in the lru to have different block
      numbers.  By comparing the blocknr before the bdev and size we can
      reduce the cost of searching in the very common case where all the
      entries have the same bdev and size.

      In quick hot cache cycle counting tests on a single fs workstation this
      cut the cost of a miss by about 20%.

      A diff of the disassembly shows the reordering of the bdev and blocknr
      comparisons.  This is in such a tiny loop that skipping one comparison
      is a meaningful portion of the total work being done:

           1628:      83 c1 01                add    $0x1,%ecx
           162b:      83 f9 08                cmp    $0x8,%ecx
           162e:      74 60                   je     1690 
<__find_get_block+0xa0>
           1630:      89 c8                   mov    %ecx,%eax
           1632:      65 4c 8b 04 c5 00 00    mov    %gs:0x0(,%rax,8),%r8
           1639:      00 00
           163b:      4d 85 c0                test   %r8,%r8
           163e:      4c 89 c3                mov    %r8,%rbx
           1641:      74 e5                   je     1628 
<__find_get_block+0x38>
      -    1643:      4d 3b 68 30             cmp    0x30(%r8),%r13
      +    1643:      4d 3b 68 18             cmp    0x18(%r8),%r13
           1647:      75 df                   jne    1628 
<__find_get_block+0x38>
      -    1649:      4d 3b 60 18             cmp    0x18(%r8),%r12
      +    1649:      4d 3b 60 30             cmp    0x30(%r8),%r12
           164d:      75 d9                   jne    1628 
<__find_get_block+0x38>
           164f:      49 39 50 20             cmp    %rdx,0x20(%r8)
           1653:      75 d3                   jne    1628 
<__find_get_block+0x38>

      Signed-off-by: Zach Brown <zab@xxxxxxxxx>
      Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f9f2bac27ca587dc3eb4737880ca4a8e5d92bd93
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:03 2014 -0700

      kdb: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 484ac2f32d3a282bd583f7195b0b2970ef8d0c04
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:55:01 2014 -0700

      thermal: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx>
      Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7569055b81fc9e75b96d1a259163fc5325aac799
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:59 2014 -0700

      staging: r8188eu: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3f8bfd9a7504bff350acd50c6eee23ca5c9913b2
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:57 2014 -0700

      s390/cio: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx>
      Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7fb1cab4ac8ef7a1fed5c19593cd5b4be1b1a9b3
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:54 2014 -0700

      PNP: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 40f5c777ec61d908ffc7f2a6ccbed60d9930a1f8
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:52 2014 -0700

      thinkpad_acpi: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx>
      Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 30614cf34105c5b5b9a39c65a2ea32c58b03aa8e
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:50 2014 -0700

      altera-stapl: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: "Igor M. Liplianin" <liplianin@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0f3ae5baafba9e48e2d3b173b982a46ad90149b4
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:48 2014 -0700

      input: edt-ft5x06: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b60459f080bf3a1fcc6f55cfb628d1d79423b6ff
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:46 2014 -0700

      ib_srpt: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Roland Dreier <roland@xxxxxxxxxx>
      Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 48a968763dba039972623caea2355fc573b559ba
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:44 2014 -0700

      scsi: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b7a8d756fb8080ab6ba9f4a9d4056a1056245fbc
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:42 2014 -0700

      batman-adv: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Marek Lindner <mareklindner@xxxxxxxxxxxxx>
      Acked-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a97df4277da28329f88520bc65d6310715563855
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:39 2014 -0700

      isofs: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Reviewed-by: Jan Kara <jack@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2bd63329cbdb6c6577d5ca0095dcb3e4f590ffca
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:37 2014 -0700

      ocfs2: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 87e747cdb9828cb09828ccbdc398374192355c68
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:35 2014 -0700

      cifs: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Steve French <sfrench@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c4dd08694b8f078900c8e0c86e369b667a5101c5
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:33 2014 -0700

      video: fbdev: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
      Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 18082746a28588f94496f2daa050c11decb54179
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:31 2014 -0700

      netfilter: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2bebf5cb4ea12164e7b15755baf423651e271146
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:29 2014 -0700

      ARM: replace strnicmp with strncasecmp

      The kernel used to contain two functions for length-delimited,
      case-insensitive string comparison, strnicmp with correct semantics and
      a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
      was renamed to strncasecmp, and strnicmp made into a wrapper for the new
      strncasecmp to avoid breaking existing users.

      To allow the compat wrapper strnicmp to be removed at some point in the
      future, and to avoid the extra indirection cost, do
      s/strnicmp/strncasecmp/g.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b0bfb63118612e3614cf77b115c00f895a42c96a
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:27 2014 -0700

      lib: string: Make all calls to strnicmp into calls to strncasecmp

      The previous patch made strnicmp into a wrapper for strncasecmp.

      This patch makes all in-tree users of strnicmp call strncasecmp
      directly, while still making sure that the strnicmp symbol can be used
      by out-of-tree modules.  It should be considered a temporary hack until
      all in-tree callers have been converted.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cd514e727b18ff4d189b8e268db13729a4175091
  Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:25 2014 -0700

      lib/string.c: remove duplicated function

      lib/string.c contains two functions, strnicmp and strncasecmp, which do
      roughly the same thing, namely compare two strings case-insensitively up
      to a given bound.  They have slightly different implementations, but the
      only important difference is that strncasecmp doesn't handle len==0
      appropriately; it effectively becomes strcasecmp in that case.  strnicmp
      correctly says that two strings are always equal in their first 0
      characters.

      strncasecmp is the POSIX name for this functionality.  So rename the
      non-broken function to the standard name.  To minimize the impact on the
      rest of the kernel (and since both are exported to modules), make strnicmp
      a wrapper for strncasecmp.

      Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
      Cc: Grant Likely <grant.likely@xxxxxxxxxx>
      Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
      Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
      Cc: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e48510f45107613bf14060eeabd658c49a044242
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:22 2014 -0700

      arch/x86/kernel/cpu/common.c: fix unused symbol warning

      x86_64 allnoconfig:

      arch/x86/kernel/cpu/common.c:968: warning: 'syscall32_cpu_init' defined 
but not used

      Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7cbc0ea79da2cbe70d8da9319895f07f872a3190
  Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:20 2014 -0700

      scripts/sortextable: suppress warning: `relocs_size' may be used 
uninitialized

      In file included from scripts/sortextable.c:194:0:
      scripts/sortextable.c: In function `main':
      scripts/sortextable.h:176:3: warning: `relocs_size' may be used 
uninitialized in this function [-Wmaybe-uninitialized]
         memset(relocs, 0, relocs_size);
         ^
      scripts/sortextable.h:106:6: note: `relocs_size' was declared here
        int relocs_size;
            ^
      In file included from scripts/sortextable.c:192:0:
      scripts/sortextable.h:176:3: warning: `relocs_size' may be used 
uninitialized in this function [-Wmaybe-uninitialized]
         memset(relocs, 0, relocs_size);
         ^
      scripts/sortextable.h:106:6: note: `relocs_size' was declared here
        int relocs_size;
            ^

      gcc 4.9.1

      Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
      Reviewed-by: Jamie Iles <jamie.iles@xxxxxxxxxx>

      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f9a4d1103c1c4b9fa5b23b1ddc2666f015822ef2
  Author: Javier Barrio <javier.barrio.mart@xxxxxxxxx>
  Date:   Mon Oct 13 15:54:18 2014 -0700

      scripts/headers_install.sh: fix error handling

      - headers_install requires at least two arguments

      - missed closing quote

      Signed-off-by: Javier Barrio <javier.barrio.mart@xxxxxxxxx>
      Cc: Michal Marek <mmarek@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0d5e75802c842ecc7c4778422c2d49609a889f3a
  Author: Mark Rustad <mark.d.rustad@xxxxxxxxx>
  Date:   Mon Oct 13 15:54:16 2014 -0700

      ipc: resolve shadow warnings

      Resolve some shadow warnings produced in W=2 builds by changing the name
      of some parameters and local variables.  Change instances of "s64"
      because that clashes with the well-known typedef.  Also change a local
      variable with the name "up" because that clashes with the name of of the
      "up" function for semaphores.  These are hazards so eliminate the
      hazards by renaming them.

      Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d66a0520cb46fb4f86b070e5f1926f6e53f23b38
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:54:14 2014 -0700

      ipc/util.c: use __seq_open_private() instead of seq_open()

      Using __seq_open_private() removes boilerplate code from
      sysvipc_proc_open().

      The resultant code is shorter and easier to follow.

      However, please note that __seq_open_private() call kzalloc() rather than
      kmalloc() which may affect timing due to the memory initialisation
      overhead.

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bf77b94c99ad5df0d97a52522fc7a220c0bf44fe
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Mon Oct 13 15:54:12 2014 -0700

      ipc/shm: kill the historical/wrong mm->start_stack check

      do_shmat() is the only user of ->start_stack (proc just reports its
      value), and this check looks ugly and wrong.

      The reason for this check is not clear at all, and it wrongly assumes that
      the stack can only grow down.

      But the main problem is that in general mm->start_stack has nothing to do
      with stack_vma->vm_start.  Not only the application can switch to another
      stack and even unmap this area, setup_arg_pages() expands the stack
      without updating mm->start_stack during exec().  This means that in the
      likely case "addr > start_stack - size - PAGE_SIZE * 5" is simply
      impossible after find_vma_intersection() == F, or the stack can't grow
      anyway because of RLIMIT_STACK.

      Many thanks to Hugh for his explanations.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
      Cc: Davidlohr Bueso <davidlohr.bueso@xxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1195d94e006b23c6292e78857e154872e33b6d7e
  Author: Andrey Vagin <avagin@xxxxxxxxxx>
  Date:   Mon Oct 13 15:54:10 2014 -0700

      ipc: always handle a new value of auto_msgmni

      proc_dointvec_minmax() returns zero if a new value has been set.  So we
      don't need to check all charecters have been handled.

      Below you can find two examples.  In the new value has not been handled
      properly.

      $ strace ./a.out
      open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3
      write(3, "0\n\0", 3)                    = 2
      close(3)                                = 0
      exit_group(0)
      $ cat /sys/kernel/debug/tracing/trace

      $strace ./a.out
      open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3
      write(3, "0\n", 2)                      = 2
      close(3)                                = 0

      $ cat /sys/kernel/debug/tracing/trace
      a.out-697   [000] ....  3280.998235: unregister_ipcns_notifier 
<-proc_ipcauto_dointvec_minmax

      Fixes: 9eefe520c814 ("ipc: do not use a negative value to re-enable 
msgmni automatic recomputin")
      Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx>
      Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx>
      Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Cc: Davidlohr Bueso <davidlohr@xxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c34d85aca91729596f876604e147892b81ecbbe9
  Author: Mark Rustad <mark.d.rustad@xxxxxxxxx>
  Date:   Mon Oct 13 15:54:07 2014 -0700

      init/initramfs.c: resolve shadow warnings

      Resolve shadow warnings that are produced in W=2 builds by renaming a
      global with a too-generic name and renaming a formal parameter.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 906e36c5c717cc99e622350f533876feed9bffe0
  Author: Mike Travis <travis@xxxxxxx>
  Date:   Mon Oct 13 15:54:05 2014 -0700

      x86: use optimized ioresource lookup in ioremap function

      Use the optimized ioresource lookup, "region_is_ram", for the ioremap
      function.  If the region is not found, it falls back to the
      "page_is_ram" function.  If it is found and it is RAM, then the usual
      warning message is issued, and the ioremap operation is aborted.
      Otherwise, the ioremap operation continues.

      Signed-off-by: Mike Travis <travis@xxxxxxx>
      Acked-by: Alex Thorlton <athorlton@xxxxxxx>
      Reviewed-by: Cliff Wickman <cpw@xxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Cc: Mark Salter <msalter@xxxxxxxxxx>
      Cc: Dave Young <dyoung@xxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 67cf13ceed89e2c1a967719e98624a20c48dfb5a
  Author: Mike Travis <travis@xxxxxxx>
  Date:   Mon Oct 13 15:54:03 2014 -0700

      x86: optimize resource lookups for ioremap

      We have a large university system in the UK that is experiencing very long
      delays modprobing the driver for a specific I/O device.  The delay is from
      8-10 minutes per device and there are 31 devices in the system.  This 4 to
      5 hour delay in starting up those I/O devices is very much a burden on the
      customer.

      There are two causes for requiring a restart/reload of the drivers.  First
      is periodic preventive maintenance (PM) and the second is if any of the
      devices experience a fatal error.  Both of these trigger this excessively
      long delay in bringing the system back up to full capability.

      The problem was tracked down to a very slow IOREMAP operation and the
      excessively long ioresource lookup to insure that the user is not
      attempting to ioremap RAM.  These patches provide a speed up to that
      function.

      The modprobe time appears to be affected quite a bit by previous activity
      on the ioresource list, which I suspect is due to cache preloading.  While
      the overall improvement is impacted by other overhead of starting the
      devices, this drastically improves the modprobe time.

      Also our system is considerably smaller so the percentages gained will not
      be the same.  Best case improvement with the modprobe on our 20 device
      smallish system was from 'real 5m51.913s' to 'real 0m18.275s'.

      This patch (of 2):

      Since the ioremap operation is verifying that the specified address range
      is NOT RAM, it will search the entire ioresource list if the condition is
      true.  To make matters worse, it does this one 4k page at a time.  For a
      128M BAR region this is 32 passes to determine the entire region does not
      contain any RAM addresses.

      This patch provides another resource lookup function, region_is_ram, that
      searches for the entire region specified, verifying that it is completely
      contained within the resource region.  If it is found, then it is checked
      to be RAM or not, within a single pass.

      The return result reflects if it was found or not (-1), and whether it is
      RAM (1) or not (0).  This allows the caller to fallback to the previous
      page by page search if it was not found.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix spellos and typos in comment]
      Signed-off-by: Mike Travis <travis@xxxxxxx>
      Acked-by: Alex Thorlton <athorlton@xxxxxxx>
      Reviewed-by: Cliff Wickman <cpw@xxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Cc: Mark Salter <msalter@xxxxxxxxxx>
      Cc: Dave Young <dyoung@xxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 76e512108935ecdb46792208dae5f59c7ea78e25
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:54:01 2014 -0700

      FS/OMFS: block number sanity check during fill_super operation

      This patch defines maximum block number to 2^31.  It also converts
      bitmap_size and array_size to unsigned int in omfs_get_imap

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
      Suggested-by: Bob Copeland <me@xxxxxxxxxxxxxxx>
      Acked-by: Bob Copeland <me@xxxxxxxxxxxxxxx>
      Tested-by: Bob Copeland <me@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5ef9819234e285abe6b616864e7b1b4607d39b58
  Author: Thierry Reding <treding@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:59 2014 -0700

      memstick: r592: fix build warnings for !PM_SLEEP

      When PM_SLEEP is not enabled, the r592_clear_interrupts() function is
      never used.  If so, don't build it to prevent a compiler warning.

      Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
      Cc: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c70b17b6538ecda81050a0f5a5475137a0ae451f
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:57 2014 -0700

      fs/affs: remove redundant sys_tz declarations

      sys_tz is already declared in include/linux/time.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 73516ace940a7c3f374f3e34c3c03cd3886be62f
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:54 2014 -0700

      fs/affs/file.c: fix shadow warnings

      Four functions declared variables twice resulting in shadow warnings.

      This patch renames internal variables and adds blank line after
      declarations.

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3bc759931d271dbe9c4156105173b81ecb35177c
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:52 2014 -0700

      fs/affs/inode.c: remove unused variable

      head is set to AFFS_HEAD(bh) but never used.

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1e907f4f116dd94dcc751bc0a053acd29728cc95
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:50 2014 -0700

      fs/affs/super.c: remove unused variable

      key is set in affs_fill_super but never used.

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a841b65921a959c759da6b5c8d5dc21966b4cf86
  Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:53:48 2014 -0700

      rbtree: add comment to rb_insert_augmented()

      The comment is copied from Documentation/rbtree.txt, but this comment is
      so important that it should also be in the code.

      Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
      Acked-by: Michel Lespinasse <walken@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f8da964dfbdca0eb14f9bf67be4ab6d256f90b7f
  Author: Vivek Goyal <vgoyal@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:46 2014 -0700

      kexec-bzimage64: fix sparse warnings

      David Howells brought to my attention the mails generated by kbuild test
      bot and following sparse warnings were present.  This patch fixes these
      warnings.

        arch/x86/kernel/kexec-bzimage64.c:270:5: warning: symbol 
'bzImage64_probe' was not declared. Should it be static?
        arch/x86/kernel/kexec-bzimage64.c:328:6: warning: symbol 
'bzImage64_load' was not declared. Should it be static?
        arch/x86/kernel/kexec-bzimage64.c:517:5: warning: symbol 
'bzImage64_cleanup' was not declared. Should it be static?
        arch/x86/kernel/kexec-bzimage64.c:531:5: warning: symbol 
'bzImage64_verify_sig' was not declared. Should it be static?
        arch/x86/kernel/kexec-bzimage64.c:546:23: warning: symbol 
'kexec_bzImage64_ops' was not declared. Should it be static?

      Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
      Reported-by: David Howells <dhowells@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 36f3f500efe6a19b7ce1e1205c105a2cbb2124d9
  Author: Baoquan He <bhe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:44 2014 -0700

      kexec: remove the unused function parameter

      This is a cleanup.  In function parse_crashkernel_suffix, the parameter
      crash_base is not used.  So here remove it.

      Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
      Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a2d6aa8fa0750fe1d2fc9673d4a46b2fd87e44b3
  Author: Baoquan He <bhe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:42 2014 -0700

      kexec: check if crashk_res_low exists when exclude it from crash mem 
ranges

      Add a check if crashk_res_low exists just like GART region does.  If
      crashk_res_low doesn't exist, calling exclude_mem_range is unnecessary.

      Meanwhile, since crashk_res_low has been initialized at definition, it's
      safe just use "if (crashk_low_res.end)" to check if it's exist.  And this
      can make it consistent with other places of check.

      Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
      Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 669280a152ce5144321c0e511498877383f34393
  Author: Baoquan He <bhe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:40 2014 -0700

      kexec: take the segment adding out of locate_mem_hole functions

      In locate_mem_hole functions, a memory hole is located and added as
      kexec_segment.  But from the name of locate_mem_hole, it should only take
      responsibility of searching a available memory hole to contain data of a
      specified size.

      So in this patch add a new field 'mem' into kexec_buf, then take that
      kexec segment adding code out of locate_mem_hole_top_down and
      locate_mem_hole_bottom_up.  This make clear of the functionality of
      locate_mem_hole just like it declars to do.  And by this
      locate_mem_hole_callback chould be used later if anyone want to locate a
      memory hole for other use.

      Meanwhile Vivek suggested opening code function __kexec_add_segment(),
      that way we have to retreive ksegment pointer once and it is easy to read.
       So just do it in this patch and remove __kexec_add_segment() since no one
      use it anymore.

      Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
      Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 887f4f8666960dcf8c13d516ff3e4311353f3206
  Author: Baoquan He <bhe@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:37 2014 -0700

      arch/x86/purgatory/Makefile: try to use automatic variable in kexec 
purgatory makefile

      Make the Makefile of kexec purgatory be consistent with others in linux
      src tree, and make it look generic and simple.

      Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
      Cc: Vivek Goyal <vgoyal@xxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b03023ecbdb76c1dec86b41ed80b123c22783220
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:35 2014 -0700

      coredump: add %i/%I in core_pattern to report the tid of the crashed 
thread

      format_corename() can only pass the leader's pid to the core handler,
      but there is no simple way to figure out which thread originated the
      coredump.

      As Jan explains, this also means that there is no simple way to create
      the backtrace of the crashed process:

      As programs are mostly compiled with implicit gcc -fomit-frame-pointer
      one needs program's .eh_frame section (equivalently PT_GNU_EH_FRAME
      segment) or .debug_frame section.  .debug_frame usually is present only
      in separate debug info files usually not even installed on the system.
      While .eh_frame is a part of the executable/library (and it is even
      always mapped for C++ exceptions unwinding) it no longer has to be
      present anywhere on the disk as the program could be upgraded in the
      meantime and the running instance has its executable file already
      unlinked from disk.

      One possibility is to echo 0x3f >/proc/*/coredump_filter and dump all
      the file-backed memory including the executable's .eh_frame section.
      But that can create huge core files, for example even due to mmapped
      data files.

      Other possibility would be to read .eh_frame from /proc/PID/mem at the
      core_pattern handler time of the core dump.  For the backtrace one needs
      to read the register state first which can be done from core_pattern
      handler:

          ptrace(PTRACE_SEIZE, tid, 0, PTRACE_O_TRACEEXIT)
          close(0);    // close pipe fd to resume the sleeping dumper
          waitpid();   // should report EXIT
          PTRACE_GETREGS or other requests

      The remaining problem is how to get the 'tid' value of the crashed
      thread.  It could be read from the first NT_PRSTATUS note of the core
      file but that makes the core_pattern handler complicated.

      Unfortunately %t is already used so this patch uses %i/%I.

      Automatic Bug Reporting Tool (https://github.com/abrt/abrt/wiki/overview)
      is experimenting with this.  It is using the elfutils
      (https://fedorahosted.org/elfutils/) unwinder for generating the
      backtraces.  Apart from not needing matching executables as mentioned
      above, another advantage is that we can get the backtrace without saving
      the core (which might be quite large) to disk.

      [mmilata@xxxxxxxxxx: final paragraph of changelog]
      Signed-off-by: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx>
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
      Cc: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx>
      Cc: Mark Wielaard <mjw@xxxxxxxxxx>
      Cc: Martin Milata <mmilata@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1c3bea0e71892ef9100c01d3799cdae8cac273ef
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Mon Oct 13 15:53:33 2014 -0700

      signal: use BUILD_BUG() instead of _NSIG_WORDS_is_unsupported_size()

      Kill _NSIG_WORDS_is_unsupported_size(), use BUILD_BUG() instead.  This
      simplifies the code, avoids the nested-externs warnings, and this way we
      do not defer the problem to linker.

      Also, fix the indentation in _SIG_SET_BINOP() and _SIG_SET_OP().

      Note: this patch assumes that the code like "if (0) BUILD_BUG();" is
      valid.  If not (say __compiletime_error() is not defined and thus
      __compiletime_error_fallback() uses a negative array) we should fix
      BUILD_BUG() and/or BUILD_BUG_ON_MSG().  This code should be fine by
      definition, this is the documented purpose of BUILD_BUG().

      [sfr@xxxxxxxxxxxxxxxx: fix powerpc build failures]
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Reported-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
      Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 877aabd6ce16bc17cf62c2356b5d61f36454c1ed
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:31 2014 -0700

      fat: remove redundant sys_tz declaration

      sys_tz is already declared extern struct in include/linux/time.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Cc: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 54cc6cea73bb5ddf0362a70ef58816898bfb7f87
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:29 2014 -0700

      fs/reiserfs/journal.c: fix sparse context imbalance warning

      Merge conditional unlock/lock in the same condition to avoid sparse
      warning:

        fs/reiserfs/journal.c:703:36: warning: context imbalance in 
'add_to_chunk' - unexpected unlock

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Cc: Jeff Mahoney <jeffm@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 35c0b380d81bd566c37a252399f008928ef4b2cd
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:27 2014 -0700

      fs/ufs/balloc.c: remove unused variable

      ucg is defined and set in ufs_bitmap_search but never used.

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Cc: Evgeniy Dushistov <dushistov@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a792d9082944fc0efcde7a58c59528f122663c52
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:25 2014 -0700

      fs/hfs/hfs_fs.h: remove redundant sys_tz declaration

      sys_tz is already declared in include/linux/time.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b9f6614072687f1ea9bf09a99789c976cbe89714
  Author: Andreas Rohner <andreas.rohner@xxxxxxx>
  Date:   Mon Oct 13 15:53:22 2014 -0700

      nilfs2: improve the performance of fdatasync()

      Support for fdatasync() has been implemented in NILFS2 for a long time,
      but whenever the corresponding inode is dirty the implementation falls
      back to a full-flegded sync().  Since every write operation has to
      update the modification time of the file, the inode will almost always
      be dirty and fdatasync() will fall back to sync() most of the time.  But
      this fallback is only necessary for a change of the file size and not
      for a change of the various timestamps.

      This patch adds a new flag NILFS_I_INODE_SYNC to differentiate between
      those two situations.

       * If it is set the file size was changed and a full sync is necessary.
       * If it is not set then only the timestamps were updated and
         fdatasync() can go ahead.

      There is already a similar flag I_DIRTY_DATASYNC on the VFS layer with
      the exact same semantics.  Unfortunately it cannot be used directly,
      because NILFS2 doesn't implement write_inode() and doesn't clear the VFS
      flags when inodes are written out.  So the VFS writeback thread can
      clear I_DIRTY_DATASYNC at any time without notifying NILFS2.  So
      I_DIRTY_DATASYNC has to be mapped onto NILFS_I_INODE_SYNC in
      nilfs_update_inode().

      Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx>
      Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e2c7617ae36b27f97643bfa08aabe27e630c1a76
  Author: Andreas Rohner <andreas.rohner@xxxxxxx>
  Date:   Mon Oct 13 15:53:20 2014 -0700

      nilfs2: add missing blkdev_issue_flush() to nilfs_sync_fs()

      Under normal circumstances nilfs_sync_fs() writes out the super block,
      which causes a flush of the underlying block device.  But this depends
      on the THE_NILFS_SB_DIRTY flag, which is only set if the pointer to the
      last segment crosses a segment boundary.  So if only a small amount of
      data is written before the call to nilfs_sync_fs(), no flush of the
      block device occurs.

      In the above case an additional call to blkdev_issue_flush() is needed.
      To prevent unnecessary overhead, the new flag nilfs->ns_flushed_device
      is introduced, which is cleared whenever new logs are written and set
      whenever the block device is flushed.  For convenience the function
      nilfs_flush_device() is added, which contains the above logic.

      Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx>
      Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0f2a84f41aff6cefd1bc768738159d0cacea2f2d
  Author: Himangi Saraogi <himangi774@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:18 2014 -0700

      fs/befs/btree.c: remove typedef befs_btree_node

      The Linux kernel coding style guidelines suggest not using typedefs for
      structure types.  This patch gets rid of the typedef for befs_btree_node.

      The following Coccinelle semantic patch detects the case.

      @tn1@
      type td;
      @@

      typedef struct { ... } td;

      @script:python tf@
      td << tn1.td;
      tdres;
      @@

      coccinelle.tdres = td;

      @@
      type tn1.td;
      identifier tf.tdres;
      @@

      -typedef
       struct
      +  tdres
         { ... }
      -td
       ;

      @@
      type tn1.td;
      identifier tf.tdres;
      @@

      -td
      + struct tdres

      Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx>
      Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a882b14fe84951e236cd074e93575adc8a4be32e
  Author: Daniel Glöckner <daniel-gl@xxxxxxx>
  Date:   Mon Oct 13 15:53:16 2014 -0700

      rtc-cmos: fix wakeup from S5 without CONFIG_PM_SLEEP

      Commit b5ada4600dfd ("drivers/rtc/rtc-cmos.c: fix compilation warning
      when !CONFIG_PM_SLEEP") broke wakeup from S5 by making cmos_poweroff a
      nop unless CONFIG_PM_SLEEP was defined.

      Fix this by restricting the #ifdef to cmos_resume and restoring the old
      dependency on CONFIG_PM for cmos_suspend and cmos_poweroff.

      Signed-off-by: Daniel Glöckner <daniel-gl@xxxxxxx>
      Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 706b632d042c87a288f8b9adc8b6c83207e6d452
  Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
  Date:   Mon Oct 13 15:53:14 2014 -0700

      drivers/rtc/Kconfig: Let several drivers depend on HAS_IOMEM to avoid 
compiling issue

      Some drivers need 'devm_ioremap_resource' or 'devm_ioremap' which need
      HAS_IOMEM, so let them depend on it.

      The related error (with allmodconfig under score):

          MODPOST 1365 modules
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-xgene.ko] undefined!
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-stk17ta8.ko] undefined!
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1742.ko] undefined!
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1553.ko] undefined!
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1511.ko] undefined!
        ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1286.ko] undefined!
        ERROR: "devm_ioremap" [drivers/rtc/rtc-rp5c01.ko] undefined!
        ERROR: "devm_ioremap" [drivers/rtc/rtc-msm6242.ko] undefined!
        ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t59.ko] undefined!
        ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t35.ko] undefined!
        ERROR: "devm_ioremap" [drivers/rtc/rtc-bq4802.ko] undefined!

      Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b513e522cb8bda32560fb6b7f0475aa56e486ab9
  Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:53:12 2014 -0700

      drivers/rtc/rtc-rs5c372.c: use %*ph to dump small buffers

      Instead of pushing each byte let's reduce stack usage by using %*ph 
specifier.

      Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3ff38237f183ecd8a190318e0046138b92ee5e35
  Author: Arnd Bergmann <arnd@xxxxxxxx>
  Date:   Mon Oct 13 15:53:10 2014 -0700

      drivers/rtc/rtc-pcf8563.c: fix pcf8563_irq() error return value

      As pointed out by Sergei Shtylyov, the pcf8563_irq function contains a
      bug in the error handling: an interrupt handler is not supposed to
      return an errno value but an 'enum irqreturn'.

      Let's fix this by returning IRQ_NONE in case of a communication error.

      Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e698a51239f26c370247d759da9ea016f5841fc3
  Author: Arnd Bergmann <arnd@xxxxxxxx>
  Date:   Mon Oct 13 15:53:07 2014 -0700

      drivers/rtc/rtc-pcf8563.c: fix uninitialized use warning

      gcc-4.9 found a potential condition under which the 'pending' variable
      may be used uninitialized:

        drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_irq':
        drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used 
uninitialized in this function [-Wmaybe-uninitialized]

      This is because in the pcf8563_get_alarm_mode() function, we check any
      nonzero return of pcf8563_read_block_data, but in the irq function we
      only check for negative values, so a possible positive value does not
      get detected if the compiler chooses not to inline the entire call
      chain.

      Checking for any non-zero value in the interrupt handler as well is just
      as correct and lets the compiler know what we are doing, without needing
      a bogus initialization.

      Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a4d4121ba753737c89e42a8df22e4859069fcf25
  Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:53:05 2014 -0700

      rtc: add driver for Maxim 77802 PMIC Real-Time-Clock

      The MAX7802 PMIC has a Real-Time-Clock (RTC) with two alarms.  This
      patch adds support for the RTC and is based on a driver added by Simon
      Glass to the Chrome OS kernel 3.8 tree.

      [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use]
      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Simon Glass <sjg@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a20cd88e20e59ce11ebca84fac769654193c51e0
  Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:53:03 2014 -0700

      rtc: max77686: Use ffs() to calculate tm_wday

      max77686_rtc_calculate_wday() is used to calculate the day of the week
      to be filled in struct rtc_time but that function only calculates the
      number of bits shifted.  So the ffs() function can be used to find the
      first bit set instead of a special function.

      [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use]
      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ea33c31b621e296356ab74ea0237ba7761f2287e
  Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:53:01 2014 -0700

      rtc: max77686: remove unneeded info log

      If devm_rtc_device_register() fails a dev_err() is already reported so
      there is no need to do an additional dev_info().

      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
      Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1745d6d3bc181800ba2e0930ab15432b3e2755ff
  Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:59 2014 -0700

      rtc: max77686: fail to probe if no RTC regmap irqchip is set

      The max77686 mfd driver adds a regmap IRQ chip which creates an IRQ
      domain that is used to map the virtual RTC alarm1 interrupt.

      The RTC driver assumes that this will always be true since the PMIC IRQ
      is a required property according to the max77686 DT binding doc.  If an
      "interrupts" property is not defined for a max77686 PMIC, then the mfd
      probe function will fail and the RTC platform driver will never be
      probed.

      But even when it is not possible to probe the rtc-max77686 driver
      without a regmap IRQ chip, it's better to explicitly check if the IRQ
      chip data is not NULL and gracefully fail instead of getting an OOPS.

      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6b50fac5ddb9748487aab3c5f8d323da01a6648f
  Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:57 2014 -0700

      rtc: max77686: remove dead code for SMPL and WTSR

      The MAX77686 RTC chip has two features called SMPL (Sudden Momentary
      Power Loss) and WTSR (Watchdog Timeout and Software Resets).  Support
      for these features seems to be implemented in the driver but compilation
      is disabled using a C pre-processor conditional.

      This code has been disabled since the driver was original merged in
      commit fca1dd031a28 ("rtc: max77686: add Maxim 77686 driver").

      So, since this code has never been built, let's just remove it.

      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e7f7fc73693e0a9de693f261d63aa681f7979c33
  Author: Doug Anderson <dianders@xxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:55 2014 -0700

      rtc: max77686: Allow the max77686 rtc to wakeup the system

      This series add support for the Real Time clock present in the Maxim 77802
      Power Managment IC.  The version number is quite high because it
      previously was part of a bigger series [0] that aimed to add support for
      all the devices in the max77802 PMIC.  But now that the max77802
      dependencies were already merged for 3.17, the series were split but I
      kept the version numbering.

      While working on the max77802 rtc support a lot of feedback was given and
      the issues pointed out also apply to a driver for a similar PMIC RTC
      (max77686).  So patches 01/06 to 05/06 in the series are cleanups for the
      max77686 driver and patch 06/06 adds the support for the max77802 RTC.

      The series were tested on an Exynos5250 Snow (max77686) and
      Exynos5420 Peach Pit (max77802) machines.

      This patch (of 6):

      The max77686 includes an RTC that keeps power during suspend.  It's
      convenient to be able to use it as a wakeup source.

      Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx>
      Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d5fae669a99d00dc9362da354f2b9fdfbeb669a7
  Author: Pavel Machek <pavel@xxxxxx>
  Date:   Mon Oct 13 15:52:52 2014 -0700

      rtc: bq32000: add trickle charger device tree binding

      BQ32000 have "trickle chargers".  Introduce a device tree binding for
      specifying the trickle charger configuration for that.

      Signed-off-by: Pavel Machek <pavel@xxxxxxx>
      Reviewed-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
      Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx>
      Cc: Rob Herring <robh+dt@xxxxxxxxxx>
      Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 765a98a6b9e71702fd8e3822b654f9041a206b47
  Author: Pavel Machek <pavel@xxxxxx>
  Date:   Mon Oct 13 15:52:50 2014 -0700

      rtc: bq32000: add trickle charger option, with device tree binding

      BQ32000 devices have "trickle chargers".  Introduce a code to enable the
      charger, based on device tree.

      Without charger, RTC does not keep time after power off.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Pavel Machek <pavel@xxxxxxx>
      Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
      Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx>
      Cc: Rob Herring <robh+dt@xxxxxxxxxx>
      Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 33b04b7b7c03d04584be3f91ebc1eb40eb1ed33c
  Author: Matti Vaittinen <matti.vaittinen@xxxxxxx>
  Date:   Mon Oct 13 15:52:48 2014 -0700

      rtc: ds1307: add trickle charger device tree binding

      Some DS13XX devices have "trickle chargers".  Introduce a device tree
      binding for specifying the trickle charger configuration for ds1339.

      Only ds1339 dt binding is supported because this is the only chip I have.
      I _assume_ the code would have worked on other allready supported chips.
      However I cannot check the resistor values for the other chips or test
      them.  For other chips the driver code works as earlier Eg.  it does not
      check the dt bindings at all

      Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx>
      Cc: Rob Herring <robh+dt@xxxxxxxxxx>
      Cc: Pawel Moll <pawel.moll@xxxxxxx>
      Cc: Jason Cooper <jason@xxxxxxxxxxxxxx>
      Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Pavel Machek <pavel@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2ac848c018615bf3605faa711207518292d4bfef
  Author: Matti Vaittinen <matti.vaittinen@xxxxxxx>
  Date:   Mon Oct 13 15:52:46 2014 -0700

      Documentation: dt-bindings: trickle charger dt binding document for ds1339

      Some DS13XX devices have "trickle chargers".  Introduce a device tree
      binding for the resistor and diode configuration for enabling trickle
      charger.

      Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx>
      Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
      Cc: Rob Herring <robh+dt@xxxxxxxxxx>
      Cc: Pawel Moll <pawel.moll@xxxxxxx>
      Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Pavel Machek <pavel@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 038b892aa925cd0530472284c7b4b3f32e2b1f56
  Author: Chris Zhong <zyw@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:44 2014 -0700

      clk: RK808: add clkout driver for RK808

      This is the initial version of the RK808 PMIC.  This is a power management
      IC for multimedia products.  It provides regulators that are able to
      supply power to processor cores and other components.  The chip provides
      other modules including RTC, Clockout.

      Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
      Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx>
      Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx>
      Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
      Cc: Pawel Moll <pawel.moll@xxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
      Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says:
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx>
      Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx>
      Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3ca1e326f5952f3acca320b8a91d92393a188c15
  Author: Chris Zhong <zyw@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:42 2014 -0700

      RTC: RK808: add RTC driver for RK808

      This is the initial version of the RK808 PMIC.  This is a power management
      IC for multimedia products.  It provides regulators that are able to
      supply power to processor cores and other components.  The chip provides
      other modules including RTC, Clockout.

      Add RTC driver for supporting RTC device present inside RK808 PMIC.

      [akpm@xxxxxxxxxxxxxxxxxxxx: make tm_def static]
      Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
      Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx>
      Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
      Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx>
      Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx>
      Cc: Pawel Moll <pawel.moll@xxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>
      Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says:
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx>
      Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx>
      Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a28885bc75da0aac61b975eb9c103407dbdf5cb5
  Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:39 2014 -0700

      rtc: make of_device_ids const

      of_device_ids (i.e. compatible strings and the respective data) are not
      supposed to change at runtime.  All functions working with of_device_ids
      provided by <linux/of.h> work with const of_device_ids.  This allows to
      mark all struct of_device_id below drivers/rtc const, too.

      Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 78230477656295808c66226880d794818694e7f1
  Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:37 2014 -0700

      ARM: dts: fix wrong compatible string of Exynos3250 RTC dt node

      Fix wrong compatible string of Exynos3250 RTC (Real-Time Clock) dt node.
      The RTC of Exynos3250 must need additional source clock (XrtcXTI).

      Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit df9e26d093d33a097c5558aab017dd2f540ccfe5
  Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:35 2014 -0700

      rtc: s3c: add support for RTC of Exynos3250 SoC

      Add support for RTC of Exynos3250 SoC.  The Exynos3250 needs source
      clock(32.768KHz) for RTC block.  If source clock of RTC is registerd on
      clock list of common clk framework, Exynos RTC drvier have to control
      this clock.

      Clock list for s3c-rtc device:
      - rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC.
      - rtc_src : XrtcXTI is 32.768.kHz source clock for RTC.
       (XRTCXTI: Specifies a clock from 32.768 kHz crystal pad with XRTCXTI and
       XRTCXTO pins. RTC uses this clock as the source of a real-time clock.)

      Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ae05c95074e0ead8a8fda4aca066e10270086e3f
  Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:33 2014 -0700

      rtc: s3c: add s3c_rtc_data structure to use variant data instead of 
s3c_cpu_type

      Add s3c_rtc_data structure to variant data according to SoC type.  The
      s3c_rtc_data structure includes some functions to control RTC operation
      and specific data dependent on SoC type.

      Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d67288da51b782f54dd3ae1455b997131160fd41
  Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:31 2014 -0700

      rtc: s3c: remove warning message when checking coding style with 
checkpatch script

      Remove warning message when checking codeing style with checkpatch script
      and reduce un-necessary i2c read operation on s3c_rtc_enable.

          WARNING: line over 80 characters
          #406: FILE: drivers/rtc/rtc-s3c.c:406:
          +             if ((readw(info->base + S3C2410_RTCCON) & 
S3C2410_RTCCON_RTCEN) == 0) {

          WARNING: line over 80 characters
          #414: FILE: drivers/rtc/rtc-s3c.c:414:
          +             if ((readw(info->base + S3C2410_RTCCON) & 
S3C2410_RTCCON_CNTSEL)) {

          WARNING: line over 80 characters
          #422: FILE: drivers/rtc/rtc-s3c.c:422:
          +             if ((readw(info->base + S3C2410_RTCCON) & 
S3C2410_RTCCON_CLKRST)) {

          WARNING: Missing a blank line after declarations
          #451: FILE: drivers/rtc/rtc-s3c.c:451:
          +     struct s3c_rtc_drv_data *data;
          +     if (pdev->dev.of_node) {

          WARNING: Missing a blank line after declarations
          #453: FILE: drivers/rtc/rtc-s3c.c:453:
          +             const struct of_device_id *match;
          +             match = of_match_node(s3c_rtc_dt_match, 
pdev->dev.of_node);

          WARNING: DT compatible string "samsung,s3c2416-rtc" appears 
un-documented -- check ./Documentation/devicetree/bindings/
          #650: FILE: drivers/rtc/rtc-s3c.c:650:
          +             .compatible = "samsung,s3c2416-rtc",

          WARNING: DT compatible string "samsung,s3c2443-rtc" appears 
un-documented -- check ./Documentation/devicetree/bindings/
          #653: FILE: drivers/rtc/rtc-s3c.c:653:
          +             .compatible = "samsung,s3c2443-rtc",

      Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 19be09f51d36101e4dc1577eb73ff8397bedd0a3
  Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:28 2014 -0700

      rtc: s3c: define s3c_rtc structure to remove global variables.

      Define s3c_rtc structure including necessary variables for S3C RTC device
      instead of global variables.  This patch improves the readability by
      removing global variables.

      Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
      Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
      Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 473b86451276d6d342ecd26d5e503163c30ea974
  Author: Julia Lawall <Julia.Lawall@xxxxxxx>
  Date:   Mon Oct 13 15:52:26 2014 -0700

      rtc: use c99 initializers in structures

      Use c99 initializers for structures.

      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)

      // <smpl>
      @decl@
      identifier i1,fld;
      type T;
      field list[n] fs;
      @@

      struct i1 {
       fs
       T fld;
       ...};

      @bad@
      identifier decl.i1,i2;
      expression e;
      initializer list[decl.n] is;
      @@

      struct i1 i2 = { is,
      + .fld = e
      - e
       ,...};
      // </smpl>

      Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 87d672cbd512c8dca01423381c94ac3658db0a18
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:24 2014 -0700

      autofs: the documentation I wanted to read

      This documents autofs from the perspective of what the module actually
      supports rather than how automount is expected to use it.

      It is formatted using "markdown" and works best with Markdown.pl
      (markdown_py doesn't like some constructs).

      [rdunlap@xxxxxxxxxxxxx: copy editing]
      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Acked-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ef16cc5909c907586f4eba5455e183fd319637c8
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:22 2014 -0700

      autofs4: d_manage() should return -EISDIR when appropriate in rcu-walk 
mode.

      If rcu-walk mode we don't *have* to return -EISDIR for non-mount-traps
      as we will simply drop into REF-walk and handling DCACHE_NEED_AUTOMOUNT
      dentrys the slow way.  But it is better if we do when possible.

      In 'oz_mode', use the same condition as ref-walk: if not a mountpoint,
      then it must be -EISDIR.

      In regular mode there are most tests needed.  Most of them can be
      performed without taking any spinlocks.  If we find a directory that
      isn't obviously empty, and isn't mounted on, we need to call
      'simple_empty()' which does take a spinlock.  If this turned out to hurt
      performance, some other approach could be found to signal when a
      directory is known to be empty.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
      Tested-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4d885f90e3784df77945101d8ec32dc798a49862
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:20 2014 -0700

      autofs4: avoid taking fs_lock during rcu-walk

      ->fs_lock protects AUTOFS_INF_EXPIRING.  We need to be sure that once
      the flag is set, no new references beneath the dentry are taken.  So
      rcu-walk currently needs to take fs_lock before checking the flag.  This
      hurts performance.

      Change the expiry to a two-stage process.  First set AUTOFS_INF_NO_RCU
      which forces any path walk into ref-walk mode, then drop the lock and
      call synchronize_rcu().  Once that returns we can be sure no rcu-walk is
      active beneath the dentry and we can check reference counts again.

      Now during an RCU-walk we can test AUTOFS_INF_EXPIRING without taking
      the lock as along as we test AUTOFS_INF_NO_RCU too.  If either are set,
      we must abort the RCU-walk If neither are set, we know that refcounts
      will be tested again after we finish the RCU-walk so we are safe to
      continue.

      ->fs_lock is still taken in d_manage() to check for a non-trap
      directory.  That will be resolved in the next patch.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
      Tested-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6ece08e6187a62dd5bdf7c49539980571922c551
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:18 2014 -0700

      autofs4: make "autofs4_can_expire" idempotent.

      Have a "test" function change the value it is testing can be confusing,
      particularly as a future patch will be calling this function twice.

      So move the update for 'last_used' to avoid repeat expiry to the place
      where the final determination on what to expire is known.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
      Tested-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a5d1dba1430f059d5bb4bf1d95274ff01ccad3d9
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:16 2014 -0700

      autofs4: factor should_expire() out of autofs4_expire_indirect.

      Future patch will potentially call this twice, so make it separate.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
      Tested-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 23bfc2a24ea3d993cc5cc90c9970654e7232502e
  Author: NeilBrown <neilb@xxxxxxx>
  Date:   Mon Oct 13 15:52:14 2014 -0700

      autofs4: allow RCU-walk to walk through autofs4

      This series teaches autofs about RCU-walk so that we don't drop straight
      into REF-walk when we hit an autofs directory, and so that we avoid
      spinlocks as much as possible when performing an RCU-walk.

      This is needed so that the benefits of the recent NFS support for
      RCU-walk are fully available when NFS filesystems are automounted.

      Patches have been carefully reviewed and tested both with test suites
      and in production - thanks a lot to Ian Kent for his support there.

      This patch (of 6):

      Any attempt to look up a pathname that passes though an autofs4 mount is
      currently forced out of RCU-walk into REF-walk.

      This can significantly hurt performance of many-thread work loads on
      many-core systems, especially if the automounted filesystem supports
      RCU-walk but doesn't get to benefit from it.

      So if autofs4_d_manage is called with rcu_walk set, only fail with -ECHILD
      if it is necessary to wait longer than a spinlock.

      Signed-off-by: NeilBrown <neilb@xxxxxxx>
      Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
      Tested-by: Ian Kent <raven@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8a273345dcb1d74d12f28a0a76320b23e7e32f55
  Author: Fabian Frederick <fabf@xxxxxxxxx>
  Date:   Mon Oct 13 15:52:12 2014 -0700

      fs/ncpfs/dir.c: remove redundant sys_tz declaration

      sys_tz is already declared in include/linux/time.h

      Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
      Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0049f26ae0ad00016d8e237a6d712bff155cedc5
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:10 2014 -0700

      kernel/kallsyms.c: use __seq_open_private()

      Reduce boilerplate code by using __seq_open_private() instead of
      seq_open() in kallsyms_open().

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Cc: Gideon Israel Dsouza <gidisrael@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit de8288b1f87146da06f6912028a1a9615a75c987
  Author: Arnd Bergmann <arnd@xxxxxxxx>
  Date:   Mon Oct 13 15:52:08 2014 -0700

      binfmt_misc: work around gcc-4.9 warning

      gcc-4.9 on ARM gives us a mysterious warning about the binfmt_misc
      parse_command function:

        fs/binfmt_misc.c: In function 'parse_command.part.3':
        fs/binfmt_misc.c:405:7: warning: array subscript is above array bounds 
[-Warray-bounds]

      I've managed to trace this back to the ARM implementation of memset,
      which is called from copy_from_user in case of a fault and which does

       #define memset(p,v,n)                                                  \
              ({                                                              \
                      void *__p = (p); size_t __n = n;                        \
                      if ((__n) != 0) {                                       \
                              if (__builtin_constant_p((v)) && (v) == 0)      \
                                      __memzero((__p),(__n));                 \
                              else                                            \
                                      memset((__p),(v),(__n));                \
                      }                                                       \
                      (__p);                                                  \
              })

      Apparently gcc gets confused by the check for "size != 0" and believes
      that the size might be zero when it gets to the line that does "if
      (s[count-1] == '\n')", so it would access data outside of the array.

      gcc is clearly wrong here, since this condition was already checked
      earlier in the function and the 'size' value can not change in the
      meantime.

      Fortunately, we can work around it and get rid of the warning by
      rearranging the function to check for zero size after doing the
      copy_from_user.  It is still safe to pass a zero size into
      copy_from_user, so it does not cause any side effects.

      Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 43bd40e5b6eab989a2186b09d45b8ff8efd127b2
  Author: Mike Frysinger <vapier@xxxxxxxxxx>
  Date:   Mon Oct 13 15:52:05 2014 -0700

      binfmt_misc: touch up documentation a bit

      Line wrap the content to 80 cols, and add more details to various fields
      to match the code.  Drop reference to a website that does not exist
      anymore.

      Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
      Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bbaecc088245e840e59a5abe23d69cf7748b3c88
  Author: Mike Frysinger <vapier@xxxxxxxxxx>
  Date:   Mon Oct 13 15:52:03 2014 -0700

      binfmt_misc: expand the register format limit to 1920 bytes

      The current code places a 256 byte limit on the registration format.
      This ends up being fairly limited when you try to do matching against a
      binary format like ELF:

       - the magic & mask formats cannot have any embedded NUL chars
         (string_unescape_inplace halts at the first NUL)
       - each escape sequence quadruples the size: \x00 is needed for NUL
       - trying to match bytes at the start of the file as well as further
         on leads to a lot of \x00 sequences in the mask
       - magic & mask have to be the same length (when decoded)
       - still need bytes for the other fields
       - impossible!

      Let's look at a concrete (and common) example: using QEMU to run MIPS
      ELFs.  The name field uses 11 bytes "qemu-mipsel".  The interp uses 20
      bytes "/usr/bin/qemu-mipsel".  The type & flags takes up 4 bytes.  We
      need 7 bytes for the delimiter (usually ":").  We can skip offset.  So
      already we're down to 107 bytes to use with the magic/mask instead of
      the real limit of 128 (BINPRM_BUF_SIZE).  If people use shell code to
      register (which they do the majority of the time), they're down to ~26
      possible bytes since the escape sequence must be \x##.

      The ELF format looks like (both 32 & 64 bit):

        e_ident: 16 bytes
        e_type: 2 bytes
        e_machine: 2 bytes

      Those 20 bytes are enough for most architectures because they have so few
      formats in the first place, thus they can be uniquely identified.  That
      also means for shell users, since 20 is smaller than 26, they can sanely
      register a handler.

      But for some targets (like MIPS), we need to poke further.  The ELF fields
      continue on:

        e_entry: 4 or 8 bytes
        e_phoff: 4 or 8 bytes
        e_shoff: 4 or 8 bytes
        e_flags: 4 bytes

      We only care about e_flags here as that includes the bits to identify
      whether the ELF is O32/N32/N64.  But now we have to consume another 16
      bytes (for 32 bit ELFs) or 28 bytes (for 64 bit ELFs) just to match the
      flags.  If every byte is escaped, we send 288 more bytes to the kernel
      ((20 {e_ident,e_type,e_machine} + 12 {e_entry,e_phoff,e_shoff} + 4
      {e_flags}) * 2 {mask,magic} * 4 {escape}) and we've clearly blown our
      budget.

      Even if we try to be clever and do the decoding ourselves (rather than
      relying on the kernel to process \x##), we still can't hit the mark --
      string_unescape_inplace treats mask & magic as C strings so NUL cannot
      be embedded.  That leaves us with having to pass \x00 for the 12/24
      entry/phoff/shoff bytes (as those will be completely random addresses),
      and that is a minimum requirement of 48/96 bytes for the mask alone.
      Add up the rest and we blow through it (this is for 64 bit ELFs):
      magic: 20 {e_ident,e_type,e_machine} + 24 {e_entry,e_phoff,e_shoff} +
             4 {e_flags} = 48              # ^^ See note below.
      mask: 20 {e_ident,e_type,e_machine} + 96 {e_entry,e_phoff,e_shoff} +
             4 {e_flags} = 120
      Remember above we had 107 left over, and now we're at 168.  This is of
      course the *best* case scenario -- you'll also want to have NUL bytes
      in the magic & mask too to match literal zeros.

      Note: the reason we can use 24 in the magic is that we can work off of the
      fact that for bytes the mask would clobber, we can stuff any value into
      magic that we want.  So when mask is \x00, we don't need the magic to also
      be \x00, it can be an unescaped raw byte like '!'.  This lets us handle
      more formats (barely) under the current 256 limit, but that's a pretty
      tall hoop to force people to jump through.

      With all that said, let's bump the limit from 256 bytes to 1920.  This way
      we support escaping every byte of the mask & magic field (which is 1024
      bytes by themselves -- 128 * 4 * 2), and we leave plenty of room for other
      fields.  Like long paths to the interpreter (when you have source in your
      /really/long/homedir/qemu/foo).  Since the current code stuffs more than
      one structure into the same buffer, we leave a bit of space to easily
      round up to 2k.  1920 is just as arbitrary as 256 ;).

      Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
      Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f78d98f6ce66fc7cc0be714d56b0240923a8b4f4
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:52:01 2014 -0700

      checkpatch: warn on logging functions with KERN_<LEVEL>

      Warn on probable misuses of logging functions with KERN_<LEVEL>
      like pr_err(KERN_ERR "foo\n");

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 840080a08492bd2bb3314077b672b59c88bbe0e6
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:59 2014 -0700

      checkpatch: add exception to return then else test

      Add an exception to the return before else warning when the line
      following it is also a return like:

        if (foo)
                return bar;
        else
                return baz;

      This form of a test then return is at least as readable as

        if (foo)
                return bar;
        return baz;

      so don't emit a warning on the first form.

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Elshad Mustafayev <elshadimo@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 66b47b4a9dad00e45c049d79966de9a3a1f4d337
  Author: Kees Cook <keescook@xxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:57 2014 -0700

      checkpatch: look for common misspellings

      Check for misspellings, based on Debian's lintian list.  Several false
      positives were removed, and several additional words added that were
      common in the kernel:

        backword backwords
        invalide valide
        recieves
        singed unsinged

      While going back and fixing existing spelling mistakes isn't a high
      priority, it'd be nice to try to catch them before they hit the tree.

      In the 13830 commits between 3.15 and 3.16, the script would have noticed
      560 spelling mistakes. The top 25 are shown here:

      $ git log --pretty=oneline v3.15..v3.16 | wc -l
      13830
      $ git log --format='%H' v3.15..v3.16 | \
         while read commit ; do \
           echo "commit $commit" ; \
           git log --format=email --stat -p -1 $commit | \
             ./scripts/checkpatch.pl --types=typo_spelling --no-summary - ; \
         done | tee spell_v3.15..v3.16.txt | grep "may be misspelled" | \
         awk '{print $2}' | tr A-Z a-z | sort | uniq -c | sort -rn
           21 'seperate'
           17 'endianess'
           15 'sucess'
           13 'noticable'
           11 'occured'
           11 'accomodate'
           10 'interrup'
            9 'prefered'
            8 'unecessary'
            8 'explicitely'
            7 'supress'
            7 'overriden'
            7 'immediatly'
            7 'funtion'
            7 'defult'
            7 'childs'
            6 'succesful'
            6 'splitted'
            6 'specifc'
            6 'reseting'
            6 'recieve'
            6 'changable'
            5 'tmis'
            5 'singed'
            5 'preceeding'

      Thanks to Joe Perches for rewrites, suggestions, additional misspelling
      entries, and testing.

      Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
      Acked-by: Joe Perches <joe@xxxxxxxxxxx>
      Cc: Masanari Iida <standby24x7@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 08a2843e77fc581d204c1e83de4678b746cdbd6e
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:55 2014 -0700

      checkpatch: warn on macros with flow control statements

      Macros with flow control statements (goto and return) are not very nice to
      read as any flow movement is unexpected.

      Try to highlight them and emit a warning on their definition.

      Avoid warning on macros that use argument concatenation as those macros
      commonly create another function where the concatenation is used in the
      function name definition like:

        #define FOO_FUNC(name, rtn_type)        \
        rtn_type func##name(arg1, ...)          \
        {                                       \
                rtn_type rtn;                   \
                [code...]                       \
                return rtn;                     \
        }

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d2207ccbc59900311c88bb9150b24253cd4ddd49
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:53 2014 -0700

      checkpatch: remove unnecessary + after {8,8}

      There's a useless "+" use that needs to be removed as perl 5.20 emits a
      "Useless use of greediness modifier '+'" message each time it's hit.

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Reported-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f17dba4fc0496eb0daf018074fccebdc85993c75
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:51 2014 -0700

      checkpatch: add --strict test for concatenated string elements

      Using a space between concatenated string elements is easier for a human
      to read.

      ie:
        "String"FOO"bar"

      is easier to read as:

        "String" FOO "bar"

      So suggest this style with a --strict command line option.

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 56193274ef54265afc93fd282655836595fcff9d
  Author: Vadim Bendebury <vbendeb@xxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:48 2014 -0700

      checkpatch: allow optional shorter config descriptions

      This script is used by many other projects, and in some of them the
      requirement of at least 4 line long description for all Kconfig items is
      excessive.  This patch adds a command line option to control the required
      minimum length.

      Tested running this script over a patch including a two line config
      description.  The script generated a warning when invoked as is, and did
      not generate it when invoked with --min-conf-desc-length=2.

      Signed-off-by: Vadim Bendebury <vbendeb@xxxxxxxxxxxx>
      Acked-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit de4c924c265049e576036d1ee6fc9dfefeb5ae87
  Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
  Date:   Mon Oct 13 15:51:46 2014 -0700

      checkpatch: enable whitespace checks for DTS files

      When run on *.dtsi or *.dts files, the whitespace checks were skipped,
      while they are valid for DTS files.  Hence stop skipping them.

      I ran checkpatch on all in-tree DTS files, and didn't notice any error or
      warning messages that are inappropriate for DTS files.

      Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
      Acked-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cdcee686ee9047185b7a484614f6c2faa5c4a7bb
  Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx>
  Date:   Mon Oct 13 15:51:44 2014 -0700

      checkpatch: update $allowed_asm_includes macros, add reboot.h and time.h

      Several architectures (e.g.  x86, MIPS, Blackfin) have asm/reboot.h and
      asm/time.h header files, which are not included in linux/reboot.h and
      linux/time.h headers.  This lead to generation of false positive errors.

      Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx>
      Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx>
      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 72c231cb70eddb56e7e532f64dc22301044486dc
  Author: Joe Perches <joe@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:42 2014 -0700

      checkpatch: remove debugging message

      An unnecessary --fix debugging left-over is removed.

      Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 388982b55e3290d4970e4c2951f3f6348fd0c54b
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:40 2014 -0700

      checkpatch: fix spello

      The plural of parenthesis is parentheses.

      Cc: Joe Perches <joe@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8a6f0b47dad5f8653f2f6ca6360f9f97b8113571
  Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
  Date:   Mon Oct 13 15:51:38 2014 -0700

      lib: rename TEST_MODULE to TEST_LKM

      The "_MODULE" suffix is reserved for tristates compiled as loadable kernel
      modules (LKM).  The "TEST_MODULE" feature thereby violates this
      convention.  The feature is used to compile the lib/test_module.c kernel
      module.

      Sadly this convention is not made explicit, but the Kconfig code documents
      it.  The following code (./scripts/kconfig/confdata.c) is used to generate
      the autoconf.h header file during the build process.  When a feature is
      selected as a kernel module ('m'), it is suffixed with "_MODULE" to
      indicate it.

        switch (*value) {
        case 'n':
                break;
        case 'm':
                suffix = "_MODULE";
                /* fall through */

      This causes problems for static code analysis, which assumes a consistent
      use of the "_MODULE" suffix.

      This patch renames the feature and its reference in a Makefile to
      "TEST_LKM", which still expresses the test of a LKM.

      Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx>
      Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6de8ab68bc30da75116209d818c75497bdaed09d
  Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:36 2014 -0700

      lib: remove prio_heap

      The prio_heap code is unused since commit 889ed9ceaa97 ("cgroup: remove
      css_scan_tasks()").  It should be compiled out to shrink the binary
      kernel size which can be done via introducing CONFIG_PRIO_HEAD or by
      removing the code.

      We can simply recover the code from git when needed, so it would be
      better to remove it IMO.

      Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
      Acked-by: Tejun Heo <tj@xxxxxxxxxx>
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: Francesco Fusco <ffusco@xxxxxxxxxx>
      Cc: Greg Thelen <gthelen@xxxxxxxxxx>
      Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
      Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Cc: George Spelvin <linux@xxxxxxxxxxx>
      Cc: Mark Salter <msalter@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit fec22908323dc56ce38b835f5a67cce30fc7b6fc
  Author: Raphael Silva <rapphil@xxxxxxxxx>
  Date:   Mon Oct 13 15:51:34 2014 -0700

      lib/textsearch.c: remove textsearch_put reference from comments

      There is no textsearch_put().  Remove it from the comments to avoid
      misunderstanding.  Textsearch prepare no longer needs textsearch_put().

      Signed-off-by: Raphael Silva <rapphil@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4bad78c550025346de3fc5820e366c7b525e1889
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:32 2014 -0700

      lib/dynamic_debug.c: use seq_open_private() instead of seq_open()

      Using seq_open_private() removes boilerplate code from ddebug_proc_open().

      The resultant code is shorter and easier to follow.

      This patch does not change any functionality.

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Acked-by: Jason Baron <jbaron@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8b21d9ca17ff8ed0dbf650f4162ee2d59bb5a881
  Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:30 2014 -0700

      list: include linux/kernel.h

      linux/list.h uses container_of, therefore it depends on linux/kernel.h.

      Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit af9f1b3c7fa953d3df82a4548d8984de40ac9017
  Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:28 2014 -0700

      MAINTAINERS: remove Chirag Kantharia, invalid e-mail

      This removes Chirag Kantharia from the MAINTAINERS file, as his e-mail
      address is now rejected by the HP mail server.

      Make the driver "Orphan" until he gets back with a working e-mail address
      or a new maintainer steps in.

      Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b4174867bee83e79dc155479cb1b67c452da6476
  Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:26 2014 -0700

      MAINTAINERS: orphan m32r

      Update the maintenance status for m32r

      - Removing Hirokazu Takata as maintainer
        (last commit merged: Nov. 2009)

      - Remove mailing lists that no longer exist,
        as the ml.linux-m32r.org subdomain no longer exists.

      - Maintenance status moved to "Orphan"

      Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
      Acked-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5cbac98ad146af2da00bdf004a36b684cb1dc632
  Author: Josh Wu <josh.wu@xxxxxxxxx>
  Date:   Mon Oct 13 15:51:24 2014 -0700

      MAINTAINERS: add atmel nand driver maintainer entry

      Add an entry in MAINTAINERS file for ATMEL nand driver.

      Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx>
      Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>
      Cc: Greg KH <greg@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 13b122b3e5843f6177d22bd9484ef58b3660e7da
  Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:21 2014 -0700

      MAINTAINERS: add entry for Kernel Selftest Framework

      Add entry for Kernel Selftest Framework.  Individual tests continue to be
      maintained by the maintainers for those areas.

      Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8ada6d2d3063148202caa43b9bf375e646a4efb3
  Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:19 2014 -0700

      MAINTAINERS: linaro-mm-sig is moderated

      Previous patch is awaiting moderator approval for posting to this mailing
      list.

      Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 004bbd3c01d4811d9bd88061d44773943c4df87b
  Author: Christian Kujau <lists@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:17 2014 -0700

      MAINTAINERS: remove non existent files

      Inspired by some recent cleanups in MAINTAINERS the following files (F:)
      cannot be found any more in the tree:

      * arch/arm/mach-s5pv210/mach-aquila.c
      * arch/arm/mach-s5pv210/mach-goni.c

        Those two got removed in commit 28c8331d386a ("ARM: S5PV210: Remove
        support for board files").

        Cc: Tomasz Figa <t.figa@xxxxxxxxxxx>
        Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>

      * drivers/rtc/rtc-sec.c

        A MAINTAINERS fix was attempted in November 2012, but dismissed as
        rtc-sec.c was still being worked on.  Alas, it's still not there.

        "MAINTAINERS: fix drivers/rtc/rtc-sec.c"
        http://lkml.iu.edu/hypermail/linux/kernel/1211.2/04820.html
        Cc: Sangbeom Kim <sbkim73@xxxxxxxxxxx>
        Cc: Cesar Eduardo Barros <cesarb@xxxxxxxxxxxxx>

      Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit fb9d4959d2fbe564720b9a00ed6dabeca0870811
  Author: Michal Simek <michal.simek@xxxxxxxxxx>
  Date:   Mon Oct 13 15:51:15 2014 -0700

      MAINTAINERS: assign systemace driver to Xilinx

      Assign systemace driver to Xilinx Zynq to ensure if there is a change that
      someone can even test it.

      Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 98e35f5894cf208084688ec0c7bb7b713efc997f
  Author: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:13 2014 -0700

      printk: git rid of [sched_delayed] message for printk_deferred

      Commit 458df9fd4815 ("printk: remove separate printk_sched buffers and use
      printk buf instead") hardcodes printk_deferred() to KERN_WARNING and
      inserts the string "[sched_delayed] " before the actual message.  However
      it doesn't take into account the KERN_* prefix of the message, that now
      ends up in the middle of the output:

       [sched_delayed] ^a4CE: hpet increased min_delta_ns to 20115 nsec

      Fix this by just getting rid of the "[sched_delayed] " scnprintf().  The
      prefix is useless since 458df9fd4815 anyway since from that moment
      printk_deferred() inserts the message into the kernel printk buffer
      immediately.  So if the message eventually gets printed to console, it is
      printed in the correct order with other messages and there's no need for
      any special prefix.  And if the kernel crashes before the message makes it
      to console, then prefix in the printk buffer doesn't make the situation
      any better.

      Link: http://lkml.org/lkml/2014/9/14/4

      Signed-off-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
      Acked-by: Jan Kara <jack@xxxxxxx>
      Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
      Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2240a31db67582468e2f7a5a5962b7d0ffaaa6a4
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:11 2014 -0700

      printk: don't bother using LOG_CPU_MAX_BUF_SHIFT on !SMP

      When configuring a uniprocessor kernel, don't bother the user with an
      irrelevant LOG_CPU_MAX_BUF_SHIFT question, and don't build the unused
      code.

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit de9e14eebf33a60712a52a0bc6e08c043c0aba53
  Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:09 2014 -0700

      drivers: dma-contiguous: add initialization from device tree

      Add a function to create CMA region from previously reserved memory and
      add support for handling 'shared-dma-pool' reserved-memory device tree
      nodes.

      Based on previous code provided by Josh Cartwright <joshc@xxxxxxxxxxxxxx>

      Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Grant Likely <grant.likely@xxxxxxxxxx>
      Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7bfa5ab6fa1b18f53fb94f922e107e6fbdc5e485
  Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:07 2014 -0700

      drivers: dma-coherent: add initialization from device tree

      Initialization procedure of dma coherent pool has been split into two
      parts, so memory pool can now be initialized without assigning to
      particular struct device.  Then initialized region can be assigned to more
      than one struct device.  To protect from concurent allocations from
      structure.  The last part of this patch adds support for handling
      'shared-dma-pool' reserved-memory device tree nodes.

      [akpm@xxxxxxxxxxxxxxxxxxxx: use more appropriate printk facility levels]
      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Grant Likely <grant.likely@xxxxxxxxxx>
      Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 71458cfc782eafe4b27656e078d379a34e472adf
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Mon Oct 13 15:51:05 2014 -0700

      kernel: add support for gcc 5

      We're missing include/linux/compiler-gcc5.h which is required now
      because gcc branched off to v5 in trunk.

      Just copy the relevant bits out of include/linux/compiler-gcc4.h,
      no new code is added as of now.

      This fixes a build error when using gcc 5.

      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 68faed630fc151a7a1c4853df00fb3dcacf782b4
  Author: Weijie Yang <weijie.yang@xxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:03 2014 -0700

      mm/cma: fix cma bitmap aligned mask computing

      The current cma bitmap aligned mask computation is incorrect.  It could
      cause an unexpected alignment when using cma_alloc() if the wanted align
      order is larger than cma->order_per_bit.

      Take kvm for example (PAGE_SHIFT = 12), kvm_cma->order_per_bit is set to
      6.  When kvm_alloc_rma() tries to alloc kvm_rma_pages, it will use 15 as
      the expected align value.  After using the current implementation however,
      we get 0 as cma bitmap aligned mask other than 511.

      This patch fixes the cma bitmap aligned mask calculation.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx>
      Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>      [3.17]
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 85c9f4b04a08f6bc770b77530c22d04103468b8f
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Mon Oct 13 15:51:01 2014 -0700

      mm/slab: fix unaligned access on sparc64

      Commit bf0dea23a9c0 ("mm/slab: use percpu allocator for cpu cache")
      changed the allocation method for cpu cache array from slab allocator to
      percpu allocator.  Alignment should be provided for aligned memory in
      percpu allocator case, but, that commit mistakenly set this alignment to
      0.  So, percpu allocator returns unaligned memory address.  It doesn't
      cause any problem on x86 which permits unaligned access, but, it causes
      the problem on sparc64 which needs strong guarantee of alignment.

      Following bug report is reported from David Miller.

        I'm getting tons of the following on sparc64:

        [603965.383447] Kernel unaligned access at TPC[546b58] 
free_block+0x98/0x1a0
        [603965.396987] Kernel unaligned access at TPC[546b60] 
free_block+0xa0/0x1a0
        ...
        [603970.554394] log_unaligned: 333 callbacks suppressed
        ...

      This patch provides a proper alignment parameter when allocating cpu
      cache to fix this unaligned memory access problem on sparc64.

      Reported-by: David Miller <davem@xxxxxxxxxxxxx>
      Tested-by: David Miller <davem@xxxxxxxxxxxxx>
      Tested-by: Meelis Roos <mroos@xxxxxxxx>
      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a86073e48ae85c9b50127facb0cc45bbd35972a1
  Author: Jens Axboe <axboe@xxxxxx>
  Date:   Mon Oct 13 15:41:54 2014 -0600

      blk-mq: allocate cpumask on the home node

      All other allocs are done on the specific node, somehow the
      cpumask for hw queue runs was missed. Fix that by using
      zalloc_cpumask_var_node() in blk_mq_init_queue().

      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit b65c7491cb865577e83e6b7fae2aa2f4ea457c38
  Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
  Date:   Mon Oct 13 14:07:27 2014 -0700

      bio-integrity: remove the needless fail handle of bip_slab creating

      bip_slab is created with SLAB_PANIC, so the fail handler is unneeded.

      Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit 5f786595a291092d20fafe10c5a30378971a8cc3
  Author: Himangi Saraogi <himangi774@xxxxxxxxx>
  Date:   Sat Jul 19 17:04:05 2014 +0530

      um: net: Eliminate NULL test after alloc_bootmem

      alloc_bootmem and related functions never return NULL. Thus a NULL
      test or memset after calls to these functions is unnecessary.

      The following Coccinelle semantic patch was used for making the change:

      @@
      expression E;
      statement S;
      @@

      E = 
\(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
      ... when != E
      - if (E == NULL) S

      Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx>
      Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
      Signed-off-by: Richard Weinberger <richard@xxxxxx>

  commit 970e51feaddbc33ed0e7d187af7f69d1a12c7b6a
  Author: Daniel Walter <dwalter@xxxxxxxxxx>
  Date:   Wed Aug 20 10:56:00 2014 +0100

      um: Add support for CONFIG_STACKTRACE

      Add stacktrace support for User Mode Linux

      Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx>
      Signed-off-by: Richard Weinberger <richard@xxxxxx>

  commit 2a2361228c5e6d8c1733f00653481de918598e50
  Author: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx>
  Date:   Sat Aug 23 15:47:38 2014 +0200

      um: ubd: Fix for processes stuck in D state forever

      Starting with Linux 3.12 processes get stuck in D state forever in
      UserModeLinux under sync heavy workloads. This bug was introduced by
      commit 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport).
      Fix bug by adding a check if FLUSH request was successfully submitted to
      the I/O thread and keeping the FLUSH request on the request queue on
      submission failures.

      Fixes: 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport)
      Signed-off-by: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx>
      Cc: stable@xxxxxxxxxx # >= 3.12
      Signed-off-by: Richard Weinberger <richard@xxxxxx>

  commit d5d962265d99088ce96480db3e61358d7170e24c
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Wed Sep 17 09:56:40 2014 +0100

      fs/fscache/object-list.c: use __seq_open_private()

      Reduce boilerplate code by using __seq_open_private() instead of 
seq_open()
      in fscache_objlist_open().

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
      Acked-by: Steve Dickson <steved@xxxxxxxxxx>

  commit a30efe261b5a8fb2e3cf8ea9c3aca51e0619c2cc
  Author: David Howells <dhowells@xxxxxxxxxx>
  Date:   Tue Sep 30 14:50:30 2014 +0100

      CacheFiles: Fix incorrect test for in-memory object collision

      When CacheFiles cache objects are in use, they have in-memory 
representations,
      as defined by the cachefiles_object struct.  These are kept in a tree 
rooted in
      the cache and indexed by dentry pointer (since there's a unique mapping 
between
      object index key and dentry).

      Collisions can occur between a representation already in the tree and a 
new
      representation being set up because it takes time to dispose of an old
      representation - particularly if it must be unlinked or renamed.

      When such a collision occurs, cachefiles_mark_object_active() is meant to 
check
      to see if the old, already-present representation is in the process of 
being
      discarded (ie. FSCACHE_OBJECT_IS_LIVE is not set on it) - and, if so, 
wait for
      the representation to be removed (ie. CACHEFILES_OBJECT_ACTIVE is then
      cleared).

      However, the test for whether the old representation is still live is 
checking
      the new object - which always will be live at this point.  This leads to 
an
      oops looking like:

        CacheFiles: Error: Unexpected object collision
        object: OBJ1b354
        objstate=LOOK_UP_OBJECT fl=8 wbusy=2 ev=0[0]
        ops=0 inp=0 exc=0
        parent=ffff88053f5417c0
        cookie=ffff880538f202a0 [pr=ffff8805381b7160 nd=ffff880509c6eb78 fl=27]
        key=[8] '2490000000000000'
        xobject: OBJ1a600
        xobjstate=DROP_OBJECT fl=70 wbusy=2 ev=0[0]
        xops=0 inp=0 exc=0
        xparent=ffff88053f5417c0
        xcookie=ffff88050f4cbf70 [pr=ffff8805381b7160 nd=          (null) fl=12]
        ------------[ cut here ]------------
        kernel BUG at fs/cachefiles/namei.c:200!
        ...
        Workqueue: fscache_object fscache_object_work_func [fscache]
        ...
        RIP: ... cachefiles_walk_to_object+0x7ea/0x860 [cachefiles]
        ...
        Call Trace:
         [<ffffffffa04dadd8>] ? cachefiles_lookup_object+0x58/0x100 [cachefiles]
         [<ffffffffa01affe9>] ? fscache_look_up_object+0xb9/0x1d0 [fscache]
         [<ffffffffa01afc4d>] ? fscache_parent_ready+0x2d/0x80 [fscache]
         [<ffffffffa01b0672>] ? fscache_object_work_func+0x92/0x1f0 [fscache]
         [<ffffffff8107e82b>] ? process_one_work+0x16b/0x400
         [<ffffffff8107fc16>] ? worker_thread+0x116/0x380
         [<ffffffff8107fb00>] ? manage_workers.isra.21+0x290/0x290
         [<ffffffff81085edc>] ? kthread+0xbc/0xe0
         [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80
         [<ffffffff81502d0c>] ? ret_from_fork+0x7c/0xb0
         [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80

      Reported-by: Manuel Schölling <manuel.schoelling@xxxxxx>
      Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
      Acked-by: Steve Dickson <steved@xxxxxxxxxx>

  commit f1d0d14120a8a6224a8aead925cf4310f48947d5
  Merge: bf10fa8 2ed53c0
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 18:20:39 2014 +0200

      Merge branch 'x86-cpu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 cpu offlining patch from Ingo Molnar:
       "This tree includes a single commit that speeds up x86 suspend/resume
        by replacing a naive 100msec sleep based polling loop with proper
        completion notification.

        This gives some real suspend/resume benefit on servers with larger
        core counts"

      * 'x86-cpu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU 
offline during S3

  commit bf10fa857f0604865006d9705e63415b9d4e0d62
  Merge: 5941fe3b 196cf35
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 18:19:01 2014 +0200

      Merge branch 'x86-cleanups-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 cleanups from Ingo Molnar:
       "Three small cleanups"

      * 'x86-cleanups-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tty/serial/8250: Clean up the asm/serial.h include file a bit
        x86/tty/serial/8250: Resolve missing-field-initializers warnings
        x86: Remove obsolete comment in uapi/e820.h

  commit 5941fe3b812adb68adde74cd0bab3c208901840c
  Merge: 19e00d5 5c63008
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 18:17:33 2014 +0200

      Merge branch 'x86-build-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 build update from Ingo Molnar:
       "A single commit that simplifies the no-FPU-ops build options"

      * 'x86-build-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kbuild: Eliminate duplicate command line options

  commit 19e00d593e9a273ecbfbe131676ed11c140670ac
  Merge: 197fe6b eeeda4c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 18:16:32 2014 +0200

      Merge branch 'x86-boot-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 bootup updates from Ingo Molnar:
       "The changes in this cycle were:

         - Fix rare SMP-boot hang (mostly in virtual environments)

         - Fix build warning with certain (rare) toolchains"

      * 'x86-boot-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/relocs: Make per_cpu_load_addr static
        x86/smpboot: Initialize secondary CPU only if master CPU will wait for 
it

  commit 197fe6b0e6843b6859c6a1436ff19e3c444c0502
  Merge: faafcba f74954f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 18:14:50 2014 +0200

      Merge branch 'x86-asm-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull x86 asm updates from Ingo Molnar:
       "The changes in this cycle were:

         - Speed up the x86 __preempt_schedule() implementation
         - Fix/improve low level asm code debug info annotations"

      * 'x86-asm-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Unwind-annotate thunk_32.S
        x86: Improve cmpxchg8b_emu.S
        x86: Improve cmpxchg16b_emu.S
        x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o"
        x86: Speed up ___preempt_schedule*() by using THUNK helpers

  commit 9e6a57d2cdee36a6d9c5d5cc3db85713dd416719
  Author: Honggang Li <enjoymindful@xxxxxxxxx>
  Date:   Tue Jun 3 13:30:45 2014 +0800

      um: delete unnecessary bootmem struct page array

      1) uml kernel bootmem managed through bootmem_data->node_bootmem_map,
      not the struct page array, so the array is unnecessary.

      2) the bootmem struct page array has been pointed by a *local* pointer,
      struct page *map, in init_maps function. The array can be accessed only
      in init_maps's scope. As a result, uml kernel wastes about 1% of total
      memory.

      Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx>
      Signed-off-by: Richard Weinberger <richard@xxxxxx>

  commit 671312304ec73059a0128ff3ac7a5ced459098ae
  Author: Honggang Li <enjoymindful@xxxxxxxxx>
  Date:   Thu Jun 5 12:15:24 2014 +0800

      um: remove csum_partial_copy_generic_i386 to clean up exception table

      arch/x86/um/checksum_32.S had been copy & paste from x86. When build
      x86 uml, csum_partial_copy_generic_i386 mess up the exception table.
      In fact, exception table dose not work in uml kernel.

      And csum_partial_copy_generic_i386 never been called. So, delete it.

      Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx>
      Signed-off-by: Richard Weinberger <richard@xxxxxx>

  commit b8fb9c30f25e45dab5d2cd310ab6913b6861d00f
  Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 10:56:12 2014 -0400

      NFS: Fix a bogus warning in nfs_generic_pgio

      It is OK for pageused == pagecount in the loop, as long as we don't add
      another entry to the *pages array. Move the test so that it only triggers
      in that case.

      Reported-by: Steve Dickson <SteveD@xxxxxxxxxx>
      Fixes: bba5c1887a92 (nfs: disallow duplicate pages in pgio page vectors)
      Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx # 3.16.x
      Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>

  commit 7b2b10e0e2c65ebc11314e1af9924d0824ec1562
  Author: Robert Elliott <elliott@xxxxxx>
  Date:   Wed Aug 27 10:50:36 2014 -0500

      block: include func name in __get_request prints

      In __get_request calls to printk_ratelimited, include the function name so
      the callbacks suppressed message matches the messages that are printed,
      and add "dev" before the device name so it matches other block layer
      messages.

      Signed-off-by: Robert Elliott <elliott@xxxxxx>
      Reviewed-by: Webb Scales <webbnh@xxxxxx>
      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit ef3ecb66bcd6b2076dc8782e1315cf2807b73c0c
  Author: Robert Elliott <elliott@xxxxxx>
  Date:   Wed Aug 27 10:50:31 2014 -0500

      block: make blk_update_request print prefix match ratelimited prefix

      In blk_update_request, change the printk_ratelimited
      prefix from end_request to blk_update_request so it
      matches the name printed if rate limiting occurs.

      Old:
      [10234.933106] blk_update_request: 174 callbacks suppressed
      [10234.934940] end_request: critical target error, dev sdr, sector 16
      [10234.949788] end_request: critical target error, dev sdr, sector 16

      New:
      [16863.445173] blk_update_request: 398 callbacks suppressed
      [16863.447029] blk_update_request: critical target error, dev sdr, sector
      1442066176
      [16863.449383] blk_update_request: critical target error, dev sdr, sector
      802802888
      [16863.451680] blk_update_request: critical target error, dev sdr, sector
      1609535456

      Signed-off-by: Robert Elliott <elliott@xxxxxx>
      Reviewed-by: Webb Scales <webbnh@xxxxxx>
      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit 3caa0c6ed754d91b15266abf222498edbef982bd
  Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 10:26:43 2014 -0400

      NFS: Fix an uninitialised pointer Oops in the writeback error path

      SteveD reports the following Oops:
       RIP: 0010:[<ffffffffa053461d>]  [<ffffffffa053461d>] 
__put_nfs_open_context+0x1d/0x100 [nfs]
       RSP: 0018:ffff880fed687b90  EFLAGS: 00010286
       RAX: 0000000000000024 RBX: 0000000000000000 RCX: 0000000000000006
       RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
       RBP: ffff880fed687bc0 R08: 0000000000000092 R09: 000000000000047a
       R10: 0000000000000000 R11: ffff880fed6878d6 R12: ffff880fed687d20
       R13: ffff880fed687d20 R14: 0000000000000070 R15: ffffea000aa33ec0
       FS:  00007fce290f0740(0000) GS:ffff8807ffc60000(0000) 
knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: 0000000000000070 CR3: 00000007f2e79000 CR4: 00000000000007e0
       DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
       Stack:
        0000000000000000 ffff880036c5e510 ffff880fed687d20 ffff880fed687d20
        ffff880036c5e200 ffffea000aa33ec0 ffff880fed687bd0 ffffffffa0534710
        ffff880fed687be8 ffffffffa053d5f0 ffff880036c5e200 ffff880fed687c08
       Call Trace:
        [<ffffffffa0534710>] put_nfs_open_context+0x10/0x20 [nfs]
        [<ffffffffa053d5f0>] nfs_pgio_data_destroy+0x20/0x40 [nfs]
        [<ffffffffa053d672>] nfs_pgio_error+0x22/0x40 [nfs]
        [<ffffffffa053d8f4>] nfs_generic_pgio+0x74/0x2e0 [nfs]
        [<ffffffffa06b18c3>] pnfs_generic_pg_writepages+0x63/0x210 [nfsv4]
        [<ffffffffa053d579>] nfs_pageio_doio+0x19/0x50 [nfs]
        [<ffffffffa053eb84>] nfs_pageio_complete+0x24/0x30 [nfs]
        [<ffffffffa053cb25>] nfs_direct_write_schedule_iovec+0x115/0x1f0 [nfs]
        [<ffffffffa053675f>] ? nfs_get_lock_context+0x4f/0x120 [nfs]
        [<ffffffffa053d252>] nfs_file_direct_write+0x262/0x420 [nfs]
        [<ffffffffa0532d91>] nfs_file_write+0x131/0x1d0 [nfs]
        [<ffffffffa0532c60>] ? nfs_need_sync_write.isra.17+0x40/0x40 [nfs]
        [<ffffffff812127b8>] do_io_submit+0x3b8/0x840
        [<ffffffff81212c50>] SyS_io_submit+0x10/0x20
        [<ffffffff81610f29>] system_call_fastpath+0x16/0x1b

      This is due to the calls to nfs_pgio_error() in nfs_generic_pgio(), which
      happen before the nfs_pgio_header's open context is referenced in
      nfs_pgio_rpcsetup().

      Reported-by: Steve Dickson <SteveD@xxxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx # 3.16.x
      Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>

  commit faafcba3b5e15999cf75d5c5a513ac8e47e2545f
  Merge: 13ead80 f10e00f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 16:23:15 2014 +0200

      Merge branch 'sched-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:

         - Optimized support for Intel "Cluster-on-Die" (CoD) topologies (Dave
           Hansen)

         - Various sched/idle refinements for better idle handling (Nicolas
           Pitre, Daniel Lezcano, Chuansheng Liu, Vincent Guittot)

         - sched/numa updates and optimizations (Rik van Riel)

         - sysbench speedup (Vincent Guittot)

         - capacity calculation cleanups/refactoring (Vincent Guittot)

         - Various cleanups to thread group iteration (Oleg Nesterov)

         - Double-rq-lock removal optimization and various refactorings
           (Kirill Tkhai)

         - various sched/deadline fixes

        ... and lots of other changes"

      * 'sched-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
        sched/dl: Use dl_bw_of() under rcu_read_lock_sched()
        sched/fair: Delete resched_cpu() from idle_balance()
        sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
        sched: Improve sysbench performance by fixing spurious active migration
        sched/x86: Fix up typo in topology detection
        x86, sched: Add new topology for multi-NUMA-node CPUs
        sched/rt: Use resched_curr() in task_tick_rt()
        sched: Use rq->rd in sched_setaffinity() under RCU read lock
        sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask'
        sched: Use dl_bw_of() under RCU read lock
        sched/fair: Remove duplicate code from can_migrate_task()
        sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW
        sched: print_rq(): Don't use tasklist_lock
        sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use 
task_rq_lock()
        sched: Fix the task-group check in tg_has_rt_tasks()
        sched/fair: Leverage the idle state info when choosing the "idlest" cpu
        sched: Let the scheduler see CPU idle states
        sched/deadline: Fix inter- exclusive cpusets migrations
        sched/deadline: Clear dl_entity params when setscheduling to different 
class
        sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault()
        ...

  commit 13ead805c5a14b0e7ecd34f61404a5bfba655895
  Merge: ebf546c df57714
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 16:10:06 2014 +0200

      Merge branch 'perf-watchdog-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull watchdog fixes from Ingo Molnar:
       "Two small watchdog subsystem fixes"

      * 'perf-watchdog-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        watchdog: Fix print-once on enable
        watchdog: Remove unnecessary header files

  commit ebf546cc5391b9a8a17c1196b05b4357ef0138a2
  Merge: 9d9420f 9c2b9d3
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 16:06:09 2014 +0200

      Merge branch 'perf-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull perf fixes from Ingo Molnar:
       "Two leftover fixes from the v3.17 cycle - these will be forwarded to
        stable as well, if they prove problem-free in wider testing as well"

      [ Side note: the "fix perf bug in fork()" fix had also come in through
        Andrew's patch-bomb   - Linus ]

      * 'perf-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix perf bug in fork()
        perf: Fix unclone_ctx() vs. locking

  commit 9d9420f1209a1facea7110d549ac695f5aeeb503
  Merge: 6d5f0eb cc6cd47
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:58:15 2014 +0200

      Merge branch 'perf-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull perf updates from Ingo Molnar:
       "Kernel side updates:

         - Fix and enhance poll support (Jiri Olsa)

         - Re-enable inheritance optimization (Jiri Olsa)

         - Enhance Intel memory events support (Stephane Eranian)

         - Refactor the Intel uncore driver to be more maintainable (Zheng
           Yan)

         - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra,
           Andi Kleen)

         - [ plus various smaller fixes/cleanups ]

        User visible tooling updates:

         - Add +field argument support for --field option, so that one can add
           fields to the default list of fields to show, ie now one can just
           do:

               perf report --fields +pid

           And the pid will appear in addition to the default fields (Jiri
           Olsa)

         - Add +field argument support for --sort option (Jiri Olsa)

         - Honour -w in the report tools (report, top), allowing to specify
           the widths for the histogram entries columns (Namhyung Kim)

         - Properly show submicrosecond times in 'perf kvm stat' (Christian
           Borntraeger)

         - Add beautifier for mremap flags param in 'trace' (Alex Snast)

         - perf script: Allow callchains if any event samples them

         - Don't truncate Intel style addresses in 'annotate' (Alex Converse)

         - Allow profiling when kptr_restrict == 1 for non root users, kernel
           samples will just remain unresolved (Andi Kleen)

         - Allow configuring default options for callchains in config file
           (Namhyung Kim)

         - Support operations for shared futexes.  (Davidlohr Bueso)

         - "perf kvm stat report" improvements by Alexander Yarygin:
             -  Save pid string in opts.target.pid
             -  Enable the target.system_wide flag
             -  Unify the title bar output

         - [ plus lots of other fixes and small improvements.  ]

        Tooling infrastructure changes:

         - Refactor unit and scale function parameters for PMU parsing
           routines (Matt Fleming)

         - Improve DSO long names lookup with rbtree, resulting in great
           speedup for workloads with lots of DSOs (Waiman Long)

         - We were not handling POLLHUP notifications for event file
           descriptors

           Fix it by filtering entries in the events file descriptor array
           after poll() returns, refcounting mmaps so that when the last fd
           pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho
           de Melo)

         - Intel PT prep work, from Adrian Hunter, including:
             - Let a user specify a PMU event without any config terms
             - Add perf-with-kcore script
             - Let default config be defined for a PMU
             - Add perf_pmu__scan_file()
             - Add a 'perf test' for tracking with sched_switch
             - Add 'flush' callback to scripting API

         - Use ring buffer consume method to look like other tools (Arnaldo
           Carvalho de Melo)

         - hists browser (used in top and report) refactorings, getting rid of
           unused variables and reducing source code size by handling similar
           cases in a fewer functions (Namhyung Kim).

         - Replace thread unsafe strerror() with strerror_r() accross the
           whole tools/perf/ tree (Masami Hiramatsu)

         - Rename ordered_samples to ordered_events and allow setting a queue
           size for ordering events (Jiri Olsa)

         - [ plus lots of fixes, cleanups and other improvements ]"

      * 'perf-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits)
        perf/x86: Tone down kernel messages when the PMU check fails in a 
virtual environment
        perf/x86/intel/uncore: Fix minor race in box set up
        perf record: Fix error message for --filter option not coming after 
tracepoint
        perf tools: Fix build breakage on arm64 targets
        perf symbols: Improve DSO long names lookup speed with rbtree
        perf symbols: Encapsulate dsos list head into struct dsos
        perf bench futex: Sanitize -q option in requeue
        perf bench futex: Support operations for shared futexes
        perf trace: Fix mmap return address truncation to 32-bit
        perf tools: Refactor unit and scale function parameters
        perf tools: Fix line number in the config file error message
        perf tools: Convert {record,top}.call-graph option to 
call-graph.record-mode
        perf tools: Introduce perf_callchain_config()
        perf callchain: Move some parser functions to callchain.c
        perf tools: Move callchain config from record_opts to callchain_param
        perf hists browser: Fix callchain print bug on TUI
        perf tools: Use ACCESS_ONCE() instead of volatile cast
        perf tools: Modify error code for when perf_session__new() fails
        perf tools: Fix perf record as non root with kptr_restrict == 1
        perf stat: Fix --per-core on multi socket systems
        ...

  commit 6d5f0ebfc0be9cbfeaafdd9258d5fa24b7975a36
  Merge: dbb885f 8acd91e
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:51:40 2014 +0200

      Merge branch 'locking-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull core locking updates from Ingo Molnar:
       "The main updates in this cycle were:

         - mutex MCS refactoring finishing touches: improve comments, refactor
           and clean up code, reduce debug data structure footprint, etc.

         - qrwlock finishing touches: remove old code, self-test updates.

         - small rwsem optimization

         - various smaller fixes/cleanups"

      * 'locking-core-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Revert qrwlock recusive stuff
        locking/rwsem: Avoid double checking before try acquiring write lock
        locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition
        locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S
        locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code
        locking/semaphore: Resolve some shadow warnings
        locking/selftest: Support queued rwlock
        locking/lockdep: Restrict the use of recursive read_lock() with qrwlock
        locking/spinlocks: Always evaluate the second argument of 
spin_lock_nested()
        locking/Documentation: Update locking/mutex-design.txt disadvantages
        locking/Documentation: Move locking related docs into 
Documentation/locking/
        locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate
        locking/mutexes: Refactor optimistic spinning code
        locking/mcs: Remove obsolete comment
        locking/mutexes: Document quick lock release when unlocking
        locking/mutexes: Standardize arguments in lock/unlock slowpaths
        locking: Remove deprecated smp_mb__() barriers

  commit dbb885fecc1b1b35e93416bedd24d21bd20f60ed
  Merge: d6dd50e 2291059
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:48:00 2014 +0200

      Merge branch 'locking-arch-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull arch atomic cleanups from Ingo Molnar:
       "This is a series kept separate from the main locking tree, which
        cleans up and improves various details in the atomics type handling:

         - Remove the unused atomic_or_long() method

         - Consolidate and compress atomic ops implementations between
           architectures, to reduce linecount and to make it easier to add new
           ops.

         - Rewrite generic atomic support to only require cmpxchg() from an
           architecture - generate all other methods from that"

      * 'locking-arch-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        locking,arch: Use ACCESS_ONCE() instead of cast to volatile in 
atomic_read()
        locking, mips: Fix atomics
        locking, sparc64: Fix atomics
        locking,arch: Rewrite generic atomic support
        locking,arch,xtensa: Fold atomic_ops
        locking,arch,sparc: Fold atomic_ops
        locking,arch,sh: Fold atomic_ops
        locking,arch,powerpc: Fold atomic_ops
        locking,arch,parisc: Fold atomic_ops
        locking,arch,mn10300: Fold atomic_ops
        locking,arch,mips: Fold atomic_ops
        locking,arch,metag: Fold atomic_ops
        locking,arch,m68k: Fold atomic_ops
        locking,arch,m32r: Fold atomic_ops
        locking,arch,ia64: Fold atomic_ops
        locking,arch,hexagon: Fold atomic_ops
        locking,arch,cris: Fold atomic_ops
        locking,arch,avr32: Fold atomic_ops
        locking,arch,arm64: Fold atomic_ops
        locking,arch,arm: Fold atomic_ops
        ...

  commit d6dd50e07c5bec00db2005969b1a01f8ca3d25ef
  Merge: 5ff0b9e fd19bda
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 15:44:12 2014 +0200

      Merge branch 'core-rcu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:

         - changes related to No-CBs CPUs and NO_HZ_FULL

         - RCU-tasks implementation

         - torture-test updates

         - miscellaneous fixes

         - locktorture updates

         - RCU documentation updates"

      * 'core-rcu-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits)
        workqueue: Use cond_resched_rcu_qs macro
        workqueue: Add quiescent state between work items
        locktorture: Cleanup header usage
        locktorture: Cannot hold read and write lock
        locktorture: Fix __acquire annotation for spinlock irq
        locktorture: Support rwlocks
        rcu: Eliminate deadlock between CPU hotplug and expedited grace periods
        locktorture: Document boot/module parameters
        rcutorture: Rename rcutorture_runnable parameter
        locktorture: Add test scenario for rwsem_lock
        locktorture: Add test scenario for mutex_lock
        locktorture: Make torture scripting account for new _runnable name
        locktorture: Introduce torture context
        locktorture: Support rwsems
        locktorture: Add infrastructure for torturing read locks
        torture: Address race in module cleanup
        locktorture: Make statistics generic
        locktorture: Teach about lock debugging
        locktorture: Support mutexes
        locktorture: Add documentation
        ...

  commit 8eef91239e57d2e932e7470879c9a504d5494ebb
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Fri Oct 10 17:00:32 2014 +0200

      arm/arm64: KVM: map MMIO regions at creation time

      There is really no point in faulting in memory regions page by page
      if they are not backed by demand paged system RAM but by a linear
      passthrough mapping of a host MMIO region. So instead, detect such
      regions at setup time and install the mappings for the backing all
      at once.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 5ff0b9e1a1da58b584aa4b8ea234be20b5a1164b
  Merge: 77c688a 6889e78
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 12:06:54 2014 +0200

      Merge tag 'xfs-for-linus-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs

      Pull xfs update from Dave Chinner:
       "This update contains:
         - various cleanups
         - log recovery debug hooks
         - seek hole/data implementation merge
         - extent shift rework to fix collapse range bugs
         - various sparse warning fixes
         - log recovery transaction processing rework to fix use after free
           bugs
         - metadata buffer IO infrastructuer rework to ensure all buffers
           under IO have valid reference counts
         - various fixes for ondisk flags, writeback and zero range corner
           cases"

      * tag 'xfs-for-linus-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (56 commits)
        xfs: fix agno increment in xfs_inumbers() loop
        xfs: xfs_iflush_done checks the wrong log item callback
        xfs: flush the range before zero range conversion
        xfs: restore buffer_head unwritten bit on ioend cancel
        xfs: check for null dquot in xfs_quota_calc_throttle()
        xfs: fix crc field handling in xfs_sb_to/from_disk
        xfs: don't send null bp to xfs_trans_brelse()
        xfs: check for inode size overflow in xfs_new_eof()
        xfs: only set extent size hint when asked
        xfs: project id inheritance is a directory only flag
        xfs: kill time.h
        xfs: compat_xfs_bstat does not have forkoff
        xfs: simplify xfs_zero_remaining_bytes
        xfs: check xfs_buf_read_uncached returns correctly
        xfs: introduce xfs_buf_submit[_wait]
        xfs: kill xfs_bioerror_relse
        xfs: xfs_bioerror can die.
        xfs: kill xfs_bdstrat_cb
        xfs: rework xfs_buf_bio_endio error handling
        xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality
        ...

  commit 77c688ac87183537ed0fb84ec2cb8fa8ec97c458
  Merge: 5e40d33 a457606
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Mon Oct 13 11:28:42 2014 +0200

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

      Pull vfs updates from Al Viro:
       "The big thing in this pile is Eric's unmount-on-rmdir series; we
        finally have everything we need for that.  The final piece of prereqs
        is delayed mntput() - now filesystem shutdown always happens on
        shallow stack.

        Other than that, we have several new primitives for iov_iter (Matt
        Wilcox, culled from his XIP-related series) pushing the conversion to
        ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c
        cleanups and fixes (including the external name refcounting, which
        gives consistent behaviour of d_move() wrt procfs symlinks for long
        and short names alike) and assorted cleanups and fixes all over the
        place.

        This is just the first pile; there's a lot of stuff from various
        people that ought to go in this window.  Starting with
        unionmount/overlayfs mess...  ;-/"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: 
(60 commits)
        fs/file_table.c: Update alloc_file() comment
        vfs: Deduplicate code shared by xattr system calls operating on paths
        reiserfs: remove pointless forward declaration of struct nameidata
        don't need that forward declaration of struct nameidata in dcache.h 
anymore
        take dname_external() into fs/dcache.c
        let path_init() failures treated the same way as subsequent 
link_path_walk()
        fix misuses of f_count() in ppp and netlink
        ncpfs: use list_for_each_entry() for d_subdirs walk
        vfs: move getname() from callers to do_mount()
        gfs2_atomic_open(): skip lookups on hashed dentry
        [infiniband] remove pointless assignments
        gadgetfs: saner API for gadgetfs_create_file()
        f_fs: saner API for ffs_sb_create_file()
        jfs: don't hash direct inode
        [s390] remove pointless assignment of ->f_op in vmlogrdr ->open()
        ecryptfs: ->f_op is never NULL
        android: ->f_op is never NULL
        nouveau: __iomem misannotations
        missing annotation in fs/file.c
        fs: namespace: suppress 'may be used uninitialized' warnings
        ...

  commit 56372082533afb859e6d64707859349a2ee171bf
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Thu Sep 25 16:54:43 2014 +0530

      ARC: boot: cpu feature print enhancements

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit c4b9856b5e1eb6d4f0d226f3c48be208475fc3d7
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Thu Sep 25 16:07:44 2014 +0530

      ARC: boot: consolidate cross-checking of h/w and s/w

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 52e9bae93802bd29c33be11e9e758ad7daac805f
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Sat Sep 27 12:53:41 2014 +0530

      ARC: unbork FPU save/restore

      Fixes: 2ab402dfd65d15a4b2 "ARC: make start_thread() out-of-line"
      CC: <stable@xxxxxxxxxxxxxxx>  #3.16
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit be64c997d96dd29029ed40d9df9cbf80fa1c7ed4
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Sat Sep 27 12:49:11 2014 +0530

      ARC: remove extraneous __KERNEL__ guards

      Verified by doing make headers_install as none of these files are
      exported to userspace

  commit ebc0c74e76cec9c4dd860eb0ca1c0b39dc63c482
  Author: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx>
  Date:   Thu Sep 25 13:23:24 2014 +0400

      ARC: Update order of registers in KGDB to match GDB 7.5

      Order of registers has changed in GDB moving from 6.8 to 7.5. This patch
      updates KGDB to work properly with GDB 7.5, though makes it incompatible
      with 6.8.

      Signed-off-by: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx>
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16

  commit cdd4552686b5225047ce24b8449380e02c1481e1
  Author: Paul Bolle <pebolle@xxxxxxxxxx>
  Date:   Wed Sep 24 20:32:22 2014 +0200

      ARC: Remove unneeded Kconfig entry NO_DMA

      Architectures only need a Kconfig entry for NO_DMA if it is possible
      that its value will be 'y'. For arc its value will always be 'n', making
      it pointless. Remove it.

      Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx>
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 3872d05299b5ab58446f484df18f71cab4628c50
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 24 16:36:48 2014 +0530

      ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG))

      ARC specific version (doesn't panic) still makes sense so that generic
      code calling BUG doesn't panic and helps debugging more

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit c59414cca188e561d450b77e44ad281579946f18
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 24 11:36:20 2014 +0530

      ARC: refactoring: reduce the scope of some local vars

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 68d8feee85dd9ff68a2d740c90b08dc4ae2fb8e5
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Thu Aug 7 16:24:47 2014 -0700

      ARC: remove gcc mpy heuristics

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 435abb6daf310b4c1d681097887ea7239c310732
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 10 10:38:10 2014 +0530

      ARC: RIP @running_on_hw

      * No active users of this flag anymore

      * flag itself was no longer usable with new simualtor which acts just like
        hardware, not providing the special chip-id = 0xffff which good old
        ISS used to do.

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit c4aa49df4dca6d41d3a7488cf582a0ab778ad06d
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Fri Sep 19 01:28:24 2014 +0530

      ARC: Update comments about uncached address space

      Suggested-by: Noam Camus <noamc@xxxxxxxxxx>
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 1736a56f3d1d5765fa8953d39a900a494d7e415c
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Mon Sep 8 11:18:15 2014 +0530

      ARC: rename kconfig option for unaligned emulation

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 5c05483e2db91890faa9a7be0a831701a3f442d6
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Fri Jun 20 16:24:49 2014 +0530

      ARC: [nsimosci] Allow "headless" models to boot

      There are certain test configuration of virtual platform which don't
      have any real console device (uart/pgu). So add tty0 as a fallback console
      device to allow system to boot and be accessible via telnet

      Otherwise with ttyS0 as only console, but 8250 disabled in kernel build,
      init chokes.

      Reported-by: Anton Kolesov <akolesov@xxxxxxxxxxxx>
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16

  commit b4c43b4908fb53c6cd00281f1b19cc54d7791299
  Author: Paul Bolle <pebolle@xxxxxxxxxx>
  Date:   Tue Sep 23 11:39:04 2014 +0200

      ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509

      Commit c00bfd974fb0 ("ARC: [arcfpga] Get rid of legacy BVCI latency unit
      support") removed the Kconfig symbol ARC_HAS_BVCI_LAT_UNIT. And that
      symbol's entry was the only place were the symbols ARC_BOARD_ANGEL4 and
      ARC_BOARD_ML509 were used. So ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 can
      be removed too.

      Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx>
      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 72f933e77cfc8c7e38e7214fd774806eb7ecc038
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 10 11:19:28 2014 +0530

      ARC: [arcfpga] Remove more dead code

      specifically after switching to generic early arc uart, whole bunch of
      code is no longer needed

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit d7f8a085d4f48501b1fa253b48ec4ad7cb4d02cc
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 10 11:10:54 2014 +0530

      ARC: [plat*] move code out of .init_machine into common

      All the platforms do the same thing in init_machine callback so move it
      out of callback into caller of callback

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit 70e956483efd8a70e86fb2260dcd2395eb1affef
  Author: Vineet Gupta <vgupta@xxxxxxxxxxxx>
  Date:   Wed Sep 10 11:08:39 2014 +0530

      ARC: [arcfpga] consolidate machine description, DT

      * AA4/ML509 have same machine descriptions
      * Rename simulation machine description

      Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

  commit aef4885ae14f1df75b58395c5314d71f613d26d9
  Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
  Date:   Mon Oct 13 03:42:12 2014 -0400

      ext4: move error report out of atomic context in ext4_init_block_bitmap()

      Error report likely result in IO so it is bad idea to do it from
      atomic context.

      This patch should fix following issue:

      BUG: sleeping function called from invalid context at 
include/linux/buffer_head.h:349
      in_atomic(): 1, irqs_disabled(): 0, pid: 137, name: kworker/u128:1
      5 locks held by kworker/u128:1/137:
       #0:  ("writeback"){......}, at: [<ffffffff81085618>] 
process_one_work+0x228/0x4d0
       #1:  ((&(&wb->dwork)->work)){......}, at: [<ffffffff81085618>] 
process_one_work+0x228/0x4d0
       #2:  (jbd2_handle){......}, at: [<ffffffff81242622>] 
start_this_handle+0x712/0x7b0
       #3:  (&ei->i_data_sem){......}, at: [<ffffffff811fa387>] 
ext4_map_blocks+0x297/0x430
       #4:  (&(&bgl->locks[i].lock)->rlock){......}, at: [<ffffffff811f3180>] 
ext4_read_block_bitmap_nowait+0x5d0/0x630
      CPU: 3 PID: 137 Comm: kworker/u128:1 Not tainted 
3.17.0-rc2-00184-g82752e4 #165
      Hardware name: Intel Corporation W2600CR/W2600CR, BIOS 
SE5C600.86B.99.99.x028.061320111235 06/13/2011
      Workqueue: writeback bdi_writeback_workfn (flush-1:0)
       0000000000000411 ffff880813777288 ffffffff815c7fdc ffff880813777288
       ffff880813a8bba0 ffff8808137772a8 ffffffff8108fb30 ffff880803e01e38
       ffff880803e01e38 ffff8808137772c8 ffffffff811a8d53 ffff88080ecc6000
      Call Trace:
       [<ffffffff815c7fdc>] dump_stack+0x51/0x6d
       [<ffffffff8108fb30>] __might_sleep+0xf0/0x100
       [<ffffffff811a8d53>] __sync_dirty_buffer+0x43/0xe0
       [<ffffffff811a8e03>] sync_dirty_buffer+0x13/0x20
       [<ffffffff8120f581>] ext4_commit_super+0x1d1/0x230
       [<ffffffff8120fa03>] save_error_info+0x23/0x30
       [<ffffffff8120fd06>] __ext4_error+0xb6/0xd0
       [<ffffffff8120f260>] ? ext4_group_desc_csum+0x140/0x190
       [<ffffffff811f2d8c>] ext4_read_block_bitmap_nowait+0x1dc/0x630
       [<ffffffff8122e23a>] ext4_mb_init_cache+0x21a/0x8f0
       [<ffffffff8113ae95>] ? lru_cache_add+0x55/0x60
       [<ffffffff8112e16c>] ? add_to_page_cache_lru+0x6c/0x80
       [<ffffffff8122eaa0>] ext4_mb_init_group+0x190/0x280
       [<ffffffff8122ec51>] ext4_mb_good_group+0xc1/0x190
       [<ffffffff8123309a>] ext4_mb_regular_allocator+0x17a/0x410
       [<ffffffff8122c821>] ? ext4_mb_use_preallocated+0x31/0x380
       [<ffffffff81233535>] ? ext4_mb_new_blocks+0x205/0x8e0
       [<ffffffff8116ed5c>] ? kmem_cache_alloc+0xfc/0x180
       [<ffffffff812335b0>] ext4_mb_new_blocks+0x280/0x8e0
       [<ffffffff8116f2c4>] ? __kmalloc+0x144/0x1c0
       [<ffffffff81221797>] ? ext4_find_extent+0x97/0x320
       [<ffffffff812257f4>] ext4_ext_map_blocks+0xbc4/0x1050
       [<ffffffff811fa387>] ? ext4_map_blocks+0x297/0x430
       [<ffffffff811fa3ab>] ext4_map_blocks+0x2bb/0x430
       [<ffffffff81200e43>] ? ext4_init_io_end+0x23/0x50
       [<ffffffff811feb44>] ext4_writepages+0x564/0xaf0
       [<ffffffff815cde3b>] ? _raw_spin_unlock+0x2b/0x40
       [<ffffffff810ac7bd>] ? lock_release_non_nested+0x2fd/0x3c0
       [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490
       [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490
       [<ffffffff811377e3>] do_writepages+0x23/0x40
       [<ffffffff8119c8ce>] __writeback_single_inode+0x9e/0x280
       [<ffffffff811a026b>] writeback_sb_inodes+0x2db/0x490
       [<ffffffff811a0664>] wb_writeback+0x174/0x2d0
       [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190
       [<ffffffff811a0863>] wb_do_writeback+0xa3/0x200
       [<ffffffff811a0a40>] bdi_writeback_workfn+0x80/0x230
       [<ffffffff81085618>] ? process_one_work+0x228/0x4d0
       [<ffffffff810856cd>] process_one_work+0x2dd/0x4d0
       [<ffffffff81085618>] ? process_one_work+0x228/0x4d0
       [<ffffffff81085c1d>] worker_thread+0x35d/0x460
       [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0
       [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0
       [<ffffffff8108a885>] kthread+0xf5/0x100
       [<ffffffff810990e5>] ? local_clock+0x25/0x30
       [<ffffffff8108a790>] ? __init_kthread_worker+0x70/0x70
       [<ffffffff815ce2ac>] ret_from_fork+0x7c/0xb0
       [<ffffffff8108a790>] ? __init_kthread_work

      Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
      Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx

  commit 9aa5d32ba269bec0e7eaba2697a986a7b0bc8528
  Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
  Date:   Mon Oct 13 03:36:16 2014 -0400

      ext4: Replace open coded mdata csum feature to helper function

      Besides the fact that this replacement improves code readability
      it also protects from errors caused direct EXT4_S(sb)->s_es manipulation
      which may result attempt to use uninitialized  csum machinery.

      #Testcase_BEGIN
      IMG=/dev/ram0
      MNT=/mnt
      mkfs.ext4 $IMG
      mount $IMG $MNT
      #Enable feature directly on disk, on mounted fs
      tune2fs -O metadata_csum  $IMG
      # Provoke metadata update, likey result in OOPS
      touch $MNT/test
      umount $MNT
      #Testcase_END

      # Replacement script
      @@
      expression E;
      @@
      - EXT4_HAS_RO_COMPAT_FEATURE(E, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM)
      + ext4_has_metadata_csum(E)

      https://bugzilla.kernel.org/show_bug.cgi?id=82201

      Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
      Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx

  commit 2d73bae12b26db6eba074b70406c707961b6cda9
  Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 09:04:49 2014 -0700

      powerpc/numa: Add ability to disable and debug topology updates

      We have hit a few customer issues with the topology update code (VPHN
      and PRRN). It would be nice to be able to debug the notifications coming
      from the hypervisor in both cases to the LPAR, as well as to disable
      responding to the notifications at boot-time, to narrow down the source
      of the problems. Add a basic level of such functionality, similar to the
      numa= command-line parameter. We already have a toggle in
      /proc/powerpc/topology_updates that allows run-time enabling/disabling,
      so the updates can be started at run-time if desired. But the bugs we've
      run into have occured during boot or very shortly after coming to login,
      and have resulted in a broken NUMA topology.

      Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 2d15b9b479512f05680541acffd9acbbc831a47c
  Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 16:41:28 2014 -0700

      powerpc/numa: check error return from proc_create

      proc_create can fail, we should check the return value and pass up the
      failure.

      Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
      Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 6507955c9781a75f1b085f0cf0a77b9df06f0197
  Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 21:28:26 2014 +0530

      powerpc/powernv: Fallback to old HMI handling behavior for old firmware

      Recently we moved HMI handling into Linux kernel instead of taking
      HMI directly in OPAL. This new change is dependent on new OPAL call
      for HMI recovery which was introduced in newer firmware. While this new
      change works fine with latest OPAL firmware, we broke the HMI handling
      if we run newer kernel on old OPAL firmware that results in system hang.

      This patch fixes this issue by falling back to old HMI behavior on older
      OPAL firmware.

      This patch introduces a check for opal token OPAL_HANDLE_HMI to see
      if we are running on newer firmware or old firmware. On newer firmware
      this check would return OPAL_TOKEN_PRESENT, otherwise we are running on
      old firmware and fallback to old HMI behavior.

      Old firmware: POWER8 System Firmware Release as of today <= SV810_087
      Action: Let OPAL handle HMIs

      Newer firmware: in development/yet to be released.
      Action: Let Linux host handle HMIs.

      This patch depends on opal check token patch posted at ppc-devel
      https://lists.ozlabs.org/pipermail/linuxppc-dev/2014-August/120224.html

      Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
      [mpe: Minor comment and printk rewording]
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit dfda0df3426483cf5fc7441f23f318edbabecb03
  Author: Dave Airlie <airlied@xxxxxxxxxx>
  Date:   Wed Aug 6 16:26:21 2014 +1000

      drm/mst: rework payload table allocation to conform better.

      The old code has problems with the Dell MST monitors due to some
      assumptions I made that weren't true.

      I initially thought the Virtual Channel Payload IDs had to be in
      the DPCD table in ascending order, however it appears that assumption
      is bogus.

      The old code also assumed it was possible to insert a member
      into the table and it would move other members up, like it does
      when you remove table entries, however reality has shown this
      isn't true.

      So the new code allocates VCPIs separate from entries in the payload
      tracking table, and when we remove an entry from the DPCD table,
      I shuffle the tracking payload entries around in the struct.

      This appears to make VT switch more robust (still not perfect)
      with an MST enabled Dell monitor.

      Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

  commit 6889e783cd68b79f8330ad4d10a2571c67c3f7df
  Merge: 75e58ce a8b1ee8
  Author: Dave Chinner <david@xxxxxxxxxxxxx>
  Date:   Mon Oct 13 10:22:45 2014 +1100

      Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next

  commit a8b1ee8bafc765ebf029d03c5479a69aebff9693
  Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
  Date:   Mon Oct 13 10:21:53 2014 +1100

      xfs: fix agno increment in xfs_inumbers() loop

      caused a regression in xfs_inumbers, which in turn broke
      xfsdump, causing incomplete dumps.

      The loop in xfs_inumbers() needs to fill the user-supplied
      buffers, and iterates via xfs_btree_increment, reading new
      ags as needed.

      But the first time through the loop, if xfs_btree_increment()
      succeeds, we continue, which triggers the ++agno at the bottom
      of the loop, and we skip to soon to the next ag - without
      the proper setup under next_ag to read the next ag.

      Fix this by removing the agno increment from the loop conditional,
      and only increment agno if we have actually hit the code under
      the next_ag: target.

      Cc: stable@xxxxxxxxxxxxxxx
      Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
      Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
      Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>

  commit a457606a6f81cfddfc9da1ef2a8bf2c65a8eb35e
  Author: Eric Biggers <ebiggers3@xxxxxxxxx>
  Date:   Sun Oct 12 14:29:29 2014 -0500

      fs/file_table.c: Update alloc_file() comment

      This comment is 5 years outdated; init_file() no longer exists.

      Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx>
      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 8cc431165d8fbda43634dd15ab17f76a151c39a8
  Author: Eric Biggers <ebiggers3@xxxxxxxxx>
  Date:   Sun Oct 12 11:59:58 2014 -0500

      vfs: Deduplicate code shared by xattr system calls operating on paths

      The following pairs of system calls dealing with extended attributes only
      differ in their behavior on whether the symbolic link is followed (when
      the named file is a symbolic link):

      - setxattr() and lsetxattr()
      - getxattr() and lgetxattr()
      - listxattr() and llistxattr()
      - removexattr() and lremovexattr()

      Despite this, the implementations all had duplicated code, so this commit
      redirects each of the above pairs of system calls to a corresponding
      function to which different lookup flags (LOOKUP_FOLLOW or 0) are passed.

      For me this reduced the stripped size of xattr.o from 8824 to 8248 bytes.

      Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx>
      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 50b220bbe7092bbfe4406adfe3a216337a64655d
  Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 14:21:38 2014 -0400

      reiserfs: remove pointless forward declaration of struct nameidata

      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 7b600f2abb36909e70963cc7c744c15983500bee
  Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 13:31:58 2014 -0400

      don't need that forward declaration of struct nameidata in dcache.h 
anymore

      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 810bb172671aec17cf85cc748120cf73c17af372
  Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 12:45:37 2014 -0400

      take dname_external() into fs/dcache.c

      never used outside and it's too low-level for legitimate uses outside
      of fs/dcache.c anyway

      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 115cbfdc609702a131c51281864c08f5d27b459a
  Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 23:05:52 2014 -0400

      let path_init() failures treated the same way as subsequent 
link_path_walk()

      As it is, path_lookupat() and path_mounpoint() might end up leaking 
struct file
      reference in some cases.

      Spotted-by: Eric Biggers <ebiggers3@xxxxxxxxx>
      Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

  commit 5e40d331bd72447197f26525f21711c4a265b6a6
  Merge: d0ca475 594081e
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 10:13:55 2014 -0400

      Merge branch 'next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security

      Pull security subsystem updates from James Morris.

      Mostly ima, selinux, smack and key handling updates.

      * 'next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 
commits)
        integrity: do zero padding of the key id
        KEYS: output last portion of fingerprint in /proc/keys
        KEYS: strip 'id:' from ca_keyid
        KEYS: use swapped SKID for performing partial matching
        KEYS: Restore partial ID matching functionality for asymmetric keys
        X.509: If available, use the raw subjKeyId to form the key description
        KEYS: handle error code encoded in pointer
        selinux: normalize audit log formatting
        selinux: cleanup error reporting in selinux_nlmsg_perm()
        KEYS: Check hex2bin()'s return when generating an asymmetric key ID
        ima: detect violations for mmaped files
        ima: fix race condition on ima_rdwr_violation_check and 
process_measurement
        ima: added ima_policy_flag variable
        ima: return an error code from ima_add_boot_aggregate()
        ima: provide 'ima_appraise=log' kernel option
        ima: move keyring initialization to ima_init()
        PKCS#7: Handle PKCS#7 messages that contain no X.509 certs
        PKCS#7: Better handling of unsupported crypto
        KEYS: Overhaul key identification when searching for asymmetric keys
        KEYS: Implement binary asymmetric key ID handling
        ...

  commit d0ca47575ab3b41bb7f0fe5feec13c6cddb2913a
  Merge: 4ee9f61 1f25df2
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 09:33:42 2014 -0400

      Merge branch 'parisc-3.18-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

      Pull parisc fix from Helge Deller:
       "This patch intentionally breaks the ABI on PARISC Linux!

        It assigns new numbers to SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS so
        that those are below 32 and thus leaves us with 32 RT signals like
        other Linux architectures (SIGRTMIN now becomes 32 instead of 37).

        Even if it breaks the ABI, it doesn't seem to have any visible impact
        on existing userspace applications.  I was able to mix new kernel
        and/or glibc without impacting normal bootup.  So, even if it breaks
        the ABI, the benefits (e.g.  being able to use systemd on PARISC
        Linux) outperforms the minimal (if any) impact it gives.

        The patch has been discussed on the parisc kernel mailing list and the
        coresponding glibc patch will be committed by the parisc glibc
        maintainer after this patch went into 3.18.

        Some more background information about this patch is in the commit
        message"

      [ Side note: the "no regressions" rule has always been about *users*,
        not ABI's.  You can change ABI's all you like, until somebody actually
        notices.  At that point it gets reverted regardless of how good your
        reasons and excuses.

        And admittedly, with parisc, the distinct lack of many users makes
        that fairly unlikely anyway :^p    - Linus ]

      * 'parisc-3.18-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux 
architectures

  commit 4ee9f6112923f270e67a9bac9f554494153d5de6
  Merge: ce254b3 eabde0f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 09:30:38 2014 -0400

      Merge tag 'platform-drivers-x86-v3.18-1' of 
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86

      Pull x86 platform driver updates from Darren Hart:
       "The following have all spent at least a few days in linux-next, most
        for more than a week.  These are mostly cleanups and error handling
        improvements with a few updates to extend existing support to newer
        hardware.

        Details:
         - dell-wmi: fix access out of memory
         - eeepc-laptop: cleanups, refactoring, sysfs perms, and improved
           error handling
         - intel-rst: ACPI and error handling cleanups
         - thinkpad-acpi: whitespace cleanup
         - toshiba_acpi: HCI/SCI interface update, keyboard backlight type 2
           support, new scancodes, cleanups"

      * tag 'platform-drivers-x86-v3.18-1' of 
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (23 commits)
        toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type
        toshiba_acpi: Change HCI/SCI functions return code type
        toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS
        toshiba_acpi: Rename hci_raw to tci_raw
        dell-wmi: Fix access out of memory
        eeepc-laptop: clean up control flow in *_rfkill_notifier
        eeepc-laptop: store_cpufv: return error if set_acpi fails
        eeepc-laptop: check proper return values in get_cpufv
        eeepc-laptop: make fan1_input really read-only
        eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros
        eeepc-laptop: tell sysfs that the disp attribute is write-only
        eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros
        eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes
        eeepc-laptop: change sysfs function names to API expectations
        eeepc-laptop: clean up coding style
        eeepc-laptop: simplify parse_arg()
        intel-rst: Clean up ACPI add function
        intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error 
checking
        x86: thinkpad_acpi.c: fixed spacing coding style issue
        toshiba_acpi: Support new keyboard backlight type
        ...

  commit ce254b34da41b121c6d781fea8940090c0107a20
  Merge: 47e0de1 887e701
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 09:21:57 2014 -0400

      Merge tag 'tiny/no-advice-fixup-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux

      Pull tinification fix from Josh "Paper Bag" Triplett:
       "Fixup to use PATCHv2 of 'mm: Support compiling out madvise and
        fadvise'"

      * tag 'tiny/no-advice-fixup-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux:
        mm: Support fadvise without CONFIG_MMU

  commit 47e0de1a74505537788dad41a55a7bdc224462b9
  Merge: 90eac7e ce6a144
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 09:16:43 2014 -0400

      Merge tag 'kselftest-3.18-updates-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

      Pull kselftest updates from Shuah Khan:
       - fix for missing arguments to printf
       - fix to build failures on 32-bit systems.
       - enhancement to run memfd_test run on all architectures as most
         architectures support __NR_memfd_create

      * tag 'kselftest-3.18-updates-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/memfd: Run test on all architectures
        memfd_test: Add missing argument to printf()
        memfd_test: Make it work on 32-bit systems

  commit 90eac7eee2f4257644dcfb9d22348fded7c24afd
  Merge: 6bbcb1d 89c5497
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 07:33:37 2014 -0400

      Merge tag 'ftracetest-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

      Pull ftrace test code from Steven Rostedt:
       "This patch series starts a new selftests section in the
        tools/testing/selftest directory called "ftrace" that holds tests
        aimed at testing ftrace and subsystems that use ftrace (like kprobes).

        So far only a few tests were written (by Masami Hiramatsu), but more
        will be added in the near future (3.19)"

      * tag 'ftracetest-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup 
test
        ftracetest: Add POSIX.3 standard and XFAIL result codes
        ftracetest: Add kprobe basic testcases
        ftracetest: Add ftrace basic testcases
        ftracetest: Initial commit for ftracetest

  commit 6bbcb1d3a2e0a31593e3b7d9bfd112fa7f447141
  Merge: 8df6be1 d832d74
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 07:32:26 2014 -0400

      Merge tag 'ktest-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest

      Pull ktest update from Steven Rostedt:
       "A fix and a clean up to ktest, as well as two small features.

         - A way to allow users to skip a manual bisect.
         - Allowing cherry picked patches to be tested.

        The cherry pick worked for a test I needed, but stressing it may not
        have all the desired effects.  It doesn't cause any regressions so I
        kept it in"

      * tag 'ktest-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Don't bother with bisect good or bad on replay
        ktest: Fix check for new kernel success on rebooting to good kernel
        ktest: add ability to skip during BISECT_MANUAL
        ktest: Add PATCHCHECK_CHERRY

  commit 8df6be116c87314e35c2ac9de35561b57f87739f
  Merge: 9837acf addff1f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 07:28:55 2014 -0400

      Merge tag 'trace-3.18-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

      Pull tracing fixes from Steven Rostedt:
       "Seems that Peter Zijlstra added a new check that is making old code
        scream nasty warnings:

          WARNING: CPU: 0 PID: 91 at kernel/sched/core.c:7253 
__might_sleep+0x9a/0x378()
          do not call blocking ops when !TASK_RUNNING; state=1 set at 
[<ffffffff8d79b511>] event_test_thread+0x48/0x93
          Call Trace:
            __might_sleep+0x9a/0x378
            down_read+0x26/0x98
            exit_signals+0x27/0x1c2
            do_exit+0x193/0x10bd
            kthread+0x156/0x156
            ret_from_fork+0x7a/0xb0

        These are triggered by some self tests that run at start up when
        configure in.  Although the code is technically correct, they are a
        little sloppy and not very robust.  They work now because it runs at
        boot up and the tests do not call anything that might trigger a
        spurious wake up.  But that doesn't mean those tests wont change in
        the future.

        It's best to clean them now to make sure the tests used to test the
        internal workings of the system don't cause breakage themselves.

        This also quiets the warnings made by the new checks"

      * tag 'trace-3.18-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Clean up scheduling in trace_wakeup_test_thread()
        tracing: Robustify wait loop

  commit 9837acff77f51e40ab21521e914aa19f85beb312
  Merge: ca32188 3ddee63
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sun Oct 12 07:27:19 2014 -0400

      Merge tag 'trace-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

      Pull tracing updates from Steven Rostedt:
       "This set has a few minor updates, but the big change is the redesign
        of the trampoline logic.

        The trampoline logic of 3.17 required a descriptor for every function
        that is registered to be traced and uses a trampoline.  Currently,
        only the function graph tracer uses a trampoline, but if you were to
        trace all 32,000 (give or take a few thousand) functions with the
        function graph tracer, it would create 32,000 descriptors to let us
        know that there's a trampoline associated with it.  This takes up a
        bit of memory when there's a better way to do it.

        The redesign now reuses the ftrace_ops' (what registers the function
        graph tracer) hash tables.  The hash tables tell ftrace what the
        tracer wants to trace or doesn't want to trace.  There's two of them:
        one that tells us what to trace, the other tells us what not to trace.
        If the first one is empty, it means all functions should be traced,
        otherwise only the ones that are listed should be.  The second hash
        table tells us what not to trace, and if it is empty, all functions
        may be traced, and if there's any listed, then those should not be
        traced even if they exist in the first hash table.

        It took a bit of massaging, but now these hashes can be used to keep
        track of what has a trampoline and what does not, and allows the
        ftrace accounting to work.  Now we can trace all functions when using
        the function graph trampoline, and avoid needing to create any special
        descriptors to hold all the functions that are being traced"

      * tag 'trace-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Only disable ftrace_enabled to test buffer in selftest
        ftrace: Add sanity check when unregistering last ftrace_ops
        kernel: trace_syscalls: Replace rcu_assign_pointer() with 
RCU_INIT_POINTER()
        tracing: generate RCU warnings even when tracepoints are disabled
        ftrace: Replace tramp_hash with old_*_hash to save space
        ftrace: Annotate the ops operation on update
        ftrace: Grab any ops for a rec for enabled_functions output
        ftrace: Remove freeing of old_hash from ftrace_hash_move()
        ftrace: Set callback to ftrace_stub when no ops are registered
        ftrace: Add helper function ftrace_ops_get_func()
        ftrace: Add separate function for non recursive callbacks

  commit 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab
  Author: Helge Deller <deller@xxxxxx>
  Date:   Fri Oct 10 22:20:17 2014 +0200

      parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux 
architectures

      This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus
      increasing the number of available RT signals and bring it in sync with 
other
      Linux architectures.

      Historically we wanted to natively support HP-UX 32bit binaries with the
      PA-RISC Linux port.  Because of that we carried the various available 
signals
      from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native
      Linux signals.  Although this was the right decision at that time, this
      required us to increase SIGRTMIN to at least 37 which left us with 27 
(64-37)
      RT signals.

      Those 27 RT signals haven't been a problem in the past, but with the 
upcoming
      importance of systemd we now got the problem that systemd alloctes 
(hardcoded)
      signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that 
we
      have not been able to use systemd on the PARISC Linux port yet.

      Of course we could ask the systemd developers to not use those hardcoded
      values, but this change is very unlikely, esp. with PA-RISC being a niche
      architecture.

      The other possibility would be to increase NSIG to e.g. 128, but this 
would
      mean to duplicate most of the existing Linux signal handling code into the
      parisc specific Linux kernel tree which would most likely introduce lots 
of new
      bugs beside the code duplication.

      The third option is to drop some HP-UX signals and shuffle some other 
signals
      around to bring SIGRTMIN to 32.  This is of course an ABI change, but 
testing
      has shown that existing Linux installations are not visibly affected by 
this
      change - most likely because we move those signals around which are 
rarely used
      and move them to slots which haven't been used in Linux yet. In an 
existing
      installation I was able to exchange either the Linux kernel or glibc (or 
both)
      without affecting the boot process and installed applications.

      Dropping the HP-UX signals isn't an issue either, since support for HP-UX 
was
      basically dropped a few months back with Kernel 3.14 in commit
      f5a408d53edef3af07ac7697b8bc54a755628450 already, when we changed 
EWOULDBLOCK
      to be equal to EAGAIN.

      So, even if this is an ABI change, it's better to change it now and thus 
bring
      PARISC Linux in sync with other architectures to avoid other issues in the
      future.

      Signed-off-by: Helge Deller <deller@xxxxxx>
      Cc: Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
      Cc: John David Anglin <dave.anglin@xxxxxxxx>
      Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
      Cc: Aaro Koskinen <aaro.koskinen@xxxxxx>
      Cc: PARISC Linux Kernel Mailinglist <linux-parisc@xxxxxxxxxxxxxxx>
      Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx>

  commit ca321885b0511a85e2d1cd40caafedbeb18f4af6
  Merge: 052db7e 01d2d48
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 21:19:00 2014 -0400

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

      Pull networking fixes from David Miller:
       "This set fixes a bunch of fallout from the changes that went in during
        this merge window, particularly:

         - Fix fsl_pq_mdio (Claudiu Manoil) and fm10k (Pranith Kumar) build
           failures.

         - Several networking drivers do atomic_set() on page counts where
           that's not exactly legal.  From Eric Dumazet.

         - Make __skb_flow_get_ports() work cleanly with unaligned data, from
           Alexander Duyck.

         - Fix some kernel-doc buglets in rfkill and netlabel, from Fabian
           Frederick.

         - Unbalanced enable_irq_wake usage in bcmgenet and systemport
           drivers, from Florian Fainelli.

         - pxa168_eth needs to depend on HAS_DMA, from Geert Uytterhoeven.

         - Multi-dequeue in the qdisc layer severely bypasses the fairness
           limits the previous code used to enforce, reintroduce in a way that
           at the same time doesn't compromise bulk dequeue opportunities.
           From Jesper Dangaard Brouer.

         - macvlan receive path unnecessarily hops through a softirq by using
           netif_rx() instead of netif_receive_skb().  From Jason Baron"

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (51 commits)
        net: systemport: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: avoid unbalanced enable_irq_wake calls
        net: bcmgenet: fix off-by-one in incrementing read pointer
        net: fix races in page->_count manipulation
        mlx4: fix race accessing page->_count
        ixgbe: fix race accessing page->_count
        igb: fix race accessing page->_count
        fm10k: fix race accessing page->_count
        net/phy: micrel: Add clock support for KSZ8021/KSZ8031
        flow-dissector: Fix alignment issue in __skb_flow_get_ports
        net: filter: fix the comments
        Documentation: replace __sk_run_filter with __bpf_prog_run
        macvlan: optimize the receive path
        macvlan: pass 'bool' type to macvlan_count_rx()
        drivers: net: xgene: Add 10GbE ethtool support
        drivers: net: xgene: Add 10GbE support
        drivers: net: xgene: Preparing for adding 10GbE support
        dtb: Add 10GbE node to APM X-Gene SoC device tree
        Documentation: dts: Update section header for APM X-Gene
        MAINTAINERS: Update APM X-Gene section
        ...

  commit 052db7ec86dff26f734031c3ef5c2c03a94af0af
  Merge: fd9879b bdcf81b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 20:36:34 2014 -0400

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

      Pull sparc updates from David Miller:

       1) Move to 4-level page tables on sparc64 and support up to 53-bits of
          physical addressing.  Kernel static image BSS size reduced by
          several megabytes.

       2) M6/M7 cpu support, from Allan Pais.

       3) Move to sparse IRQs, handle hypervisor TLB call errors more
          gracefully, and add T5 perf_event support.  From Bob Picco.

       4) Recognize cdroms and compute geometry from capacity in virtual disk
          driver, also from Allan Pais.

       5) Fix memset() return value on sparc32, from Andreas Larsson.

       6) Respect gfp flags in dma_alloc_coherent on sparc32, from Daniel
          Hellstrom.

       7) Fix handling of compound pages in virtual disk driver, from Dwight
          Engen.

       8) Fix lockdep warnings in LDC layer by moving IRQ requesting to
          ldc_alloc() from ldc_bind().

       9) Increase boot string length to 1024 bytes, from Dave Kleikamp.

      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (31 commits)
        sparc64: Fix lockdep warnings on reboot on Ultra-5
        sparc64: Increase size of boot string to 1024 bytes
        sparc64: Kill unnecessary tables and increase MAX_BANKS.
        sparc64: sparse irq
        sparc64: Adjust vmalloc region size based upon available virtual 
address bits.
        sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53.
        sparc64: Use kernel page tables for vmemmap.
        sparc64: Fix physical memory management regressions with large 
max_phys_bits.
        sparc64: Adjust KTSB assembler to support larger physical addresses.
        sparc64: Define VA hole at run time, rather than at compile time.
        sparc64: Switch to 4-level page tables.
        sparc64: Fix reversed start/end in flush_tlb_kernel_range()
        sparc64: Add vio_set_intr() to enable/disable Rx interrupts
        vio: fix reuse of vio_dring slot
        sunvdc: limit each sg segment to a page
        sunvdc: compute vdisk geometry from capacity
        sunvdc: add cdrom and v1.1 protocol support
        sparc: VIO protocol version 1.6
        sparc64: Fix hibernation code refrence to PAGE_OFFSET.
        sparc64: Move request_irq() from ldc_bind() to ldc_alloc()
        ...

  commit fd9879b9bb3258ebc27a4cc6d2d29f528f71901f
  Merge: 81ae31d d53ba6b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 20:34:00 2014 -0400

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux

      Pull powerpc updates from Michael Ellerman:
       "Here's a first pull request for powerpc updates for 3.18.

        The bulk of the additions are for the "cxl" driver, for IBM's Coherent
        Accelerator Processor Interface (CAPI).  Most of it's in drivers/misc,
        which Greg & Arnd maintain, Greg said he was happy for us to take it
        through our tree.

        There's the usual minor cleanups and fixes, including a bit of noise
        in drivers from some of those.  A bunch of updates to our EEH code,
        which has been getting more testing.  Several nice speedups from
        Anton, including 20% in clear_page().

        And a bunch of updates for freescale from Scott"

      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: 
(130 commits)
        cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
        cxl: Add documentation for userspace APIs
        cxl: Add driver to Kbuild and Makefiles
        cxl: Add userspace header file
        cxl: Driver code for powernv PCIe based cards for userspace access
        cxl: Add base builtin support
        powerpc/mm: Add hooks for cxl
        powerpc/opal: Add PHB to cxl mode call
        powerpc/mm: Add new hash_page_mm()
        powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
        cxl: Add new header for call backs and structs
        powerpc/powernv: Split out set MSI IRQ chip code
        powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
        powerpc/msi: Improve IRQ bitmap allocator
        powerpc/cell: Make spu_flush_all_slbs() generic
        powerpc/cell: Move data segment faulting code out of cell platform
        powerpc/cell: Move spu_handle_mm_fault() out of cell platform
        powerpc/pseries: Use new defines when calling H_SET_MODE
        powerpc: Update contact info in Documentation files
        powerpc/perf/hv-24x7: Simplify catalog_read()
        ...

  commit 81ae31d78239318610d7c2acb3e2610d622a5aa4
  Merge: ef4a48c 95afae4
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 20:29:01 2014 -0400

      Merge tag 'stable/for-linus-3.18-rc0-tag' of 
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

      Pull Xen updates from David Vrabel:
       "Features and fixes:

         - Add pvscsi frontend and backend drivers.
         - Remove _PAGE_IOMAP PTE flag, freeing it for alternate uses.
         - Try and keep memory contiguous during PV memory setup (reduces
           SWIOTLB usage).
         - Allow front/back drivers to use threaded irqs.
         - Support large initrds in PV guests.
         - Fix PVH guests in preparation for Xen 4.5"

      * tag 'stable/for-linus-3.18-rc0-tag' of 
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits)
        xen: remove DEFINE_XENBUS_DRIVER() macro
        xen/xenbus: Remove BUG_ON() when error string trucated
        xen/xenbus: Correct the comments for xenbus_grant_ring()
        x86/xen: Set EFER.NX and EFER.SCE in PVH guests
        xen: eliminate scalability issues from initrd handling
        xen: sync some headers with xen tree
        xen: make pvscsi frontend dependant on xenbus frontend
        arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen 
options
        xen-scsifront: don't deadlock if the ring becomes full
        x86: remove the Xen-specific _PAGE_IOMAP PTE flag
        x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings
        x86: skip check for spurious faults for non-present faults
        xen/efi: Directly include needed headers
        xen-scsiback: clean up a type issue in scsiback_make_tpg()
        xen-scsifront: use GFP_ATOMIC under spin_lock
        MAINTAINERS: Add xen pvscsi maintainer
        xen-scsiback: Add Xen PV SCSI backend driver
        xen-scsifront: Add Xen PV SCSI frontend driver
        xen: Add Xen pvSCSI protocol description
        xen/events: support threaded irqs for interdomain event channels
        ...

  commit 65dd8327eb055a393a413a2214f70a9a10ff7ad6
  Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
  Date:   Sat Oct 11 19:56:34 2014 -0400

      ext4: delete useless comments about ext4_move_extents

      In patch 'ext4: refactor ext4_move_extents code base',  Dmitry Monakhov 
has
      refactored ext4_move_extents' implementation, but forgot to update the
      corresponding comments, this patch will try to delete some useless 
comments.

      Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
      Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx>
      Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>

  commit 0ff8947fc5f700172b37cbca811a38eb9cb81e08
  Author: Eric Sandeen <sandeen@xxxxxxxxxx>
  Date:   Sat Oct 11 19:51:17 2014 -0400

      ext4: fix reservation overflow in ext4_da_write_begin

      Delalloc write journal reservations only reserve 1 credit,
      to update the inode if necessary.  However, it may happen
      once in a filesystem's lifetime that a file will cross
      the 2G threshold, and require the LARGE_FILE feature to
      be set in the superblock as well, if it was not set already.

      This overruns the transaction reservation, and can be
      demonstrated simply on any ext4 filesystem without the LARGE_FILE
      feature already set:

      dd if=/dev/zero of=testfile bs=1 seek=2147483646 count=1 \
        conv=notrunc of=testfile
      sync
      dd if=/dev/zero of=testfile bs=1 seek=2147483647 count=1 \
        conv=notrunc of=testfile

      leads to:

      EXT4-fs: ext4_do_update_inode:4296: aborting transaction: error 28 in 
__ext4_handle_dirty_super
      EXT4-fs error (device loop0) in ext4_do_update_inode:4301: error 28
      EXT4-fs error (device loop0) in ext4_reserve_inode_write:4757: Readonly 
filesystem
      EXT4-fs error (device loop0) in ext4_dirty_inode:4876: error 28
      EXT4-fs error (device loop0) in ext4_da_write_end:2685: error 28

      Adjust the number of credits based on whether the flag is
      already set, and whether the current write may extend past the
      LARGE_FILE limit.

      Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
      Signed-off-by: Theodore Ts'o <tytso@xxxxxxx>
      Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx>
      Cc: stable@xxxxxxxxxxxxxxx

  commit 4af6600fd793023c01634cca5abfe4a2b707788f
  Merge: 447a8b8 68da166
  Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
  Date:   Sat Oct 11 11:41:19 2014 -0700

      Merge branch 'next' into for-linus

      Prepare second round of input updates for 3.18.

  commit 68da166491655bc54051bf04c78ce648e2e33508
  Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
  Date:   Fri Oct 10 12:19:03 2014 -0700

      Input: i8042 - disable active multiplexing by default

      Active multiplexing is a nice feature as it allows several pointing 
devices
      (such as touchpad and external mouse) use their native protocols at the
      same time. Unfortunately many manufacturers do not implement the feature
      properly even though they advertise it. The problematic implementations 
are
      never fixed, since Windows by default does not use this mode, and move 
from
      one BIOS/model of laptop to another. When active multiplexing is broken
      turning it on usually results in touchpad, keyboard, or both unresponsive.

      With PS/2 usage on decline (most of PS/2 devices in use nowadays are
      internal laptop touchpads), I expect number of users who have laptops with
      working MUX implementation, docking stations with external PS/2 ports, and
      who are still using external PS/2 mice, to be rather small. Let's flip the
      default to be OFF and allow activating it through i8042.nomux=0 kernel
      option.  We'll also keep DMI table where we can record known good models.

      Acked-by: Jiri Kosina <jkosina@xxxxxxx>
      Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 9ff84a17302aeb8913ff244ecc0d8f9d219fecb5
  Author: Hans de Goede <hdegoede@xxxxxxxxxx>
  Date:   Sat Oct 11 11:27:37 2014 -0700

      Input: i8042 - add noloop quirk for Asus X750LN

      Without this the aux port does not get detected, and consequently the
      touchpad will not work.

      https://bugzilla.redhat.com/show_bug.cgi?id=1110011

      Cc: stable@xxxxxxxxxxxxxxx
      Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit aa972409951e0675e07918620427517cad5090e0
  Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
  Date:   Tue Sep 2 09:49:18 2014 -0700

      Input: synaptics - gate forcepad support by DMI check

      Unfortunately, ForcePad capability is not actually exported over PS/2, so
      we have to resort to DMI checks.

      Cc: stable@xxxxxxxxxxxxxxx
      Reported-by: Nicole Faerber <nicole.faerber@xxxxxxxxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 9d93551188069a0a21e664b4bfc89ed4a6df1903
  Merge: dd4cae8 bfe01a5
  Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
  Date:   Sat Oct 11 11:34:07 2014 -0700

      Merge tag 'v3.17' into next

      Synchronize with mainline to bring in changes to Synaptics and i8042
      drivers.

  commit ef4a48c513211d842c55e84f7a1c31884b91dcf7
  Merge: 90d0c37 1b2b32d
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 13:21:34 2014 -0400

      Merge tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux

      Pull file locking related changes from Jeff Layton:
       "This release is a little more busy for file locking changes than the
        last:

         - a set of patches from Kinglong Mee to fix the lockowner handling in
           knfsd
         - a pile of cleanups to the internal file lease API.  This should get
           us a bit closer to allowing for setlease methods that can block.

        There are some dependencies between mine and Bruce's trees this cycle,
        and I based my tree on top of the requisite patches in Bruce's tree"

      * tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux: (26 commits)
        locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING
        locks: flock_make_lock should return a struct file_lock (or PTR_ERR)
        locks: set fl_owner for leases to filp instead of current->files
        locks: give lm_break a return value
        locks: __break_lease cleanup in preparation of allowing direct removal 
of leases
        locks: remove i_have_this_lease check from __break_lease
        locks: move freeing of leases outside of i_lock
        locks: move i_lock acquisition into generic_*_lease handlers
        locks: define a lm_setup handler for leases
        locks: plumb a "priv" pointer into the setlease routines
        nfsd: don't keep a pointer to the lease in nfs4_file
        locks: clean up vfs_setlease kerneldoc comments
        locks: generic_delete_lease doesn't need a file_lock at all
        nfsd: fix potential lease memory leak in nfs4_setlease
        locks: close potential race in lease_get_mtime
        security: make security_file_set_fowner, f_setown and __f_setown void 
return
        locks: consolidate "nolease" routines
        locks: remove lock_may_read and lock_may_write
        lockd: rip out deferred lock handling from testlock codepath
        NFSD: Get reference of lockowner when coping file_lock
        ...

  commit 90d0c376f5ee1927327b267faf15bf970476f09e
  Merge: ac0c493 a43bb39
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 08:03:52 2014 -0400

      Merge branch 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs

      Pull btrfs updates from Chris Mason:
       "The largest set of changes here come from Miao Xie.  He's cleaning up
        and improving read recovery/repair for raid, and has a number of
        related fixes.

        I've merged another set of fsync fixes from Filipe, and he's also
        improved the way we handle metadata write errors to make sure we force
        the FS readonly if things go wrong.

        Otherwise we have a collection of fixes and cleanups.  Dave Sterba
        gets a cookie for removing the most lines (thanks Dave)"

      * 'for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (139 commits)
        btrfs: Fix compile error when CONFIG_SECURITY is not set.
        Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off
        btrfs: Make btrfs handle security mount options internally to avoid 
losing security label.
        Btrfs: send, don't delay dir move if there's a new parent inode
        btrfs: add more superblock checks
        Btrfs: fix race in WAIT_SYNC ioctl
        Btrfs: be aware of btree inode write errors to avoid fs corruption
        Btrfs: remove redundant btrfs_verify_qgroup_counts declaration.
        btrfs: fix shadow warning on cmp
        Btrfs: fix compilation errors under DEBUG
        Btrfs: fix crash of btrfs_release_extent_buffer_page
        Btrfs: add missing end_page_writeback on submit_extent_page failure
        btrfs: Fix the wrong condition judgment about subset extent map
        Btrfs: fix build_backref_tree issue with multiple shared blocks
        Btrfs: cleanup error handling in build_backref_tree
        btrfs: move checks for DUMMY_ROOT into a helper
        btrfs: new define for the inline extent data start
        btrfs: kill extent_buffer_page helper
        btrfs: drop constant param from btrfs_release_extent_buffer_page
        btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB
        ...

  commit ac0c49396d5ed9a33f08ce661635ac1bff80bb4f
  Merge: eca9fdf 6174c2e
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 08:02:31 2014 -0400

      Merge branch 'for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

      Pull UDF and quota updates from Jan Kara:
       "A few UDF fixes and also a few patches which are preparing filesystems
        for support of project quotas in VFS"

      * 'for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix loading of special inodes
        ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr()
        udf: remove redundant sys_tz declaration
        ocfs2: Don't use MAXQUOTAS value
        reiserfs: Don't use MAXQUOTAS value
        ext3: Don't use MAXQUOTAS value
        udf: Fix race between write(2) and close(2)

  commit eca9fdf32dd48976eab18d310acb0b8d4cc9bf26
  Merge: 41e46ac 0f9e2bf
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 08:01:27 2014 -0400

      Merge tag 'ecryptfs-3.18-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs

      Pull eCryptfs updates from Tyler Hicks:
       "Minor code cleanups and a fix for when eCryptfs metadata is stored in
        xattrs"

      * tag 'ecryptfs-3.18-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        ecryptfs: remove unneeded buggy code in ecryptfs_do_create()
        ecryptfs: avoid to access NULL pointer when write metadata in xattr
        ecryptfs: remove unnecessary break after goto
        ecryptfs: Remove unnecessary include of syscall.h in keystore.c
        fs/ecryptfs/messaging.c: remove null test before kfree
        ecryptfs: Drop cast
        Use %pd in eCryptFS

  commit 41e46ac0fae9583d81e6b148329fec627d192181
  Merge: 27a9716 d29c0af
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 08:00:16 2014 -0400

      Merge tag 'gfs2-merge-window' of 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw

      Pull gfs2 updates from Steven Whitehouse:
       "This time we have a couple of bug fixes, one relating to bad i_goal
        values which are now ignored (i_goal is basically a hint so it is safe
        to so this) and another relating to the saving of the dirent location
        during rename.

        There is one performance improvement, which is an optimisation in
        rgblk_free so that multiple block deallocations will now be more
        efficient, and one clean up patch to use _RET_IP_ rather than writing
        it out longhand"

      * tag 'gfs2-merge-window' of 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0)
        GFS2: Use gfs2_rbm_incr in rgblk_free
        GFS2: Make rename not save dirent location
        GFS2: fix bad inode i_goal values during block allocation

  commit 27a9716bc80448f7e98fb1fb316daba241a4c539
  Merge: e98d6e7 93899a6
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 06:49:24 2014 -0400

      Merge tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio

      Pull VFIO updates from Alex Williamson:
       - Nested IOMMU extension to type1 (Will Deacon)
       - Restore MSIx message before enabling (Gavin Shan)
       - Fix remove path locking (Alex Williamson)

      * tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio:
        vfio-pci: Fix remove path locking
        drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL
        vfio/pci: Restore MSIx message prior to enabling
        PCI: Export MSI message relevant functions
        vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type
        iommu: introduce domain attribute for nesting IOMMUs

  commit e98d6e7f7625ed60c7bc1d39aeb2375ed3918fd5
  Merge: 4e0b7fe 2118f4b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 06:47:50 2014 -0400

      Merge tag 'devicetree-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux

      Pull devicetree changes from Grant Likely:
       "This branch contains bug fixes and new features for the devicetree
        code.

        Most of the changes are either new testcases for the selftest code or
        documentation changes.  The most notable change is the addition of a
        phandle resolver for use when grafting in a second device tree blob
        into the core tree.  The resolver isn't currently used by anything
        other than the selftest module, but it will be used to support device
        tree overlays; probably in the v3.19 timeframe.

        Also note that I've moved my normal tree from git.secretlab.ca to
        git.kernel.org"

      * tag 'devicetree-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
        of/selftest: Move hash table off stack to fix large frame size
        To remove non-ascii characters in of_selftest.txt
        of/selftest: Use the resolver to fixup phandles
        of: Introduce Device Tree resolve support.
        of/selftest: Add a test for duplicate phandles
        of: Don't try to search when phandle == 0
        of/selftest: Test structure of device tree
        of: Fix NULL dereference in selftest removal code
        of: add vendor prefix for Chipidea
        of: Add vendor prefix for Innolux Corporation
        of: Add vendor prefix for Sitronix
        devicetree: bindings: Document Gateworks vendor prefix
        of: Add vendor prefix for Energy Micro
        dt/documentation: add specification of dma bus information

  commit 4e0b7fe38345b81930363b9f1b4b324181ddcc9e
  Merge: f43b179 b6af73b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 06:38:33 2014 -0400

      Merge tag 'backlight-for-linus-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight

      Pull backlight driver updates from Lee Jones:
       "Changes to existing drivers:
         - Checkpatch fixes
         - Removal of unused code in generic_bl
         - Removal of superfluous .owner attribute

        No new or removed drivers/supported devices"

      * tag 'backlight-for-linus-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: omap1: add blank line after declarations
        backlight: jornada720: Remove 'else' after a return
        backlight: jornada720: Remove 'else' after a return
        backlight: wm831x_bl: Add blank line after declarations
        backlight: tdo24m: Add blank line after declarations
        backlight: s6e63m0: Remove 'else' after a return
        backlight: pcf50633: Add blank line after declarations
        backlight: lp855x: Add blank line after declarations
        backlight: lms501kf03: Remove 'else' after a return
        backlight: lm3639: Remove unnecessary return statements
        backlight: ld9040: Remove 'else' after a return
        backlight: ili922x: Remove 'else' after a return
        backlight: cr_bllcd: Add blank line after declarations
        backlight: corgi_lcd: Add blank line after declarations
        backlight: ams369fg06: Remove 'else' after a return
        backlight: adp8870: Add blank line after declarations
        backlight: adp8860: Add blank line after declarations
        backlight: adp5520: Add blank line after declarations
        backlight: generic_bl: Remove unused function
        backlight: Remove .owner field for drivers using module_platform_driver

  commit f43b179bbd84d2106c6fb8c7f2db1bfacff19f62
  Merge: a2ce352 583f958
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Sat Oct 11 06:34:22 2014 -0400

      Merge tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc

      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Fix SDIO IRQ bug
         - MMC regulator improvements
         - Fix slot-gpio card detect bug
         - Add support for Driver Stage Register
         - Convert the common MMC OF parser to use GPIO descriptors
         - Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk()
         - Some additional minor fixes

        MMC host:
         - mmci: Support Qualcomm specific DML layer for DMA
         - dw_mmc: Use common MMC regulators
         - dw_mmc: Add support for Rock-chips RK3288
         - tmio: Enable runtime PM support
         - tmio: Add support for R-Car Gen2 SoCs
         - tmio: Several fixes and improvements
         - omap_hsmmc: Removed Balaji from MAINTAINERS
         - jz4740: add DMA and pre/post support
         - sdhci: Add support for Intel Braswell
         - sdhci: Several fixes and improvements"

      * tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 
commits)
        ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board
        mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency
        mmc: sdhci-acpi: Pass HID and UID to probe_slot
        mmc: sdhci-acpi: Get UID directly from acpi_device
        mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst
        mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency
        mmc: sdhci: Let a driver override timeout clock frequency
        mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect
        mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host 
controllers
        mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller
        mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host 
controllers
        mmc: sdhci: Add quirk for always getting TC with stop cmd
        mmc: core: restore detect line inversion semantics
        mmc: Fix incorrect warning when setting 0 Hz via debugfs
        mmc: Fix use of wrong device in mmc_gpiod_free_cd()
        mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot
        mmc: rtsx_pci: Set power related cap2 macros
        mmc: core: Add new power_mode MMC_POWER_UNDEFINED
        mmc: sdhci: execute tuning when device is not busy
        mmc: atmel-mci: Release mmc resources on failure in probe
        ..

  commit a2ce35273c2f1aa0dcddd8822681d64ee5f31852
  Merge: bf65dea fd1a2a9
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 22:13:25 2014 -0400

      Merge tag 'sound-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

      Pull sound updates from Takashi Iwai:
       "This time it's a relatively calm update batch, but the amount isn't
        too small in the end.  Here we go over some highlights:

        ALSA core:
         - One major change is the support of nonatomic PCM operations.  This
           allows the trigger and other callbacks to call schedule(), which
           would be useful for mailbox type communications.  Already some
           drivers (Digigram ones) have been converted to use together with
           threaded irqs as an example.
         - Improvement / fixes of DSD PCM format support

        HD-audio:
         - Large volume of rewrites are found in Realtek codec driver for
           converting Dell and HP quirks to generic forms.
         - Inverted dmic code cleanup from David.
         - Realtek COEF access has been optimized.
         - Now HD-audio jack infrastructure allows multiple callbacks, which
           fixes / simplifies the jack-dependent power controls on STAC/IDT
           and VIA codecs.
         - Many additional device-specific fixups as usual
         - A few deadcode cleanups, CA0132 code cleanup, etc.

        ASoC:
         - More componentization work from Lars-Peter, this time mainly
           cleaning up the suspend and bias level transition callbacks.
         - Real system support for the Intel drivers and a bunch of fixes and
           enhancements for the associated CODEC drivers, this is going to
           need a lot quirks over time due to the lack of any firmware
           description of the boards.
         - Jack detect support for simple card from Dylan Reid.
         - A bunch of small fixes and enhancements for the Freescale drivers.
         - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32,
           Everest Semiconductor ES8328 and Freescale cards using the ASRC in
           newer i.MX processors.
         - A few simple-card fixes, mostly cleanups but also a fix for
           interaction between GPIO 0 and simple-card.

        Misc:
         - Virtuoso / Oxygen updates by Clemens
         - USB-audio: Yamaha MOTIF XF MIDI port name fixes
         - Conversion of kernel messages to standard dev_*() in ctxfi driver"

      * tag 'sound-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits)
        ASoC: mc13783: Ensure we only try to dereference valid of_nodes
        ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl
        ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e)
        ALSA: Allow pass NULL dev for snd_pci_quirk_lookup()
        ASoC: imx-es8328: Fix of_node_put() call with uninitialized object
        ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb()
        ASoC: simple-card: Initialize headphone and mic GPIO numbers
        ASoC: imx-es8328: Fix missing return code in imx_es8328_probe()
        ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212)
        ALSA: usb: caiaq: check for cdev->n_streams > 1
        ASoC: 88pm860x-codec: Fix possibly missing string termination
        ASoC: core: fix use after free in snd_soc_remove_platform()
        ASoC: soc-dapm: fix use after free
        ALSA: hda - Make the inv dmic handling for Realtek use generic parser
        ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G)
        ALSA: hda - Add inverted internal mic for Asus Aspire 4830T
        ASoC: Intel: byt-rt5640: fix coccinelle warnings
        ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string
        ASoC: da732x: Remove unnecessary KERN_ERR in pr_err()
        ASoC: simple-card: Fix detect gpio documentation.
        ...

  commit bf65dea87e87c53ba4f97c6432761498bc977efd
  Merge: 4d9708e d0585cd
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 22:07:55 2014 -0400

      Merge tag 'edac/v3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac

      Pull edac updates from Mauro Carvalho Chehab:
       "Nothing really exiting here: just one bug fix at sb_edac, and some
        changes to allow other drivers to use some shared PCI addresses"

      * tag 'edac/v3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:
        sb_edac: Claim a different PCI device
        Move Intel SNB device ids from sb_edac to pci_ids.h
        sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel

  commit 4d9708ea5e5a45973df7cf965805fdfb185dd5bf
  Merge: 754c780 a66d05d
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 22:04:49 2014 -0400

      Merge tag 'media/v3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

      Pull media updates from Mauro Carvalho Chehab:

       - new IR driver: hix5hd2-ir

       - the virtual test driver (vivi) was replaced by vivid, with has an
         almost complete set of features to emulate most v4l2 devices and
         properly test all sorts of userspace apps

       - the as102 driver had several bugs fixed and was properly split into a
         frontend and a core driver.  With that, it got promoted from staging
         into mainstream

       - one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver)

       - one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522)

       - one new PCI driver for ISDB-T/ISDB-S (pt3 driver)

       - saa7134 driver got support for go7007-based devices

       - added a new PCI driver for Techwell 68xx chipsets (tw68)

       - a new platform driver was added (coda)

       - new tuner drivers: mxl301rf and qm1d1c0042

       - a new DVB USB driver was added for DVBSky S860 & similar devices

       - added a new SDR driver (hackrf)

       - usbtv got audio support

       - several platform drivers are now compiled with COMPILE_TEST

       - a series of compiler fixup patches, making sparse/spatch happier with
         the media stuff and removing several warnings, especially on those
         platform drivers that didn't use to compile on x86

       - Support for several new modern devices got added

       - lots of other fixes, improvements and cleanups

      * tag 'media/v3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits)
        [media] ir-hix5hd2: fix build on c6x arch
        [media] pt3: fix DTV FE I2C driver load error paths
        Revert "[media] media: em28xx - remove reset_resume interface"
        [media] exynos4-is: fix some warnings when compiling on arm64
        [media] usb drivers: use %zu instead of %zd
        [media] pci drivers: use %zu instead of %zd
        [media] dvb-frontends: use %zu instead of %zd
        [media] s5p-mfc: Fix several printk warnings
        [media] s5p_mfc_opr: Fix warnings
        [media] ti-vpe: Fix typecast
        [media] s3c-camif: fix dma_addr_t printks
        [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
        [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
        [media] em28xx: Fix identation
        [media] drxd: remove a dead code
        [media] saa7146: remove return after BUG()
        [media] cx88: remove return after BUG()
        [media] cx88: fix cards table CodingStyle
        [media] radio-sf16fmr2: declare some structs as static
        [media] radio-sf16fmi: declare pnp_attached as static
        ...

  commit 754c780953397dd5ee5191b7b3ca67e09088ce7a
  Merge: 40c4326 b4bbb10
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 16:56:08 2014 -0400

      Merge branch 'for-v3.18' of 
git://git.linaro.org/people/mszyprowski/linux-dma-mapping

      Pull dma-mapping update from Marek Szyprowski:
       "Provide the dma write coherent api (available previously on ARM
        architecture) for all other architectures, which use dma_ops-based dma
        mapping implementation.

        This lets one to use the same code in the device drivers regardless of
        the selected architecture"

      * 'for-v3.18' of 
git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        dma-mapping: Provide write-combine allocations
        s390: Implement dma_{alloc,free}_attrs()

  commit 40c43269cf8e88a0bdc306c717d1dd5446a6f3b8
  Merge: 93834c6 3afb57f
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 16:40:14 2014 -0400

      Merge tag 'hwmon-for-linus-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

      Pull hwmon updates from Guenter Roeck:
       - new driver for menf21bmc.
       - convert k10temp, smsc47b397, da9052, da9055 to new hwmon API.
       - register ntc_thermistor driver with thermal subsystem.
       - add support for F15h M60h to k10temp driver.
       - add driver for MEN14F021P00 BMC HWMON driver; this required a merge
         with tag mfd-hwmon-leds-watchdog-v3.18

      * tag 'hwmon-for-linus-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ab8500) Call kernel_power_off instead of pm_power_off
        hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver
        leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver
        watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver
        mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver
        hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a 
sensor.
        hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups
        MAINTAINERS: add entry for the PWM fan driver
        hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups
        hwmon: (k10temp) Add support for F15h M60h
        hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups
        hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups
        hwmon: (ads1015) Use of_property_read_u32 at appropriate places

  commit 93834c6419bccf102a17971c6b114826597a61c5
  Merge: c798360 6cd6d94
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 16:38:02 2014 -0400

      Merge tag 'restart-handler-for-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

      Pull restart handler infrastructure from Guenter Roeck:
       "This series was supposed to be pulled through various trees using it,
        and I did not plan to send a separate pull request.  As it turns out,
        the pinctrl tree did not merge with it, is now upstream, and uses it,
        meaning there are now build failures.

        Please pull this series directly to fix those build failures"

      * tag 'restart-handler-for-v3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        arm/arm64: unexport restart handlers
        watchdog: sunxi: register restart handler with kernel restart handler
        watchdog: alim7101: register restart handler with kernel restart handler
        watchdog: moxart: register restart handler with kernel restart handler
        arm: support restart through restart handler call chain
        arm64: support restart through restart handler call chain
        power/restart: call machine_restart instead of arm_pm_restart
        kernel: add support for kernel restart handler call chain

  commit 887e7019e3b8f00c7901c0bc66fb689ced69f7b4
  Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 13:12:28 2014 -0700

      mm: Support fadvise without CONFIG_MMU

      Commit d3ac21cacc24790eb45d735769f35753f5b56ceb ("mm: Support compiling
      out madvise and fadvise") incorrectly made fadvise conditional on
      CONFIG_MMU.  (The merged branch unintentionally incorporated v1 of the
      patch rather than the fixed v2.)  Apply the delta from v1 to v2, to
      allow fadvise without CONFIG_MMU.

      Reported-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

  commit bdcf81b658ebc4c2640c3c2c55c8b31c601b6996
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:49:16 2014 -0400

      sparc64: Fix lockdep warnings on reboot on Ultra-5

      Inconsistently, the raw_* IRQ routines do not interact with and update
      the irqflags tracing and lockdep state, whereas the raw_* spinlock
      interfaces do.

      This causes problems in p1275_cmd_direct() because we disable hardirqs
      by hand using raw_local_irq_restore() and then do a raw_spin_lock()
      which triggers a lockdep trace because the CPU's hw IRQ state doesn't
      match IRQ tracing's internal software copy of that state.

      The CPU's irqs are disabled, yet current->hardirqs_enabled is true.

      ====================
      reboot: Restarting system
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3536 
check_flags+0x7c/0x240()
      DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
      Modules linked in: openpromfs
      CPU: 0 PID: 1 Comm: systemd-shutdow Tainted: G        W      3.17.0-dirty 
#145
      Call Trace:
       [000000000045919c] warn_slowpath_common+0x5c/0xa0
       [0000000000459210] warn_slowpath_fmt+0x30/0x40
       [000000000048f41c] check_flags+0x7c/0x240
       [0000000000493280] lock_acquire+0x20/0x1c0
       [0000000000832b70] _raw_spin_lock+0x30/0x60
       [000000000068f2fc] p1275_cmd_direct+0x1c/0x60
       [000000000068ed28] prom_reboot+0x28/0x40
       [000000000043610c] machine_restart+0x4c/0x80
       [000000000047d2d4] kernel_restart+0x54/0x80
       [000000000047d618] SyS_reboot+0x138/0x200
       [00000000004060b4] linux_sparc_syscall32+0x34/0x60
      ---[ end trace 5c439fe81c05a100 ]---
      possible reason: unannotated irqs-off.
      irq event stamp: 2010267
      hardirqs last  enabled at (2010267): [<000000000049a358>] 
vprintk_emit+0x4b8/0x580
      hardirqs last disabled at (2010266): [<0000000000499f08>] 
vprintk_emit+0x68/0x580
      softirqs last  enabled at (2010046): [<000000000045d278>] 
__do_softirq+0x378/0x4a0
      softirqs last disabled at (2010039): [<000000000042bf08>] 
do_softirq_own_stack+0x28/0x40
      Resetting ...
      ====================

      Use local_* variables of the hw IRQ interfaces so that IRQ tracing sees
      all of our changes.

      Reported-by: Meelis Roos <mroos@xxxxxxxx>
      Tested-by: Meelis Roos <mroos@xxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 01d2d484e49e9bc0ed9b5fdaf345a0e2bf35ffed
  Merge: 35b7a19 61b423a
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:39:22 2014 -0400

      Merge branch 'bcmgenet_systemport'

      Florian Fainelli says:

      ====================
      net: bcmgenet & systemport fixes

      This patch series fixes an off-by-one error introduced during a previous
      change, and the two other fixes fix a wake depth imbalance situation for
      the Wake-on-LAN interrupt line.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 61b423a8a0bd9aeaa046f9a24bed42e3a953a936
  Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
  Date:   Fri Oct 10 10:51:54 2014 -0700

      net: systemport: avoid unbalanced enable_irq_wake calls

      Multiple enable_irq_wake() calls will keep increasing the IRQ
      wake_depth, which ultimately leads to the following types of
      situation:

      1) enable Wake-on-LAN interrupt w/o password
      2) enable Wake-on-LAN interrupt w/ password
      3) enable Wake-on-LAN interrupt w/o password
      4) disable Wake-on-LAN interrupt

      After step 4), SYSTEMPORT would always wake-up the system no matter what
      wake-up device we use, which is not what we want. Fix this by making
      sure there are no unbalanced enable_irq_wake() calls.

      Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 083731a8fbe71d83fc908adf137dc98ee352f280
  Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
  Date:   Fri Oct 10 10:51:53 2014 -0700

      net: bcmgenet: avoid unbalanced enable_irq_wake calls

      Multiple enable_irq_wake() calls will keep increasing the IRQ
      wake_depth, which ultimately leads to the following types of
      situation:

      1) enable Wake-on-LAN interrupt w/o password
      2) enable Wake-on-LAN interrupt w/ password
      3) enable Wake-on-LAN interrupt w/o password
      4) disable Wake-on-LAN interrupt

      After step 4), GENET would always wake-up the system no matter what
      wake-up device we use, which is not what we want. Fix this by making
      sure there are no unbalanced enable_irq_wake() calls.

      Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit cf377d886f7944a5ccdbd164b89949e13617b096
  Author: Florian Fainelli <f.fainelli@xxxxxxxxx>
  Date:   Fri Oct 10 10:51:52 2014 -0700

      net: bcmgenet: fix off-by-one in incrementing read pointer

      Commit b629be5c8399d7c423b92135eb43a86c924d1cbc ("net: bcmgenet: check
      harder for out of memory conditions") moved the increment of the local
      read pointer *before* reading from the hardware descriptor using
      dmadesc_get_length_status(), which creates an off-by-one situation.

      Fix this by moving again the read_ptr increment after we have read the
      hardware descriptor to get both the control block and the read pointer
      back in sync.

      Fixes: b629be5c8399 ("net: bcmgenet: check harder for out of memory 
conditions")
      Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
      Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Acked-by: Petri Gynther <pgynther@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 35b7a1915aa33da812074744647db0d9262a555c
  Merge: 1fadee0 4c45058
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:37:36 2014 -0400

      Merge branch 'net-drivers-pgcnt'

      Eric Dumazet says:

      ====================
      net: fix races accessing page->_count

      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      The only case it is valid is when page->_count is 0, we can use this in
      __netdev_alloc_frag()

      Note that I never seen crashes caused by these races, the issue was 
reported
      by Andres Lagar-Cavilla and Hugh Dickins.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4c450583d9d0a8241f0f62b80038ac47b43ff843
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 04:48:18 2014 -0700

      net: fix races in page->_count manipulation

      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      The only case it is valid is when page->_count is 0

      Fixes: 540eb7bf0bbed ("net: Update alloc frag to reduce get/put page 
usage and recycle pages")
      Signed-off-by: Eric Dumaze <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 98226208c8a1fe5834e92d827a2a1e8051a17943
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 04:48:17 2014 -0700

      mlx4: fix race accessing page->_count

      This is illegal to use atomic_set(&page->_count, ...) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit ec91698360b3818ff426488a1529811f7a7ab87f
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 04:48:16 2014 -0700

      ixgbe: fix race accessing page->_count

      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 00cd5adb0313f540aa58672d14e764d164586a43
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 04:48:15 2014 -0700

      igb: fix race accessing page->_count

      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 42b0270b40e2ad692ef59e28233202ee6f293e1e
  Author: Eric Dumazet <edumazet@xxxxxxxxxx>
  Date:   Fri Oct 10 04:48:14 2014 -0700

      fm10k: fix race accessing page->_count

      This is illegal to use atomic_set(&page->_count, 2) even if we 'own'
      the page. Other entities in the kernel need to use get_page_unless_zero()
      to get a reference to the page before testing page properties, so we could
      loose a refcount increment.

      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 1fadee0c364572f2b2e098b34001fbaa82ee2e00
  Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
  Date:   Fri Oct 10 09:48:05 2014 +0200

      net/phy: micrel: Add clock support for KSZ8021/KSZ8031

      The KSZ8021 and KSZ8031 support RMII reference input clocks of 25MHz
      and 50MHz. Both PHYs differ in the default frequency they expect
      after reset. If this differs from the actual input clock, then
      register 0x1f bit 7 must be changed.

      Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
      Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5af7fb6e3e92c2797ee30d66138cf6aa6b29240d
  Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
  Date:   Fri Oct 10 12:09:12 2014 -0700

      flow-dissector: Fix alignment issue in __skb_flow_get_ports

      This patch addresses a kernel unaligned access bug seen on a sparc64 
system
      with an igb adapter.  Specifically the __skb_flow_get_ports was returning 
a
      be32 pointer which was then having the value directly returned.

      In order to prevent this it is actually easier to simply not populate the
      ports or address values when an skb is not present.  In this case the
      assumption is that the data isn't needed and rather than slow down the
      faster aligned accesses by making them have to assume the unaligned path 
on
      architectures that don't support efficent unaligned access it makes more
      sense to simply switch off the bits that were copying the source and
      destination address/port for the case where we only care about the 
protocol
      types and lengths which are normally 16 bit fields anyway.

      Reported-by: David S. Miller <davem@xxxxxxxxxxxxx>
      Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 2991dd2b0117e864f394c826af6df144206ce0db
  Author: Richard Guy Briggs <rgb@xxxxxxxxxx>
  Date:   Thu Oct 2 22:05:24 2014 -0400

      audit: rename audit_log_remove_rule to disambiguate for trees

      Rename audit_log_remove_rule() to audit_tree_log_remove_rule() to avoid
      confusion with watch and mark rule removal/changes.

      Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx>
      Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>

  commit 8ea6e345a6123fa831e42cd8747f55892a58abff
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 10 13:56:51 2014 +0800

      net: filter: fix the comments

      1. sk_run_filter has been renamed, sk_filter() is using SK_RUN_FILTER.
      2. Remove wrong comments about storing intermediate value.
      3. replace sk_run_filter with __bpf_prog_run for check_load_and_stores's
      comments

      Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 1a9525f68e948d53cf99c963bdbf01223a08f4ed
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Fri Oct 10 11:36:54 2014 +0800

      Documentation: replace __sk_run_filter with __bpf_prog_run

      __sk_run_filter has been renamed as __bpf_prog_run, so replace them in 
comments

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3ab52c69282fbc7384fe7e9d14f68ce11040feac
  Merge: 2403077 d1dd9119
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:09:51 2014 -0400

      Merge branch 'macvlan'

      Jason Baron says:

      ====================
      macvlan: optimize receive path

      So after porting this optimization to net-next, I found that the netperf
      results of TCP_RR regress right at the maximum peak of transactions/sec. 
That
      is as I increase the number of threads via the first argument to 
super_netperf,
      the number of transactions/sec keep increasing, peak, and then start
      decreasing. It is right at the peak, that I see a small regression with 
this
      patch (see results in patch 2/2).

      Without the patch, the ksoftirqd threads are the top cpu consumers 
threads on
      the system, since the extra 'netif_rx()', is queuing more softirq work, 
whereas
      with the patch, the ksoftirqd threads are below all of the 'netserver' 
threads
      in terms of their cpu usage. So there appears to be some interaction 
between how
      softirqs are serviced at the peak here and this patch. I think the test 
results
      are still supportive of this approach, but I wanted to be clear on my 
findings.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit d1dd911930885659420421cfe123957610c54299
  Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx>
  Date:   Fri Oct 10 03:13:31 2014 +0000

      macvlan: optimize the receive path

      The netif_rx() call on the fast path of macvlan_handle_frame() appears to
      be there to ensure that we properly throttle incoming packets. However, it
      would appear as though the proper throttling is already in place for all
      possible ingress paths, and that the call is redundant. If packets are 
arriving
      from the physical NIC, we've already throttled them by this point. 
Otherwise,
      if they are coming via macvlan_queue_xmit(), it calls either
      'dev_forward_skb()', which ends up calling netif_rx_internal(), or else in
      the broadcast case, we are throttling via macvlan_broadcast_enqueue().

      The test results below are from off the box to an lxc instance running 
macvlan.
      Once the tranactions/sec stop increasing, the cpu idle time has gone to 0.
      Results are from a quad core Intel E3-1270 V2@xxxxxxx box with bnx2x 10G 
card.

      for i in {10,100,200,300,400,500};
      do super_netperf $i -H $ip -t TCP_RR; done
      Average of 5 runs.

      trans/sec                  trans/sec
      (3.17-rc7-net-next)      (3.17-rc7-net-next + this patch)
      ----------               ----------
      208101                   211534 (+1.6%)
      839493                   850162 (+1.3%)
      845071                   844053 (-.12%)
      816330                   819623 (+.4%)
      778700                   789938 (+1.4%)
      735984                   754408 (+2.5%)

      Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 4c9799359bc691becc888f97a4b5bb035cb206f9
  Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx>
  Date:   Fri Oct 10 03:13:27 2014 +0000

      macvlan: pass 'bool' type to macvlan_count_rx()

      Pass last argument to macvlan_count_rx() as the correct bool type.

      Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e85322d21cfebeac64f58a204e9adc0bc5c1e46f
  Author: Richard Guy Briggs <rgb@xxxxxxxxxx>
  Date:   Thu Oct 2 22:05:19 2014 -0400

      audit: cull redundancy in audit_rule_change

      Re-factor audit_rule_change() to reduce the amount of code redundancy and
      simplify the logic.

      Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx>
      Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>

  commit 739c95038e68d364b01c0fc6f8fb8e47b1c1e979
  Author: Eric Paris <eparis@xxxxxxxxxx>
  Date:   Fri Oct 10 15:05:21 2014 -0400

      audit: WARN if audit_rule_change called illegally

      Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>

  commit 2403077d47991a8385789779ee5fc90b003f9fbe
  Merge: 38b3629 41aace6
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:07:02 2014 -0400

      Merge branch 'xgene'

      Iyappan Subramanian says:

      ====================
      Add 10GbE support to APM X-Gene SoC ethernet driver

      Adding 10GbE support to APM X-Gene SoC ethernet driver.

      v4: Address comments from v3
      * dtb: resolved merge conflict for the net tree

      v3: Address comments from v2
      * dtb: changed to use all-zeros for the mac address

      v2: Address comments from v1
      * created preparatory patch to review before adding new functionality
      * dtb: updated to use tabs consistently

      v1:
      * Initial version
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 41aace6e088d198f2441f3d0e579657d6815234c
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:07 2014 -0700

      drivers: net: xgene: Add 10GbE ethtool support

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 0148d38d36b76b190ddddff68f02d2617ada3bcb
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:06 2014 -0700

      drivers: net: xgene: Add 10GbE support

      - Added 10GbE support
      - Removed unused macros/variables
      - Moved mac_init call to the end of hardware init

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit d0eb74582fa7b5c15710d293a3c4d8d3409ae165
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:05 2014 -0700

      drivers: net: xgene: Preparing for adding 10GbE support

      - Rearranged code to pave the way for adding 10GbE support
      - Added mac_ops structure containing function pointers for mac specific 
functions
      - Added port_ops structure containing function pointers for port specific 
functions

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5fb32417b7e52d2e6d5f5c64d277a03e5c998a02
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:04 2014 -0700

      dtb: Add 10GbE node to APM X-Gene SoC device tree

      Added 10GbE interface and clock nodes.

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 5239b978b686e336a501680c80399e4786ac12fc
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:03 2014 -0700

      Documentation: dts: Update section header for APM X-Gene

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b61d18904e2a99ed16b6e97d5419f1db19e08bd2
  Author: Iyappan Subramanian <isubramanian@xxxxxxx>
  Date:   Thu Oct 9 18:32:02 2014 -0700

      MAINTAINERS: Update APM X-Gene section

      Updated APM X-Gene ethernet driver maintainers list.

      Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx>
      Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3639f17068ed40e4e208a6e218481d49817bbd56
  Author: Richard Guy Briggs <rgb@xxxxxxxxxx>
  Date:   Thu Oct 2 22:05:18 2014 -0400

      audit: put rule existence check in canonical order

      Use same rule existence check order as audit_make_tree(), 
audit_to_watch(),
      update_lsm_rule() for legibility.

      Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx>
      Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>

  commit 38b3629adb8c048dda8b98e888505c79ed33ae92
  Author: Alexei Starovoitov <ast@xxxxxxxxxxxx>
  Date:   Thu Oct 9 15:16:41 2014 -0700

      net: bpf: fix bpf syscall dependence on anon_inodes

      minimal configurations where EPOLL, PERF_EVENTS, etc are disabled,
      but NET is enabled, are failing to build with link error:
      kernel/built-in.o: In function `bpf_prog_load':
      syscall.c:(.text+0x3b728): undefined reference to `anon_inode_getfd'

      fix it by selecting ANON_INODES when NET is enabled

      Reported-by: Michal Sojka <sojkam1@xxxxxxxxxxx>
      Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7b6fa1eef68591b0ba27f16c149180ce1cf7047f
  Merge: 4511a4a f0d1f04
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 15:01:09 2014 -0400

      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next

      Pablo Neira Ayuso says:

      ====================
      Netfilter fixes for net-next

      This batch contains two fixes for what you have in your net-next,
      they are:

      1) Remove nf_send_reset6() from header file. This function now resides
         in the nf_reject_ipv6 module. Reported by Eric Dumazet.

      2) Fix wrong NFT_REJECT_ICMPX_MAX definition and adjust code to fix
         errors reported by Dan Carpenter's static analysis tools.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 95e8d97e9b78040285defe482e1edf8b6341a4c1
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 15:39:02 2014 -0300

      perf ui browsers: Add missing include

      This file needs the K_{RIGHT,etc} definitions but isn't including the
      file where they are defined, ui/keysyms.h, fix it.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-jlpybqegpdauzx64l9r1jgm3@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 4318bcb70ecc567dd0414d87fcd7e926ce956aab
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 15:46:05 2014 -0300

      perf tools: Move events_stats struct to event.h

      This is the only bit of hist.h that session.[ch] will end up using, so
      move it out of hist.h to make that abundantly clear.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-l9ftsl21ggw0c1g2ig87otmd@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 4511a4a50e1a8757f771681c3e92dbf5a928eeac
  Merge: 3dab99e 1fca350
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 14:49:55 2014 -0400

      Merge tag 'master-2014-10-08' of 
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next

      John W. Linville says:

      ====================
      pull request: wireless-next 2014-10-09

      Please pull this batch of fixes intended for the 3.18 stream!

      Andrea Merello makes rtl818x_pci use a more reasonable transmission
      rate for HW generated frames.

      Fabian Frederick tweaks some kernel-doc bits to avoid warnings.

      Larry Finger corrects a possible unaligned access in the rtlwifi code.

      Marek Puzyniak avoids a kernel panic in ath9k_hw_reset.

      Sujith Manoharan goes for the hat trick -- he fixes a smatch warning
      in the shared ath code, he fixes a crash in ath9k, and he corrects
      a sequence number assignment problem in ath9k too.

      For ease of merging, I pulled the last bits of the wireless tree as 
well...

      Please let me know if there are problems!
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3dab99e0b37e16525949757f46e33fb9612c73ec
  Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 10:10:36 2014 -0500

      stmmac: correct mc_filter local variable in set_filter and set_mac_addr 
call

      Testing revealed that the local variable mc_filter was dimensioned
      incorrectly for all possible configurations and get_mac_addr should
      have been set_mac_addr (a typo). Make sure mc_filter is dimensioned
      to 8 32-bit unsigned longs - the largest size of the Synopsys
      multicast filter register set.

      Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx>
      Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 3b3d136cf7e5e8e5ec80850e25bfea3e70d1bbe8
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 16:15:42 2014 +0200

      net: pxa168_eth: PXA168_ETH should depend on HAS_DMA

      If NO_DMA=y:

      drivers/built-in.o: In function `rxq_deinit':
      pxa168_eth.c:(.text+0x2a2f2e): undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `txq_reclaim':
      pxa168_eth.c:(.text+0x2a3044): undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `txq_deinit':
      pxa168_eth.c:(.text+0x2a310a): undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `txq_init':
      pxa168_eth.c:(.text+0x2a3226): undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `rxq_init':
      pxa168_eth.c:(.text+0x2a32d4): undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `init_hash_table':
      pxa168_eth.c:(.text+0x2a3354): undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `rxq_refill':
      pxa168_eth.c:(.text+0x2a345a): undefined reference to `dma_map_single'
      drivers/built-in.o: In function `rxq_process':
      pxa168_eth.c:(.text+0x2a39cc): undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `pxa168_eth_remove':
      pxa168_eth.c:(.text+0x2a3b84): undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `pxa168_eth_start_xmit':
      pxa168_eth.c:(.text+0x2a3e8a): undefined reference to `dma_map_single'

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit c2329ade22844054f4dce79fb9358d8f9f0421a5
  Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
  Date:   Fri Oct 10 15:12:15 2014 -0300

      perf session: Don't count per evsel events

      PERF_RECORD_SAMPLE was not being counted here and is the only per-evsel
      thing anyway, the other events were not mapping to a evsel.

      With this we don't require that evsels used with a perf_session need to
      have space for hists, like the ones in annotate, report, top.

      Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
      Cc: Borislav Petkov <bp@xxxxxxx>
      Cc: David Ahern <dsahern@xxxxxxxxx>
      Cc: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Jean Pihet <jean.pihet@xxxxxxxxxx>
      Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
      Cc: Mike Galbraith <efault@xxxxxx>
      Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Stephane Eranian <eranian@xxxxxxxxxx>
      Link: http://lkml.kernel.org/n/tip-kzchpz0l1mhrsfpkirz086m2@xxxxxxxxxxxxxx
      Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

  commit 05df78059b3b991036666de9ee124d5cbd9e375d
  Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
  Date:   Sun Oct 5 16:33:25 2014 +0200

      RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis

      Parenthesis around constants serves no purpose, save the bits!

      Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit de12348535a93535c408de396d3505541ca5e0d6
  Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
  Date:   Sun Oct 5 16:33:24 2014 +0200

      RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it

      No need to re-invent the wheel here

      Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit beb9b703811736adfc608034d1f0d5cf0c8a7073
  Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
  Date:   Sun Oct 5 16:33:23 2014 +0200

      RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc()

      Get rid of obfuscating ocrdma_alloc_mqe() kzalloc() wrapper as all it
      did was to make it less visible that the structure was already cleared
      on allocation.

      Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit e5dc9409933b21732a8c370e9f7cf79c2c92cbcb
  Author: Li RongQing <roy.qing.li@xxxxxxxxx>
  Date:   Mon Sep 29 14:59:43 2014 +0800

      RDMA/ocrdma: Remove a unused-label warning

      If IPV6 is disabled, we get the warning:

          drivers/infiniband/hw/ocrdma/ocrdma_main.c:650:1: warning: label 
â??err_notifier6â?? defined but not used [-Wunused-label]

      Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 1b76d38332271d5a0468ae5e465c5ea534c473c6
  Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
  Date:   Fri Sep 5 19:35:40 2014 +0530

      RDMA/ocrdma: Convert kernel VA to PA for mmap in user

      In some platforms, when iommu is enabled, the bus address returned by
      dma_alloc_coherent is different than the physical address.  ocrdma
      should use physical address for mmap-ing the queue memory for the
      applications.

      This patch adds the use of virt_to_phys() at all such places where
      kernel buffer is mapped to user process context.

      Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit bf67472ca1fac19c81367601bd4ba7d17bdc9f6e
  Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx>
  Date:   Fri Aug 22 16:57:20 2014 +0530

      RDMA/ocrdma: Get vlan tag from ib_qp_attrs

      After IP-based GID changes, VLAN id can be obtained from
      qp_attr->vlan_id.

      Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
      Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 7ec11e0a14ae0a7a8fdce78860a70f25508de395
  Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
  Date:   Fri Aug 22 16:57:19 2014 +0530

      RDMA/ocrdma: Add default GID at index 0

      Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx>
      Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>

  commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068
  Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
  Date:   Fri Oct 10 23:32:49 2014 +0900

      ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88

      This patch fixes a failure to open PCM device with -ENOSYS in
      Terratec Phase 88.

      Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit
      to switch source of clock. One is to switch internal/external for the
      source and another is to switch word/spdif for the external clock.

      The IDs for these Selector Function Blocks are 9 and 8. But in current
      implementation they're 0 and 0.

      Reported-by: András Murányi <muranyia@xxxxxxxxx>
      Tested-by: András Murányi <muranyia@xxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+
      Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
      Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

  commit c798360cd1438090d51eeaa8e67985da11362eba
  Merge: b211e9d 6ae833c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 07:26:02 2014 -0400

      Merge branch 'for-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu

      Pull percpu updates from Tejun Heo:
       "A lot of activities on percpu front.  Notable changes are...

         - percpu allocator now can take @gfp.  If @gfp doesn't contain
           GFP_KERNEL, it tries to allocate from what's already available to
           the allocator and a work item tries to keep the reserve around
           certain level so that these atomic allocations usually succeed.

           This will replace the ad-hoc percpu memory pool used by
           blk-throttle and also be used by the planned blkcg support for
           writeback IOs.

           Please note that I noticed a bug in how @gfp is interpreted while
           preparing this pull request and applied the fix 6ae833c7fe0c
           ("percpu: fix how @gfp is interpreted by the percpu allocator")
           just now.

         - percpu_ref now uses longs for percpu and global counters instead of
           ints.  It leads to more sparse packing of the percpu counters on
           64bit machines but the overhead should be negligible and this
           allows using percpu_ref for refcnting pages and in-memory objects
           directly.

         - The switching between percpu and single counter modes of a
           percpu_ref is made independent of putting the base ref and a
           percpu_ref can now optionally be initialized in single or killed
           mode.  This allows avoiding percpu shutdown latency for cases where
           the refcounted objects may be synchronously created and destroyed
           in rapid succession with only a fraction of them reaching fully
           operational status (SCSI probing does this when combined with
           blk-mq support).  It's also planned to be used to implement forced
           single mode to detect underflow more timely for debugging.

        There's a separate branch percpu/for-3.18-consistent-ops which cleans
        up the duplicate percpu accessors.  That branch causes a number of
        conflicts with s390 and other trees.  I'll send a separate pull
        request w/ resolutions once other branches are merged"

      * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: 
(33 commits)
        percpu: fix how @gfp is interpreted by the percpu allocator
        blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode
        percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky
        percpu_ref: add PERCPU_REF_INIT_* flags
        percpu_ref: decouple switching to percpu mode and reinit
        percpu_ref: decouple switching to atomic mode and killing
        percpu_ref: add PCPU_REF_DEAD
        percpu_ref: rename things to prepare for decoupling percpu/atomic mode 
switch
        percpu_ref: replace pcpu_ prefix with percpu_
        percpu_ref: minor code and comment updates
        percpu_ref: relocate percpu_ref_reinit()
        Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall 
during probe"
        Revert "percpu: free percpu allocation info for uniprocessor system"
        percpu-refcount: make percpu_ref based on longs instead of ints
        percpu-refcount: improve WARN messages
        percpu: fix locking regression in the failure path of pcpu_alloc()
        percpu-refcount: add @gfp to percpu_ref_init()
        proportions: add @gfp to init functions
        percpu_counter: add @gfp to percpu_counter_init()
        percpu_counter: make percpu_counters_lock irq-safe
        ...

  commit b211e9d7c861bdb37b86d6384da9edfb80949ceb
  Merge: d9428f09 e756c7b
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 07:24:40 2014 -0400

      Merge branch 'for-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

      Pull cgroup updates from Tejun Heo:
       "Nothing too interesting.  Just a handful of cleanup patches"

      * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        Revert "cgroup: remove redundant variable in cgroup_mount()"
        cgroup: remove redundant variable in cgroup_mount()
        cgroup: fix missing unlock in cgroup_release_agent()
        cgroup: remove CGRP_RELEASABLE flag
        perf/cgroup: Remove perf_put_cgroup()
        cgroup: remove redundant check in cgroup_ino()
        cpuset: simplify proc_cpuset_show()
        cgroup: simplify proc_cgroup_show()
        cgroup: use a per-cgroup work for release agent
        cgroup: remove bogus comments
        cgroup: remove redundant code in cgroup_rmdir()
        cgroup: remove some useless forward declarations
        cgroup: fix a typo in comment.

  commit d9428f09763d307a6d2220c4bbb01d8fc5c55b52
  Merge: 0cf744b 37017ac
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Fri Oct 10 07:23:11 2014 -0400

      Merge branch 'for-3.18' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata

      Pull libata update from Tejun Heo:
       "AHCI is getting per-port irq handling and locks for better
        scalability.  The gain is not huge but measureable with multiple high
        iops devices connected to the same host; however, the value of
        threaded IRQ handling seems negligible for AHCI and it likely will
        revert to non-threaded handling soon.

        Another noteworthy change is George Spelvin's "libata: Un-break ATA
        blacklist".  During 3.17 devel cycle, the libata blacklist glob
        matching got generalized and rewritten; unfortunately, the patch
        forgot to swap arguments to match the new match function and ended up
        breaking blacklist matching completely.  It got noticed only a couple
        days ago so it couldn't make for-3.17-fixes either.  :(

        Other than the above two, nothing too interesting - the usual cleanup
        churns and device-specific changes"

      * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: 
(22 commits)
        pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE 
Controller
        libata: Un-break ATA blacklist
        AHCI: Do not acquire ata_host::lock from single IRQ handler
        AHCI: Optimize single IRQ interrupt processing
        AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode
        AHCI: Make few function names more descriptive
        AHCI: Move host activation code into ahci_host_activate()
        AHCI: Move ahci_host_activate() function to libahci.c
        AHCI: Pass SCSI host template as arg to ahci_host_activate()
        ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro
        AHCI: Cleanup checking of multiple MSIs/SLM modes
        libata-sff: Fix controllers with no ctl port
        ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC 
AHCI SATA Host Controller driver.
        libata: change ata_<foo>_printk routines to return void
        ata: qcom: Add device tree bindings information
        ahci-platform: Bump max number of clocks to 5
        ahci: ahci_p5wdh_workaround - constify DMI table
        libahci_platform: Staticize ahci_platform_<en/dis>able_phys()
        pata_platform: Remove useless irq_flags field
        pata_of_platform: Remove "electra-ide" quirk
        ...

  commit 4a513fb009b96cf3d86491e00565367ceec29073
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Wed Sep 17 14:56:20 2014 -0700

      arm64: kvm: define PAGE_S2_DEVICE as read-only by default

      Now that we support read-only memslots, we need to make sure that
      pass-through device mappings are not mapped writable if the guest
      has requested them to be read-only. The existing implementation
      already honours this by calling kvm_set_s2pte_writable() on the new
      pte in case of writable mappings, so all we need to do is define
      the default pgprot_t value used for devices to be PTE_S2_RDONLY.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 903ed3a54df2f6234c50f696b8a3db78c26ea119
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Wed Sep 17 14:56:19 2014 -0700

      ARM: kvm: define PAGE_S2_DEVICE as read-only by default

      Now that we support read-only memslots, we need to make sure that
      pass-through device mappings are not mapped writable if the guest
      has requested them to be read-only. The existing implementation
      already honours this by calling kvm_set_s2pte_writable() on the new
      pte in case of writable mappings, so all we need to do is define
      the default pgprot_t value used for devices to be PTE_S2_RDONLY.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit c40f2f8ff833eddc02cb599ef6e5a162223449ba
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Wed Sep 17 14:56:18 2014 -0700

      arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap

      Add support for read-only MMIO passthrough mappings by adding a
      'writable' parameter to kvm_phys_addr_ioremap. For the moment,
      mappings will be read-write even if 'writable' is false, but once
      the definition of PAGE_S2_DEVICE gets changed, those mappings will
      be created read-only.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit 37b544087ef3f65ca68465ba39291a07195dac26
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Wed Sep 17 14:56:17 2014 -0700

      arm/arm64: KVM: fix potential NULL dereference in user_mem_abort()

      Handle the potential NULL return value of find_vma_intersection()
      before dereferencing it.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit e9e8578b6cdfba0259e99e79f0cb80c55c99b3c2
  Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
  Date:   Wed Sep 17 14:56:16 2014 -0700

      arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages

      Pass __GFP_ZERO to __get_free_pages() instead of calling memset()
      explicitly.

      Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
      Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
      Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>

  commit c675c7db629bd1abf4a9a36c0200686716eeea05
  Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
  Date:   Tue Oct 7 15:55:33 2014 +0530

      powerpc/book3s: Don't clear MSR_RI in hmi handler.

      In HMI interrupt handler we don't touch SRR0/SRR1, instead we touch
      HSRR0/HSRR1. Hence we don't need to clear MSR_RI bit.

      Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit 1028ccf560b97adbf272381a61a67e17d44d1054
  Author: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx>
  Date:   Thu Oct 2 15:41:39 2014 +0100

      powerpc: Fix sys_call_table declaration to enable syscall tracing

      Declaring sys_call_table as a pointer causes the compiler to generate
      the wrong lookup code in arch_syscall_addr().

           <arch_syscall_addr>:
              lis     r9,-16384
              rlwinm  r3,r3,2,0,29
        -     lwz     r11,30640(r9)
        -     lwzx    r3,r11,r3
        +     addi    r9,r9,30640
        +     lwzx    r3,r9,r3
              blr

      The actual sys_call_table symbol, declared in assembler, is an
      array. If we lie about that to the compiler we get the wrong code
      generated, as above.

      This definition seems only to be used by the syscall tracing code in
      kernel/trace/trace_syscalls.c. With this patch I can successfully use
      the syscall tracepoints:

        bash-3815  [002] ....   333.239082: sys_write -> 0x2
        bash-3815  [002] ....   333.239087: sys_dup2(oldfd: a, newfd: 1)
        bash-3815  [002] ....   333.239088: sys_dup2 -> 0x1
        bash-3815  [002] ....   333.239092: sys_fcntl(fd: a, cmd: 1, arg: 0)
        bash-3815  [002] ....   333.239093: sys_fcntl -> 0x1
        bash-3815  [002] ....   333.239094: sys_close(fd: a)
        bash-3815  [002] ....   333.239094: sys_close -> 0x0

      Signed-off-by: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx>
      Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

  commit b71b12dce200e4709bd9f709e71c84dcb2cf8a82
  Author: Pranith Kumar <bobby.prani@xxxxxxxxx>
  Date:   Fri Oct 10 01:19:06 2014 -0400

      networking: fm10k: Fix build failure

      The latest linus git tip (3.18-rc1) fails with the following build 
failure. Fix
      this by making PTP support explicit for fm10k driver.

      rivers/built-in.o: In function `fm10k_ptp_register':
      (.text+0x12e760): undefined reference to `ptp_clock_registER'
      drivers/built-in.o: In function `fm10k_ptp_unregister':
      (.text+0x12e7dc): undefined reference to `ptp_clock_unregister'
      Makefile:930: recipe for target 'vmlinux' failed

      Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7b4ecf39a2fb2285b3ffc869411461a3e83e1b63
  Author: LEROY Christophe <christophe.leroy@xxxxxx>
  Date:   Thu Oct 9 16:54:43 2014 +0200

      net: fs_enet: error: 'SCCE_ENET_TXF' undeclared

      [linux-devel:devel-hourly-2014100909 3763/3915] 
drivers/net/ethernet/freescale/fs_enet/mac-scc.c:119:32: error: 'SCCE_ENET_TXF' 
undeclared

      Due to patch d43a396 net: fs_enet: Add NAPI TX, it appears that some 
target
      compilations are broken.
      This is due to the fact that unlike the FEC, the SCC and FCC don't have a 
TXF
      event (complete Frame transmitted) but only TXB (buffer transmitted).

      Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 0cf744bc7ae8e0072159a901f6e1a159bbc30ffa
  Merge: b528392 7f8998c
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 22:26:14 2014 -0400

      Merge branch 'akpm' (fixes from Andrew Morton)

      Merge patch-bomb from Andrew Morton:
       - part of OCFS2 (review is laggy again)
       - procfs
       - slab
       - all of MM
       - zram, zbud
       - various other random things: arch, filesystems.

      * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (164 
commits)
        nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
        include/linux/screen_info.h: remove unused ORIG_* macros
        kernel/sys.c: compat sysinfo syscall: fix undefined behavior
        kernel/sys.c: whitespace fixes
        acct: eliminate compile warning
        kernel/async.c: switch to pr_foo()
        include/linux/blkdev.h: use NULL instead of zero
        include/linux/kernel.h: deduplicate code implementing clamp* macros
        include/linux/kernel.h: rewrite min3, max3 and clamp using min and max
        alpha: use Kbuild logic to include <asm-generic/sections.h>
        frv: remove deprecated IRQF_DISABLED
        frv: remove unused cpuinfo_frv and friends to fix future build error
        zbud: avoid accessing last unused freelist
        zsmalloc: simplify init_zspage free obj linking
        mm/zsmalloc.c: correct comment for fullness group computation
        zram: use notify_free to account all free notifications
        zram: report maximum used memory
        zram: zram memory size limitation
        zsmalloc: change return value unit of zs_get_total_size_bytes
        zsmalloc: move pages_allocated to zs_pool
        ...

  commit 7f8998c7aef3ac9c5f3f2943e083dfa6302e90d0
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:30 2014 -0700

      nosave: consolidate __nosave_{begin,end} in <asm/sections.h>

      The different architectures used their own (and different) declarations:

          extern __visible const void __nosave_begin, __nosave_end;
          extern const void __nosave_begin, __nosave_end;
          extern long __nosave_begin, __nosave_end;

      Consolidate them using the first variant in <asm/sections.h>.

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
      Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
      Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
      Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
      Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 578b25dfce2990d8bab5631f33a4283bd5b01556
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:28 2014 -0700

      include/linux/screen_info.h: remove unused ORIG_* macros

      The ORIG_* macros definitions to access struct screen_info members and all
      of their users were removed 7 years ago by commit 3ea335100014785f
      ("Remove magic macros for screen_info structure members"), but (only) the
      definitions reappeared a few days later in commit ee8e7cfe9d330d6f ("Make
      asm-x86/bootparam.h includable from userspace.").

      Remove them for good. Amen.

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
      Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0baae41ea8365a7b5a34c6474a77d7eb1126f6b2
  Author: Scotty Bauer <sbauer@xxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:26 2014 -0700

      kernel/sys.c: compat sysinfo syscall: fix undefined behavior

      Fix undefined behavior and compiler warning by replacing right shift 32
      with upper_32_bits macro

      Signed-off-by: Scotty Bauer <sbauer@xxxxxxxxxxxx>
      Cc: Clemens Ladisch <clemens@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ec94fc3d59b54561da03a0e433d93217b08c1481
  Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:23 2014 -0700

      kernel/sys.c: whitespace fixes

      Fix minor errors and warning messages in kernel/sys.c.  These errors were
      reported by checkpatch while working with some modifications in sys.c
      file.  Fixing this first will help me to improve my further patches.

      ERROR: trailing whitespace - 9
      ERROR: do not use assignment in if condition - 4
      ERROR: spaces required around that '?' (ctx:VxO) - 10
      ERROR: switch and case should be at the same indent - 3

      total 26 errors & 3 warnings fixed.

      Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 067b722faf98adbe1e94581f39c06a7c82b58676
  Author: Ying Xue <ying.xue@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:21 2014 -0700

      acct: eliminate compile warning

      If ACCT_VERSION is not defined to 3, below warning appears:
        CC      kernel/acct.o
        kernel/acct.c: In function `do_acct_process':
        kernel/acct.c:475:24: warning: unused variable `ns' [-Wunused-variable]

      [akpm@xxxxxxxxxxxxxxxxxxxx: retain the local for code size improvements
      Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 27fb10edcacbb70ac4e97fe1506006d732421210
  Author: Ionut Alexa <ionut.m.alexa@xxxxxxxxx>
  Date:   Thu Oct 9 15:30:19 2014 -0700

      kernel/async.c: switch to pr_foo()

      Signed-off-by: Ionut Alexa <ionut.m.alexa@xxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 61a04e5b306ab9d6a30f78e86f1f140d7c888304
  Author: Michele Curti <michele.curti@xxxxxxxxx>
  Date:   Thu Oct 9 15:30:17 2014 -0700

      include/linux/blkdev.h: use NULL instead of zero

      Quite useless but it shuts up some warnings.

      Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c185b07fc9f24d52a864376ed22a6d84384b0c53
  Author: Michal Nazarewicz <mina86@xxxxxxxxxx>
  Date:   Thu Oct 9 15:30:15 2014 -0700

      include/linux/kernel.h: deduplicate code implementing clamp* macros

      Instead of open-coding clamp_t macro min_t and max_t the way clamp macro
      does and instead of open-coding clamp_val simply use clamp_t.
      Furthermore, normalise argument naming in the macros to be lo and hi.

      Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Mark Rustad <mark.d.rustad@xxxxxxxxx>
      Cc: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@xxxxxxxxx>
      Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx>
      Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2e1d06e1c05af9dbe8a3bfddeefbf041ca637fff
  Author: Michal Nazarewicz <mina86@xxxxxxxxxx>
  Date:   Thu Oct 9 15:30:13 2014 -0700

      include/linux/kernel.h: rewrite min3, max3 and clamp using min and max

      It appears that gcc is better at optimising a double call to min and max
      rather than open coded min3 and max3.  This can be observed here:

          $ cat min-max.c
          #define min(x, y) ({                          \
                typeof(x) _min1 = (x);                  \
                typeof(y) _min2 = (y);                  \
                (void) (&_min1 == &_min2);              \
                _min1 < _min2 ? _min1 : _min2; })
          #define min3(x, y, z) ({                      \
                typeof(x) _min1 = (x);                  \
                typeof(y) _min2 = (y);                  \
                typeof(z) _min3 = (z);                  \
                (void) (&_min1 == &_min2);              \
                (void) (&_min1 == &_min3);              \
                _min1 < _min2 ? (_min1 < _min3 ? _min1 : _min3) : \
                        (_min2 < _min3 ? _min2 : _min3); })

          int fmin3(int x, int y, int z) { return min3(x, y, z); }
          int fmin2(int x, int y, int z) { return min(min(x, y), z); }

          $ gcc -O2 -o min-max.s -S min-max.c; cat min-max.s
                .file   "min-max.c"
                .text
                .p2align 4,,15
                .globl  fmin3
                .type   fmin3, @function
          fmin3:
          .LFB0:
                .cfi_startproc
                cmpl    %esi, %edi
                jl      .L5
                cmpl    %esi, %edx
                movl    %esi, %eax
                cmovle  %edx, %eax
                ret
                .p2align 4,,10
                .p2align 3
          .L5:
                cmpl    %edi, %edx
                movl    %edi, %eax
                cmovle  %edx, %eax
                ret
                .cfi_endproc
          .LFE0:
                .size   fmin3, .-fmin3
                .p2align 4,,15
                .globl  fmin2
                .type   fmin2, @function
          fmin2:
          .LFB1:
                .cfi_startproc
                cmpl    %edi, %esi
                movl    %edx, %eax
                cmovle  %esi, %edi
                cmpl    %edx, %edi
                cmovle  %edi, %eax
                ret
                .cfi_endproc
          .LFE1:
                .size   fmin2, .-fmin2
                .ident  "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
                .section        .note.GNU-stack,"",@progbits

      fmin3 function, which uses open-coded min3 macro, is compiled into total
      of ten instructions including a conditional branch, whereas fmin2
      function, which uses two calls to min2 macro, is compiled into six
      instructions with no branches.

      Similarly, open-coded clamp produces the same code as clamp using min and
      max macros, but the latter is much shorter:

          $ cat clamp.c
          #define clamp(val, min, max) ({                       \
                typeof(val) __val = (val);              \
                typeof(min) __min = (min);              \
                typeof(max) __max = (max);              \
                (void) (&__val == &__min);              \
                (void) (&__val == &__max);              \
                __val = __val < __min ? __min: __val;   \
                __val > __max ? __max: __val; })
          #define min(x, y) ({                          \
                typeof(x) _min1 = (x);                  \
                typeof(y) _min2 = (y);                  \
                (void) (&_min1 == &_min2);              \
                _min1 < _min2 ? _min1 : _min2; })
          #define max(x, y) ({                          \
                typeof(x) _max1 = (x);                  \
                typeof(y) _max2 = (y);                  \
                (void) (&_max1 == &_max2);              \
                _max1 > _max2 ? _max1 : _max2; })

          int fclamp(int v, int min, int max) { return clamp(v, min, max); }
          int fclampmm(int v, int min, int max) { return min(max(v, min), max); 
}

          $ gcc -O2 -o clamp.s -S clamp.c; cat clamp.s
                .file   "clamp.c"
                .text
                .p2align 4,,15
                .globl  fclamp
                .type   fclamp, @function
          fclamp:
          .LFB0:
                .cfi_startproc
                cmpl    %edi, %esi
                movl    %edx, %eax
                cmovge  %esi, %edi
                cmpl    %edx, %edi
                cmovle  %edi, %eax
                ret
                .cfi_endproc
          .LFE0:
                .size   fclamp, .-fclamp
                .p2align 4,,15
                .globl  fclampmm
                .type   fclampmm, @function
          fclampmm:
          .LFB1:
                .cfi_startproc
                cmpl    %edi, %esi
                cmovge  %esi, %edi
                cmpl    %edi, %edx
                movl    %edi, %eax
                cmovle  %edx, %eax
                ret
                .cfi_endproc
          .LFE1:
                .size   fclampmm, .-fclampmm
                .ident  "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3"
                .section        .note.GNU-stack,"",@progbits

          Linux mpn-glaptop 3.13.0-29-generic #53~precise1-Ubuntu SMP Wed Jun 4 
22:06:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
          gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
          Copyright (C) 2011 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions.  There 
is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.

          -rwx------ 1 mpn eng 51224656 Jun 17 14:15 vmlinux.before
          -rwx------ 1 mpn eng 51224608 Jun 17 13:57 vmlinux.after

      48 bytes reduction.  The do_fault_around was a few instruction shorter
      and as far as I can tell saved 12 bytes on the stack, i.e.:

          $ grep -e rsp -e pop -e push do_fault_around.*
          do_fault_around.before.s:push   %rbp
          do_fault_around.before.s:mov    %rsp,%rbp
          do_fault_around.before.s:push   %r13
          do_fault_around.before.s:push   %r12
          do_fault_around.before.s:push   %rbx
          do_fault_around.before.s:sub    $0x38,%rsp
          do_fault_around.before.s:add    $0x38,%rsp
          do_fault_around.before.s:pop    %rbx
          do_fault_around.before.s:pop    %r12
          do_fault_around.before.s:pop    %r13
          do_fault_around.before.s:pop    %rbp

          do_fault_around.after.s:push   %rbp
          do_fault_around.after.s:mov    %rsp,%rbp
          do_fault_around.after.s:push   %r12
          do_fault_around.after.s:push   %rbx
          do_fault_around.after.s:sub    $0x30,%rsp
          do_fault_around.after.s:add    $0x30,%rsp
          do_fault_around.after.s:pop    %rbx
          do_fault_around.after.s:pop    %r12
          do_fault_around.after.s:pop    %rbp

      or here side-by-side:

          Before                    After
          push   %rbp               push   %rbp
          mov    %rsp,%rbp          mov    %rsp,%rbp
          push   %r13
          push   %r12               push   %r12
          push   %rbx               push   %rbx
          sub    $0x38,%rsp         sub    $0x30,%rsp
          add    $0x38,%rsp         add    $0x30,%rsp
          pop    %rbx               pop    %rbx
          pop    %r12               pop    %r12
          pop    %r13
          pop    %rbp               pop    %rbp

      There are also fewer branches:

          $ grep ^j do_fault_around.*
          do_fault_around.before.s:jae    ffffffff812079b7
          do_fault_around.before.s:jmp    ffffffff812079c5
          do_fault_around.before.s:jmp    ffffffff81207a14
          do_fault_around.before.s:ja     ffffffff812079f9
          do_fault_around.before.s:jb     ffffffff81207a10
          do_fault_around.before.s:jmp    ffffffff81207a63
          do_fault_around.before.s:jne    ffffffff812079df

          do_fault_around.after.s:jmp    ffffffff812079fd
          do_fault_around.after.s:ja     ffffffff812079e2
          do_fault_around.after.s:jb     ffffffff812079f9
          do_fault_around.after.s:jmp    ffffffff81207a4c
          do_fault_around.after.s:jne    ffffffff812079c8

      And here's with allyesconfig on a different machine:

          $ uname -a; gcc --version; ls -l vmlinux.*
          Linux erwin 3.14.7-mn #54 SMP Sun Jun 15 11:25:08 CEST 2014 x86_64 
AMD Phenom(tm) II X3 710 Processor AuthenticAMD GNU/Linux
          gcc (GCC) 4.8.3
          Copyright (C) 2013 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions.  There 
is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.

          -rwx------ 1 mpn eng 437027411 Jun 20 16:04 vmlinux.before
          -rwx------ 1 mpn eng 437026881 Jun 20 15:30 vmlinux.after

      530 bytes reduction.

      Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Signed-off-by: Hagen Paul Pfeifer <hagen@xxxxxxxx>
      Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
      Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: "Rustad, Mark D" <mark.d.rustad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 036c6508f183e9c730aee25e33d27b2b9b9a5bbc
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:10 2014 -0700

      alpha: use Kbuild logic to include <asm-generic/sections.h>

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 08e4cf4be2153b0eac503679004889fd7e28c819
  Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:08 2014 -0700

      frv: remove deprecated IRQF_DISABLED

      Remove the IRQF_DISABLED flag from FRV architecture code.  It's a NOOP
      since 2.6.35 and it will be removed one day.

      Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
      Cc: David Howells <dhowells@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 21f456607a7acc73947580a84eb36d180d2562b7
  Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
  Date:   Thu Oct 9 15:30:06 2014 -0700

      frv: remove unused cpuinfo_frv and friends to fix future build error

      Frv has a macro named cpu_data, interfering with variables and struct
      members with the same name:

      include/linux/pm_domain.h:75:24: error: expected identifier or '('
      before '&' token
        struct gpd_cpu_data *cpu_data;

      As struct cpuinfo_frv, boot_cpu_data, cpu_data, and current_cpu_data are
      not used, removed them to fix this.

      Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
      Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
      Cc: David Howells <dhowells@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f203c3b33f0891da98ae3dcf829851c48473ed60
  Author: Chao Yu <chao2.yu@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:30:04 2014 -0700

      zbud: avoid accessing last unused freelist

      For now, there are NCHUNKS of 64 freelists in zbud_pool, the last
      unbuddied[63] freelist linked with all zbud pages which have free chunks
      of 63.  Calculating according to context of num_free_chunks(), our max
      chunk number of unbuddied zbud page is 62, so none of zbud pages will be
      added/removed in last freelist, but still we will try to find an unbuddied
      zbud page in the last unused freelist, it is unneeded.

      This patch redefines NCHUNKS to 63 as free chunk number in one zbud page,
      hence we can decrease size of zpool and avoid accessing the last unused
      freelist whenever failing to allocate zbud from freelist in zbud_alloc.

      Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5538c562377580947916b3366898f1eb5f53768e
  Author: Dan Streetman <ddstreet@xxxxxxxx>
  Date:   Thu Oct 9 15:30:01 2014 -0700

      zsmalloc: simplify init_zspage free obj linking

      Change zsmalloc init_zspage() logic to iterate through each object on each
      of its pages, checking the offset to verify the object is on the current
      page before linking it into the zspage.

      The current zsmalloc init_zspage free object linking code has logic that
      relies on there only being one page per zspage when PAGE_SIZE is a
      multiple of class->size.  It calculates the number of objects for the
      current page, and iterates through all of them plus one, to account for
      the assumed partial object at the end of the page.  While this currently
      works, the logic can be simplified to just link the object at each
      successive offset until the offset is larger than PAGE_SIZE, which does
      not rely on PAGE_SIZE being a multiple of class->size.

      Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6dd9737e31504f9377a8a19810ea4922e88516c1
  Author: Wang Sheng-Hui <shhuiw@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:59 2014 -0700

      mm/zsmalloc.c: correct comment for fullness group computation

      The letter 'f' in "n <= N/f" stands for fullness_threshold_frac, not
      1/fullness_threshold_frac.

      Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 015254daf1753003c19c46b90ee85a963260d270
  Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:57 2014 -0700

      zram: use notify_free to account all free notifications

      `notify_free' device attribute accounts the number of slot free
      notifications and internally represents the number of zram_free_page()
      calls.  Slot free notifications are sent only when device is used as a
      swap device, hence `notify_free' is used only for swap devices.  Since
      f4659d8e620d08 (zram: support REQ_DISCARD) ZRAM handles yet another one
      free notification (also via zram_free_page() call) -- REQ_DISCARD
      requests, which are sent by a filesystem, whenever some data blocks are
      discarded.  However, there is no way to know the number of notifications
      in the latter case.

      Use `notify_free' to account the number of pages freed by
      zram_bio_discard() and zram_slot_free_notify().  Depending on usage
      scenario `notify_free' represents:

       a) the number of pages freed because of slot free notifications, which is
         equal to the number of swap_slot_free_notify() calls, so there is no
         behaviour change

       b) the number of pages freed because of REQ_DISCARD notifications

      Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Jerome Marchand <jmarchan@xxxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Chao Yu <chao2.yu@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 461a8eee6af3b55745be64bea403ed0b743563cf
  Author: Minchan Kim <minchan@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:55 2014 -0700

      zram: report maximum used memory

      Normally, zram user could get maximum memory usage zram consumed via
      polling mem_used_total with sysfs in userspace.

      But it has a critical problem because user can miss peak memory usage
      during update inverval of polling.  For avoiding that, user should poll it
      with shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault
      delay when memory pressure is heavy.  It would be troublesome.

      This patch adds new knob "mem_used_max" so user could see the maximum
      memory usage easily via reading the knob and reset it via "echo 0 >
      /sys/block/zram0/mem_used_max".

      Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
      Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
      Cc: <juno.choi@xxxxxxx>
      Cc: <seungho1.park@xxxxxxx>
      Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Reviewed-by: David Horner <ds2horner@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9ada9da9573f3460b156b7755c093e30b258eacb
  Author: Minchan Kim <minchan@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:53 2014 -0700

      zram: zram memory size limitation

      Since zram has no control feature to limit memory usage, it makes hard to
      manage system memrory.

      This patch adds new knob "mem_limit" via sysfs to set up the a limit so
      that zram could fail allocation once it reaches the limit.

      In addition, user could change the limit in runtime so that he could
      manage the memory more dynamically.

      Initial state is no limit so it doesn't break old behavior.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Sergey]
      Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Dan Streetman <ddstreet@xxxxxxxx>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
      Cc: <juno.choi@xxxxxxx>
      Cc: <seungho1.park@xxxxxxx>
      Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Cc: David Horner <ds2horner@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 722cdc17232f0f684011407f7cf3c40d39457971
  Author: Minchan Kim <minchan@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:50 2014 -0700

      zsmalloc: change return value unit of zs_get_total_size_bytes

      zs_get_total_size_bytes returns a amount of memory zsmalloc consumed with
      *byte unit* but zsmalloc operates *page unit* rather than byte unit so
      let's change the API so benefit we could get is that reduce unnecessary
      overhead (ie, change page unit with byte unit) in zsmalloc.

      Since return type is pages, "zs_get_total_pages" is better than
      "zs_get_total_size_bytes".

      Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
      Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
      Cc: <juno.choi@xxxxxxx>
      Cc: <seungho1.park@xxxxxxx>
      Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Cc: David Horner <ds2horner@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 13de8933c96b4557f667c337676f05274e017f83
  Author: Minchan Kim <minchan@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:48 2014 -0700

      zsmalloc: move pages_allocated to zs_pool

      Currently, zram has no feature to limit memory so theoretically zram can
      deplete system memory.  Users have asked for a limit several times as even
      without exhaustion zram makes it hard to control memory usage of the
      platform.  This patchset adds the feature.

      Patch 1 makes zs_get_total_size_bytes faster because it would be used
      frequently in later patches for the new feature.

      Patch 2 changes zs_get_total_size_bytes's return unit from bytes to page
      so that zsmalloc doesn't need unnecessary operation(ie, << PAGE_SHIFT).

      Patch 3 adds new feature.  I added the feature into zram layer, not
      zsmalloc because limiation is zram's requirement, not zsmalloc so any
      other user using zsmalloc(ie, zpool) shouldn't affected by unnecessary
      branch of zsmalloc.  In future, if every users of zsmalloc want the
      feature, then, we could move the feature from client side to zsmalloc
      easily but vice versa would be painful.

      Patch 4 adds news facility to report maximum memory usage of zram so that
      this avoids user polling frequently via /sys/block/zram0/ mem_used_total
      and ensures transient max are not missed.

      This patch (of 4):

      pages_allocated has counted in size_class structure and when user of
      zsmalloc want to see total_size_bytes, it should gather all of count from
      each size_class to report the sum.

      It's not bad if user don't see the value often but if user start to see
      the value frequently, it would be not a good deal for performance pov.

      This patch moves the count from size_class to zs_pool so it could reduce
      memory footprint (from [255 * 8byte] to [sizeof(atomic_long_t)]).

      Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
      Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
      Cc: Jerome Marchand <jmarchan@xxxxxxxxxx>
      Cc: <juno.choi@xxxxxxx>
      Cc: <seungho1.park@xxxxxxx>
      Cc: Luigi Semenzato <semenzato@xxxxxxxxxx>
      Cc: Nitin Gupta <ngupta@xxxxxxxxxx>
      Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
      Reviewed-by: David Horner <ds2horner@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cd2567b6850b1648236a4aab0513a04ebaea6aa8
  Author: Davidlohr Bueso <davidlohr@xxxxxx>
  Date:   Thu Oct 9 15:29:45 2014 -0700

      m68k: call find_vma with the mmap_sem held in sys_cacheflush()

      Performing vma lookups without taking the mm->mmap_sem is asking for
      trouble.  While doing the search, the vma in question can be modified or
      even removed before returning to the caller.  Take the lock (shared) in
      order to avoid races while iterating through the vmacache and/or rbtree.
      In addition, this guarantees that the address space will remain intact
      during the CPU flushing.

      Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx>
      Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7cc36bbddde5cd0c98f0c06e3304ab833d662565
  Author: Christoph Lameter <cl@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:43 2014 -0700

      vmstat: on-demand vmstat workers V8

      vmstat workers are used for folding counter differentials into the zone,
      per node and global counters at certain time intervals.  They currently
      run at defined intervals on all processors which will cause some holdoff
      for processors that need minimal intrusion by the OS.

      The current vmstat_update mechanism depends on a deferrable timer firing
      every other second by default which registers a work queue item that runs
      on the local CPU, with the result that we have 1 interrupt and one
      additional schedulable task on each CPU every 2 seconds If a workload
      indeed causes VM activity or multiple tasks are running on a CPU, then
      there are probably bigger issues to deal with.

      However, some workloads dedicate a CPU for a single CPU bound task.  This
      is done in high performance computing, in high frequency financial
      applications, in networking (Intel DPDK, EZchip NPS) and with the advent
      of systems with more and more CPUs over time, this may become more and
      more common to do since when one has enough CPUs one cares less about
      efficiently sharing a CPU with other tasks and more about efficiently
      monopolizing a CPU per task.

      The difference of having this timer firing and workqueue kernel thread
      scheduled per second can be enormous.  An artificial test measuring the
      worst case time to do a simple "i++" in an endless loop on a bare metal
      system and under Linux on an isolated CPU with dynticks and with and
      without this patch, have Linux match the bare metal performance (~700
      cycles) with this patch and loose by couple of orders of magnitude (~200k
      cycles) without it[*].  The loss occurs for something that just calculates
      statistics.  For networking applications, for example, this could be the
      difference between dropping packets or sustaining line rate.

      Statistics are important and useful, but it would be great if there would
      be a way to not cause statistics gathering produce a huge performance
      difference.  This patche does just that.

      This patch creates a vmstat shepherd worker that monitors the per cpu
      differentials on all processors.  If there are differentials on a
      processor then a vmstat worker local to the processors with the
      differentials is created.  That worker will then start folding the diffs
      in regular intervals.  Should the worker find that there is no work to be
      done then it will make the shepherd worker monitor the differentials
      again.

      With this patch it is possible then to have periods longer than
      2 seconds without any OS event on a "cpu" (hardware thread).

      The patch shows a very minor increased in system performance.

      hackbench -s 512 -l 2000 -g 15 -f 25 -P

      Results before the patch:

      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 4.992
      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 4.971
      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 5.063

      Hackbench after the patch:

      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 4.973
      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 4.990
      Running in process mode with 15 groups using 50 file descriptors each (== 
750 tasks)
      Each sender will pass 2000 messages of 512 bytes
      Time: 4.993

      [fengguang.wu@xxxxxxxxx: cpu_stat_off can be static]
      Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>
      Reviewed-by: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx>
      Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
      Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Cc: John Stultz <john.stultz@xxxxxxxxxx>
      Cc: Mike Frysinger <vapier@xxxxxxxxxx>
      Cc: Minchan Kim <minchan.kim@xxxxxxxxx>
      Cc: Hakan Akkan <hakanakkan@xxxxxxxxx>
      Cc: Max Krasnyansky <maxk@xxxxxxxxxxxxxxxx>
      Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f0d6d1f6ff6f8525cfa396ec1969b8f402391445
  Author: Jean Delvare <jdelvare@xxxxxxx>
  Date:   Thu Oct 9 15:29:41 2014 -0700

      CMA: document cma=0

      It isn't obvious that CMA can be disabled on the kernel's command line, so
      document it.

      Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx>
      Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx>
      Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 86cf78d73de8c6bfa89804b91ee0ace71a459961
  Author: Sebastien Buisson <sebastien.buisson@xxxxxxxx>
  Date:   Thu Oct 9 15:29:38 2014 -0700

      fs/buffer.c: increase the buffer-head per-CPU LRU size

      Increase the buffer-head per-CPU LRU size to allow efficient filesystem
      operations that access many blocks for each transaction.  For example,
      creating a file in a large ext4 directory with quota enabled will access
      multiple buffer heads and will overflow the LRU at the default 8-block LRU
      size:

      * parent directory inode table block (ctime, nlinks for subdirs)
      * new inode bitmap
      * inode table block
      * 2 quota blocks
      * directory leaf block (not reused, but pollutes one cache entry)
      * 2 levels htree blocks (only one is reused, other pollutes cache)
      * 2 levels indirect/index blocks (only one is reused)

      The buffer-head per-CPU LRU size is raised to 16, as it shows in metadata
      performance benchmarks up to 10% gain for create, 4% for lookup and 7% for
      destroy.

      Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx>
      Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
      Signed-off-by: Sebastien Buisson <sebastien.buisson@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2c0346a36cc8ac6cb85ab585964590974c84bdf0
  Author: Mel Gorman <mgorman@xxxxxxx>
  Date:   Thu Oct 9 15:29:36 2014 -0700

      mm: mempolicy: skip inaccessible VMAs when setting MPOL_MF_LAZY

      PROT_NUMA VMAs are skipped to avoid problems distinguishing between
      present, prot_none and special entries.  MPOL_MF_LAZY is not visible from
      userspace since commit a720094ded8c ("mm: mempolicy: Hide MPOL_NOOP and
      MPOL_MF_LAZY from userspace for now") but it should still skip VMAs the
      same way task_numa_work does.

      Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
      Acked-by: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
      Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0085d61fe05ec5a3739afb8ffb8a88130402633e
  Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:34 2014 -0700

      selftests/vm/transhuge-stress: stress test for memory compaction

      This tool induces memory fragmentation via sequential allocation of
      transparent huge pages and splitting off everything except their last
      sub-pages.  It easily generates pressure to the memory compaction code.

      $ perf stat -e 'compaction:*' -e 'migrate:*' ./transhuge-stress
      transhuge-stress: allocate 7858 transhuge pages, using 15716 MiB virtual 
memory and 61 MiB of ram
      transhuge-stress: 1.653 s/loop, 0.210 ms/page,   9504.828 MiB/s   7858 
succeed,    0 failed, 2439 different pages
      transhuge-stress: 1.537 s/loop, 0.196 ms/page,  10226.227 MiB/s   7858 
succeed,    0 failed, 2364 different pages
      transhuge-stress: 1.658 s/loop, 0.211 ms/page,   9479.215 MiB/s   7858 
succeed,    0 failed, 2179 different pages
      transhuge-stress: 1.617 s/loop, 0.206 ms/page,   9716.992 MiB/s   7858 
succeed,    0 failed, 2421 different pages
      ^C./transhuge-stress: Interrupt

       Performance counter stats for './transhuge-stress':

               1.744.051      compaction:mm_compaction_isolate_migratepages
                   1.014      compaction:mm_compaction_isolate_freepages
               1.744.051      compaction:mm_compaction_migratepages
                   1.647      compaction:mm_compaction_begin
                   1.647      compaction:mm_compaction_end
               1.744.051      migrate:mm_migrate_pages
                       0      migrate:mm_numa_migrate_ratelimit

             7,964696835 seconds time elapsed

      Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx>
      Cc: Rafael Aquini <aquini@xxxxxxxxxx>
      Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
      Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 09316c09dde33aae14f34489d9e3d243ec0d5938
  Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:29:32 2014 -0700

      mm/balloon_compaction: add vmstat counters and kpageflags bit

      Always mark pages with PageBalloon even if balloon compaction is disabled
      and expose this mark in /proc/kpageflags as KPF_BALLOON.

      Also this patch adds three counters into /proc/vmstat: "balloon_inflate",
      "balloon_deflate" and "balloon_migrate".  They accumulate balloon
      activity.  Current size of balloon is (balloon_inflate - balloon_deflate)
      pages.

      All generic balloon code now gathered under option CONFIG_MEMORY_BALLOON.
      It should be selected by ballooning driver which wants use this feature.
      Currently virtio-balloon is the only user.

      Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
      Cc: Rafael Aquini <aquini@xxxxxxxxxx>
      Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9d1ba8056474a208ed9efb7e58cd014795d9f818
  Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:29:29 2014 -0700

      mm/balloon_compaction: remove balloon mapping and flag AS_BALLOON_MAP

      Now ballooned pages are detected using PageBalloon().  Fake mapping is no
      longer required.  This patch links ballooned pages to balloon device using
      field page->private instead of page->mapping.  Also this patch embeds
      balloon_dev_info directly into struct virtio_balloon.

      Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
      Cc: Rafael Aquini <aquini@xxxxxxxxxx>
      Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d6d86c0a7f8ddc5b38cf089222cb1d9540762dc2
  Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:29:27 2014 -0700

      mm/balloon_compaction: redesign ballooned pages management

      Sasha Levin reported KASAN splash inside isolate_migratepages_range().
      Problem is in the function __is_movable_balloon_page() which tests
      AS_BALLOON_MAP in page->mapping->flags.  This function has no protection
      against anonymous pages.  As result it tried to check address space flags
      inside struct anon_vma.

      Further investigation shows more problems in current implementation:

      * Special branch in __unmap_and_move() never works:
        balloon_page_movable() checks page flags and page_count.  In
        __unmap_and_move() page is locked, reference counter is elevated, thus
        balloon_page_movable() always fails.  As a result execution goes to the
        normal migration path.  virtballoon_migratepage() returns
        MIGRATEPAGE_BALLOON_SUCCESS instead of MIGRATEPAGE_SUCCESS,
        move_to_new_page() thinks this is an error code and assigns
        newpage->mapping to NULL.  Newly migrated page lose connectivity with
        balloon an all ability for further migration.

      * lru_lock erroneously required in isolate_migratepages_range() for
        isolation ballooned page.  This function releases lru_lock periodically,
        this makes migration mostly impossible for some pages.

      * balloon_page_dequeue have a tight race with balloon_page_isolate:
        balloon_page_isolate could be executed in parallel with dequeue between
        picking page from list and locking page_lock.  Race is rare because they
        use trylock_page() for locking.

      This patch fixes all of them.

      Instead of fake mapping with special flag this patch uses special state of
      page->_mapcount: PAGE_BALLOON_MAPCOUNT_VALUE = -256.  Buddy allocator uses
      PAGE_BUDDY_MAPCOUNT_VALUE = -128 for similar purpose.  Storing mark
      directly in struct page makes everything safer and easier.

      PagePrivate is used to mark pages present in page list (i.e.  not
      isolated, like PageLRU for normal pages).  It replaces special rules for
      reference counter and makes balloon migration similar to migration of
      normal pages.  This flag is protected by page_lock together with link to
      the balloon device.

      Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
      Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Link: http://lkml.kernel.org/p/53E6CEAA.9020105@xxxxxxxxxx
      Cc: Rafael Aquini <aquini@xxxxxxxxxx>
      Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>      [3.8+]
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 29e5694054149acd25b0d5538c95fb6d64478315
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:25 2014 -0700

      arm64: mm: enable RCU fast_gup

      Activate the RCU fast_gup for ARM64.  We also need to force THP splits to
      broadcast an IPI s.t.  we block in the fast_gup page walker.  As THP
      splits are comparatively rare, this should not lead to a noticeable
      performance degradation.

      Some pre-requisite functions pud_write and pud_page are also added.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5e5f6dc10546f5c03bc572e3ba3089af30c66e2d
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:23 2014 -0700

      arm64: mm: enable HAVE_RCU_TABLE_FREE logic

      In order to implement fast_get_user_pages we need to ensure that the page
      table walker is protected from page table pages being freed from under it.

      This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to
      address spaces with multiple users will be call_rcu_sched freed.  Meaning
      that disabling interrupts will block the free and protect the fast gup
      page walker.

      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b8cd51afe05a98ef907e61c603d5c5b7ad6242d8
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:20 2014 -0700

      arm: mm: enable RCU fast_gup

      Activate the RCU fast_gup for ARM.  We also need to force THP splits to
      broadcast an IPI s.t.  we block in the fast_gup page walker.  As THP
      splits are comparatively rare, this should not lead to a noticeable
      performance degradation.

      Some pre-requisite functions pud_write and pud_page are also added.

      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a0ad5496b2b3accf09ab9485ad0170e3b4b1cb27
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:18 2014 -0700

      arm: mm: enable HAVE_RCU_TABLE_FREE logic

      In order to implement fast_get_user_pages we need to ensure that the page
      table walker is protected from page table pages being freed from under it.

      This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to
      address spaces with multiple users will be call_rcu_sched freed.  Meaning
      that disabling interrupts will block the free and protect the fast gup
      page walker.

      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bd951303be5b4df578c7f30ef78839f1a9d6658c
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:16 2014 -0700

      arm: mm: introduce special ptes for LPAE

      We need a mechanism to tag ptes as being special, this indicates that no
      attempt should be made to access the underlying struct page * associated
      with the pte.  This is used by the fast_gup when operating on ptes as it
      has no means to access VMAs (that also contain this information)
      locklessly.

      The L_PTE_SPECIAL bit is already allocated for LPAE, this patch modifies
      pte_special and pte_mkspecial to make use of it, and defines
      __HAVE_ARCH_PTE_SPECIAL.

      This patch also excludes special ptes from the icache/dcache sync logic.

      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2667f50e8b81457fcb4a3dbe6aff3e81ea009e13
  Author: Steve Capper <steve.capper@xxxxxxxxxx>
  Date:   Thu Oct 9 15:29:14 2014 -0700

      mm: introduce a general RCU get_user_pages_fast()

      This series implements general forms of get_user_pages_fast and
      __get_user_pages_fast in core code and activates them for arm and arm64.

      These are required for Transparent HugePages to function correctly, as a
      futex on a THP tail will otherwise result in an infinite loop (due to the
      core implementation of __get_user_pages_fast always returning 0).

      Unfortunately, a futex on THP tail can be quite common for certain
      workloads; thus THP is unreliable without a __get_user_pages_fast
      implementation.

      This series may also be beneficial for direct-IO heavy workloads and
      certain KVM workloads.

      This patch (of 6):

      get_user_pages_fast() attempts to pin user pages by walking the page
      tables directly and avoids taking locks.  Thus the walker needs to be
      protected from page table pages being freed from under it, and needs to
      block any THP splits.

      One way to achieve this is to have the walker disable interrupts, and rely
      on IPIs from the TLB flushing code blocking before the page table pages
      are freed.

      On some platforms we have hardware broadcast of TLB invalidations, thus
      the TLB flushing code doesn't necessarily need to broadcast IPIs; and
      spuriously broadcasting IPIs can hurt system performance if done too
      often.

      This problem has been solved on PowerPC and Sparc by batching up page
      table pages belonging to more than one mm_user, then scheduling an
      rcu_sched callback to free the pages.  This RCU page table free logic has
      been promoted to core code and is activated when one enables
      HAVE_RCU_TABLE_FREE.  Unfortunately, these architectures implement their
      own get_user_pages_fast routines.

      The RCU page table free logic coupled with an IPI broadcast on THP split
      (which is a rare event), allows one to protect a page table walker by
      merely disabling the interrupts during the walk.

      This patch provides a general RCU implementation of get_user_pages_fast
      that can be used by architectures that perform hardware broadcast of TLB
      invalidations.

      It is based heavily on the PowerPC implementation by Nick Piggin.

      [akpm@xxxxxxxxxxxxxxxxxxxx: various comment fixes]
      Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx>
      Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Acked-by: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Mark Rutland <mark.rutland@xxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
      Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit baa2ef83981c71ceb00f68fbdac323253c2c3e42
  Author: Paul McQuade <paulmcquad@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:11 2014 -0700

      mm/dmapool.c: fixed a brace coding style issue

      Remove 3 brace coding style for any arm of this statement

      Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 25acde317354997bb945892189f32ffb31b7379b
  Author: Paul McQuade <paulmcquad@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:09 2014 -0700

      mm: ksm use pr_err instead of printk

      WARNING: Prefer: pr_err(...  to printk(KERN_ERR ...

      [akpm@xxxxxxxxxxxxxxxxxxxx: remove KERN_ERR]
      Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 22880ebe76be421a572b6f004604467c63f281f5
  Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:29:07 2014 -0700

      drivers/firmware/memmap.c: don't create memmap sysfs of same 
firmware_map_entry

      By the following commits, we prevented from allocating firmware_map_entry
      of same memory range:
        f0093ede: drivers/firmware/memmap.c: don't allocate firmware_map_entry
                  of same memory range
        49c8b24d: drivers/firmware/memmap.c: pass the correct argument to
                  firmware_map_find_entry_bootmem()

      But it's not enough. When PNP0C80 device is added by acpi_scan_init(),
      memmap sysfses of same firmware_map_entry are created twice as follows:

        # cat /sys/firmware/memmap/*/start
        0x40000000000
        0x60000000000
        0x4a837000
        0x4a83a000
        0x4a8b5000
        ...
        0x40000000000
        0x60000000000
        ...

      The flows of the issues are as follows:

        1. e820_reserve_resources() allocates firmware_map_entrys of all
           memory ranges defined in e820. And, these firmware_map_entrys
           are linked with map_entries list.

           map_entries -> entry 1 -> ... -> entry N

        2. When PNP0C80 device is limited by mem= boot option, acpi_scan_init()
           added the memory device. In this case, firmware_map_add_hotplug()
           allocates firmware_map_entry and creates memmap sysfs.

           map_entries -> entry 1 -> ... -> entry N -> entry N+1
                                                       |
                                                       memmap 1

        3. firmware_memmap_init() creates memmap sysfses of firmware_map_entrys
           linked with map_entries.

           map_entries -> entry 1 -> ... -> entry N -> entry N+1
                           |                 |             |
                           memmap 2          memmap N+1    memmap 1
                                                           memmap N+2

      So while hot removing the PNP0C80 device, kernel panic occurs as follows:

           BUG: unable to handle kernel paging request at 00000001003e000b
            IP: sysfs_open_file+0x46/0x2b0
            PGD 203a89fe067 PUD 0
            Oops: 0000 [#1] SMP
            ...
            Call Trace:
              do_dentry_open+0x1ef/0x2a0
              finish_open+0x31/0x40
              do_last+0x57c/0x1220
              path_openat+0xc2/0x4c0
              do_filp_open+0x4b/0xb0
              do_sys_open+0xf3/0x1f0
              SyS_open+0x1e/0x20
              system_call_fastpath+0x16/0x1b

      The patch adds a check of confirming whether memmap sysfs of
      firmware_map_entry has been created, and does not create memmap
      sysfs of same firmware_map_entry.

      Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
      Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
      Cc: Toshi Kani <toshi.kani@xxxxxx>
      Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d85fbee89f6e67e37ed722adaf085f49b1ce6c50
  Author: Paul McQuade <paulmcquad@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:05 2014 -0700

      mm/bootmem.c: use include/linux/ headers

      Replace asm. headers with linux/headers:

      <linux/bug.h>
      <linux/io.h>

      Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 99dadfdde04b72ce98aa2fbebdb49526f494e4cf
  Author: Paul McQuade <paulmcquad@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:03 2014 -0700

      mm/filemap.c: remove trailing whitespace

      Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2581d20237f02984c16c7b23262150e6bd6b8c57
  Author: Paul McQuade <paulmcquad@xxxxxxxxx>
  Date:   Thu Oct 9 15:29:01 2014 -0700

      mm/mremap.c: use linux headers

      "WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>"

      Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cf2b8fbf1d2f7ba07999e97685563c94483d33d6
  Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:59 2014 -0700

      memcg: zap memcg_can_account_kmem

      memcg_can_account_kmem() returns true iff

          !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg) &&
                                         memcg_kmem_is_active(memcg);

      To begin with the !mem_cgroup_is_root(memcg) check is useless, because one
      can't enable kmem accounting for the root cgroup (mem_cgroup_write()
      returns EINVAL on an attempt to set the limit on the root cgroup).

      Furthermore, the !mem_cgroup_disabled() check also seems to be redundant.
      The point is memcg_can_account_kmem() is called from three places:
      mem_cgroup_salbinfo_read(), __memcg_kmem_get_cache(), and
      __memcg_kmem_newpage_charge().  The latter two functions are only invoked
      if memcg_kmem_enabled() returns true, which implies that the memory cgroup
      subsystem is enabled.  And mem_cgroup_slabinfo_read() shows the output of
      memory.kmem.slabinfo, which won't exist if the memory cgroup is completely
      disabled.

      So let's substitute all the calls to memcg_can_account_kmem() with plain
      memcg_kmem_is_active(), and kill the former.

      Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Cc: Michal Hocko <mhocko@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b70a2a21dc9d4ad455931b53131a0cb4fc01fafe
  Author: Johannes Weiner <hannes@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:56 2014 -0700

      mm: memcontrol: fix transparent huge page allocations under pressure

      In a memcg with even just moderate cache pressure, success rates for
      transparent huge page allocations drop to zero, wasting a lot of effort
      that the allocator puts into assembling these pages.

      The reason for this is that the memcg reclaim code was never designed for
      higher-order charges.  It reclaims in small batches until there is room
      for at least one page.  Huge page charges only succeed when these batches
      add up over a series of huge faults, which is unlikely under any
      significant load involving order-0 allocations in the group.

      Remove that loop on the memcg side in favor of passing the actual reclaim
      goal to direct reclaim, which is already set up and optimized to meet
      higher-order goals efficiently.

      This brings memcg's THP policy in line with the system policy: if the
      allocator painstakingly assembles a hugepage, memcg will at least make an
      honest effort to charge it.  As a result, transparent hugepage allocation
      rates amid cache activity are drastically improved:

                                            vanilla                 patched
      pgalloc                 4717530.80 (  +0.00%)   4451376.40 (  -5.64%)
      pgfault                  491370.60 (  +0.00%)    225477.40 ( -54.11%)
      pgmajfault                    2.00 (  +0.00%)         1.80 (  -6.67%)
      thp_fault_alloc               0.00 (  +0.00%)       531.60 (+100.00%)
      thp_fault_fallback          749.00 (  +0.00%)       217.40 ( -70.88%)

      [ Note: this may in turn increase memory consumption from internal
        fragmentation, which is an inherent risk of transparent hugepages.
        Some setups may have to adjust the memcg limits accordingly to
        accomodate this - or, if the machine is already packed to capacity,
        disable the transparent huge page feature. ]

      Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Cc: Michal Hocko <mhocko@xxxxxxx>
      Cc: Dave Hansen <dave@xxxxxxxx>
      Cc: Greg Thelen <gthelen@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3fbe724424fb104aaca9973389b4a9df428c3e2a
  Author: Johannes Weiner <hannes@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:54 2014 -0700

      mm: memcontrol: simplify detecting when the memory+swap limit is hit

      When attempting to charge pages, we first charge the memory counter and
      then the memory+swap counter.  If one of the counters is at its limit, we
      enter reclaim, but if it's the memory+swap counter, reclaim shouldn't swap
      because that wouldn't change the situation.  However, if the counters have
      the same limits, we never get to the memory+swap limit.  To know whether
      reclaim should swap or not, there is a state flag that indicates whether
      the limits are equal and whether hitting the memory limit implies hitting
      the memory+swap limit.

      Just try the memory+swap counter first.

      Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Acked-by: Michal Hocko <mhocko@xxxxxxx>
      Cc: Dave Hansen <dave@xxxxxxxx>
      Cc: Greg Thelen <gthelen@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit aabfb57296e3dd9761e47736ec69305c95461d7d
  Author: Michal Hocko <mhocko@xxxxxxx>
  Date:   Thu Oct 9 15:28:52 2014 -0700

      mm: memcontrol: do not kill uncharge batching in free_pages_and_swap_cache

      free_pages_and_swap_cache limits release_pages to PAGEVEC_SIZE chunks.
      This is not a big deal for the normal release path but it completely kills
      memcg uncharge batching which reduces res_counter spin_lock contention.
      Dave has noticed this with his page fault scalability test case on a large
      machine when the lock was basically dominating on all CPUs:

          80.18%    80.18%  [kernel]               [k] _raw_spin_lock
                        |
                        --- _raw_spin_lock
                           |
                           |--66.59%-- res_counter_uncharge_until
                           |          res_counter_uncharge
                           |          uncharge_batch
                           |          uncharge_list
                           |          mem_cgroup_uncharge_list
                           |          release_pages
                           |          free_pages_and_swap_cache
                           |          tlb_flush_mmu_free
                           |          |
                           |          |--90.12%-- unmap_single_vma
                           |          |          unmap_vmas
                           |          |          unmap_region
                           |          |          do_munmap
                           |          |          vm_munmap
                           |          |          sys_munmap
                           |          |          system_call_fastpath
                           |          |          __GI___munmap
                           |          |
                           |           --9.88%-- tlb_flush_mmu
                           |                     tlb_finish_mmu
                           |                     unmap_region
                           |                     do_munmap
                           |                     vm_munmap
                           |                     sys_munmap
                           |                     system_call_fastpath
                           |                     __GI___munmap

      In his case the load was running in the root memcg and that part has been
      handled by reverting 05b843012335 ("mm: memcontrol: use root_mem_cgroup
      res_counter") because this is a clear regression, but the problem remains
      inside dedicated memcgs.

      There is no reason to limit release_pages to PAGEVEC_SIZE batches other
      than lru_lock held times.  This logic, however, can be moved inside the
      function.  mem_cgroup_uncharge_list and free_hot_cold_page_list do not
      hold any lock for the whole pages_to_free list so it is safe to call them
      in a single run.

      The release_pages() code was previously breaking the lru_lock each
      PAGEVEC_SIZE pages (ie, 14 pages).  However this code has no usage of
      pagevecs so switch to breaking the lock at least every SWAP_CLUSTER_MAX
      (32) pages.  This means that the lock acquisition frequency is
      approximately halved and the max hold times are approximately doubled.

      The now unneeded batching is removed from free_pages_and_swap_cache().

      Also update the grossly out-of-date release_pages documentation.

      Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
      Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Reported-by: Dave Hansen <dave@xxxxxxxx>
      Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Cc: Greg Thelen <gthelen@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 01c2965f0723a25209d5cf4cac630ed0f6d0edf4
  Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:50 2014 -0700

      mm: dmapool: add/remove sysfs file outside of the pool lock lock

      cat /sys/.../pools followed by removal the device leads to:

      |======================================================
      |[ INFO: possible circular locking dependency detected ]
      |3.17.0-rc4+ #1498 Not tainted
      |-------------------------------------------------------
      |rmmod/2505 is trying to acquire lock:
      | (s_active#28){++++.+}, at: [<c017f754>] 
kernfs_remove_by_name_ns+0x3c/0x88
      |
      |but task is already holding lock:
      | (pools_lock){+.+.+.}, at: [<c011494c>] dma_pool_destroy+0x18/0x17c
      |
      |which lock already depends on the new lock.
      |the existing dependency chain (in reverse order) is:
      |
      |-> #1 (pools_lock){+.+.+.}:
      |   [<c0114ae8>] show_pools+0x30/0xf8
      |   [<c0313210>] dev_attr_show+0x1c/0x48
      |   [<c0180e84>] sysfs_kf_seq_show+0x88/0x10c
      |   [<c017f960>] kernfs_seq_show+0x24/0x28
      |   [<c013efc4>] seq_read+0x1b8/0x480
      |   [<c011e820>] vfs_read+0x8c/0x148
      |   [<c011ea10>] SyS_read+0x40/0x8c
      |   [<c000e960>] ret_fast_syscall+0x0/0x48
      |
      |-> #0 (s_active#28){++++.+}:
      |   [<c017e9ac>] __kernfs_remove+0x258/0x2ec
      |   [<c017f754>] kernfs_remove_by_name_ns+0x3c/0x88
      |   [<c0114a7c>] dma_pool_destroy+0x148/0x17c
      |   [<c03ad288>] hcd_buffer_destroy+0x20/0x34
      |   [<c03a4780>] usb_remove_hcd+0x110/0x1a4

      The problem is the lock order of pools_lock and kernfs_mutex in
      dma_pool_destroy() vs show_pools() call path.

      This patch breaks out the creation of the sysfs file outside of the
      pools_lock mutex.  The newly added pools_reg_lock ensures that there is no
      race of create vs destroy code path in terms whether or not the sysfs file
      has to be deleted (and was it deleted before we try to create a new one)
      and what to do if device_create_file() failed.

      Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6f817f4cda68b09621312ec5ba84217bc5e37b3d
  Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:47 2014 -0700

      memcg: move memcg_update_cache_size() to slab_common.c

      `While growing per memcg caches arrays, we jump between memcontrol.c and
      slab_common.c in a weird way:

        memcg_alloc_cache_id - memcontrol.c
          memcg_update_all_caches - slab_common.c
            memcg_update_cache_size - memcontrol.c

      There's absolutely no reason why memcg_update_cache_size can't live on the
      slab's side though.  So let's move it there and settle it comfortably amid
      per-memcg cache allocation functions.

      Besides, this patch cleans this function up a bit, removing all the
      useless comments from it, and renames it to memcg_update_cache_params to
      conform to memcg_alloc/free_cache_params, which we already have in
      slab_common.c.

      Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Acked-by: Michal Hocko <mhocko@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Glauber Costa <glommer@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f3bb3043a092368a255bca5d1c6f4352c96a3b2d
  Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:45 2014 -0700

      memcg: don't call memcg_update_all_caches if new cache id fits

      memcg_update_all_caches grows arrays of per-memcg caches, so we only need
      to call it when memcg_limited_groups_array_size is increased.  However,
      currently we invoke it each time a new kmem-active memory cgroup is
      created.  Then it just iterates over all slab_caches and does nothing
      (memcg_update_cache_size returns immediately).

      This patch fixes this insanity.  In the meantime it moves the code dealing
      with id allocations to separate functions, memcg_alloc_cache_id and
      memcg_free_cache_id.

      Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
      Acked-by: Michal Hocko <mhocko@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Glauber Costa <glommer@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 33a690c45b202e4c6483bfd1d93ad8d0f51df2ca
  Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:43 2014 -0700

      memcg: move memcg_{alloc,free}_cache_params to slab_common.c

      The only reason why they live in memcontrol.c is that we get/put css
      reference to the owner memory cgroup in them.  However, we can do that in
      memcg_{un,}register_cache.  OTOH, there are several reasons to move them
      to slab_common.c.

      First, I think that the less public interface functions we have in
      memcontrol.h the better.  Since the functions I move don't depend on
      memcontrol, I think it's worth making them private to slab, especially
      taking into account that the arrays are defined on the slab's side too.

      Second, the way how per-memcg arrays are updated looks rather awkward: it
      proceeds from memcontrol.c (__memcg_activate_kmem) to slab_common.c
      (memcg_update_all_caches) and back to memcontrol.c again
      (memcg_update_array_size).  In the following patches I move the function
      relocating the arrays (memcg_update_array_size) to slab_common.c and
      therefore get rid this circular call path.  I think we should have the
      cache allocation stuff in the same place where we have relocation, because
      it's easier to follow the code then.  So I move arrays alloc/free
      functions to slab_common.c too.

      The third point isn't obvious.  I'm going to make the list_lru structure
      per-memcg to allow targeted kmem reclaim.  That means we will have
      per-memcg arrays in list_lrus too.  It turns out that it's much easier to
      update these arrays in list_lru.c rather than in memcontrol.c, because all
      the stuff we need is defined there.  This patch makes memcg caches arrays
      allocation path conform that of the upcoming list_lru.

      So let's move these functions to slab_common.c and make them static.

      Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Acked-by: Michal Hocko <mhocko@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Glauber Costa <glommer@xxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7a82ca0d6437261d0727ce472ae4f3a05a9ce5f7
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:41 2014 -0700

      mm/debug.c: use pr_emerg()

      - s/KERN_ALERT/pr_emerg/: we're going BUG so let's maximize the changes
        of getting the message out.

      - convert debug.c to pr_foo()

      Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 96dad67ff244e797c4bc3e4f7f0fdaa0cfdf0a7d
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:39 2014 -0700

      mm: use VM_BUG_ON_MM where possible

      Dump the contents of the relevant struct_mm when we hit the bug condition.

      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 31c9afa6db122a5c7a7843278aaf77dd08ea6e98
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:37 2014 -0700

      mm: introduce VM_BUG_ON_MM

      Very similar to VM_BUG_ON_PAGE and VM_BUG_ON_VMA, dump struct_mm when the
      bug is hit.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      [mhocko@xxxxxxx: fix build]
      [mhocko@xxxxxxx: fix build some more]
      [akpm@xxxxxxxxxxxxxxxxxxxx: do strange things to avoid doing strange 
things for the comma separators]
      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Cc: Dave Jones <davej@xxxxxxxxxx>
      Signed-off-by: Michal Hocko <mhocko@xxxxxxx>
      Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 82742a3a5152195edd69528c0c9a1a6fb9caa293
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:34 2014 -0700

      mm: move debug code out of page_alloc.c

      dump_page() and dump_vma() are not specific to page_alloc.c, move them out
      so page_alloc.c won't turn into the unofficial debug repository.

      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 81d0fa623c5b8dbd5279d9713094b0f9b0a00fb4
  Author: Peter Feiner <pfeiner@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:32 2014 -0700

      mm: softdirty: unmapped addresses between VMAs are clean

      If a /proc/pid/pagemap read spans a [VMA, an unmapped region, then a
      VM_SOFTDIRTY VMA], the virtual pages in the unmapped region are reported
      as softdirty.  Here's a program to demonstrate the bug:

      int main() {
        const uint64_t PAGEMAP_SOFTDIRTY = 1ul << 55;
        uint64_t pme[3];
        int fd = open("/proc/self/pagemap", O_RDONLY);;
        char *m = mmap(NULL, 3 * getpagesize(), PROT_READ,
                       MAP_ANONYMOUS | MAP_SHARED, -1, 0);
        munmap(m + getpagesize(), getpagesize());
        pread(fd, pme, 24, (unsigned long) m / getpagesize() * 8);
        assert(pme[0] & PAGEMAP_SOFTDIRTY);    /* passes */
        assert(!(pme[1] & PAGEMAP_SOFTDIRTY)); /* fails */
        assert(pme[2] & PAGEMAP_SOFTDIRTY);    /* passes */
        return 0;
      }

      (Note that all pages in new VMAs are softdirty until cleared).

      Tested:
        Used the program given above. I'm going to include this code in
        a selftest in the future.

      [n-horiguchi@xxxxxxxxxxxxx: prevent pagemap_pte_range() from overrunning]
      Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Jamie Liu <jamieliu@xxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3193913ce62c63056bc67a6ae378beaf494afa66
  Author: Mel Gorman <mgorman@xxxxxxx>
  Date:   Thu Oct 9 15:28:30 2014 -0700

      mm: page_alloc: default node-ordering on 64-bit NUMA, zone-ordering on 
32-bit

      Zones are allocated by the page allocator in either node or zone order.
      Node ordering is preferred in terms of locality and is applied
      automatically in one of three cases:

        1. If a node has only low memory

        2. If DMA/DMA32 is a high percentage of memory

        3. If low memory on a single node is greater than 70% of the node size

      Otherwise zone ordering is used to preserve low memory for devices that
      require it.  Unfortunately a consequence of this is that applications
      running on a machine with balanced NUMA nodes will experience different
      performance characteristics depending on which node they happen to start
      from.

      The point of zone ordering is to protect lower zones for devices that
      require DMA/DMA32 memory.  When NUMA was first introduced, this was
      critical as 32-bit NUMA machines existed and exhausting low memory
      triggered OOMs easily as so many allocations required low memory.  On
      64-bit machines the primary concern is devices that are 32-bit only which
      is less severe than the low memory exhaustion problem on 32-bit NUMA.  It
      seems there are really few devices that depends on it.

      AGP -- I assume this is getting more rare but even then I think the 
allocations
        happen early in boot time where lowmem pressure is less of a problem

      DRM -- If the device is 32-bit only then there may be low pressure. I 
didn't
        evaluate these in detail but it looks like some of these are mobile
        graphics card. Not many NUMA laptops out there. DRM folk should know
        better though.

      Some TV cards -- Much demand for 32-bit capable TV cards on NUMA machines?

      B43 wireless card -- again not really a NUMA thing.

      I cannot find a good reason to incur a performance penalty on all 64-bit 
NUMA
      machines in case someone throws a brain damanged TV or graphics card in 
there.
      This patch defaults to node-ordering on 64-bit NUMA machines. I was 
tempted
      to make it default everywhere but I understand that some embedded arches 
may
      be using 32-bit NUMA where I cannot predict the consequences.

      The performance impact depends on the workload and the characteristics of 
the
      machine and the machine I tested on had a large Normal zone on node 0 so 
the
      impact is within the noise for the majority of tests. The allocation stats
      show more allocation requests were from DMA32 and local node. Running 
SpecJBB
      with multiple JVMs and automatic NUMA balancing disabled the results were

      specjbb
                           3.17.0-rc2            3.17.0-rc2
                              vanilla        nodeorder-v1r1
      Min    1      29534.00 (  0.00%)     30020.00 (  1.65%)
      Min    10    115717.00 (  0.00%)    134038.00 ( 15.83%)
      Min    19    109718.00 (  0.00%)    114186.00 (  4.07%)
      Min    28    104459.00 (  0.00%)    103639.00 ( -0.78%)
      Min    37     98245.00 (  0.00%)    103756.00 (  5.61%)
      Min    46     97198.00 (  0.00%)     96197.00 ( -1.03%)
      Mean   1      30953.25 (  0.00%)     31917.75 (  3.12%)
      Mean   10    124432.50 (  0.00%)    140904.00 ( 13.24%)
      Mean   19    116033.50 (  0.00%)    119294.75 (  2.81%)
      Mean   28    108365.25 (  0.00%)    106879.50 ( -1.37%)
      Mean   37    102984.75 (  0.00%)    106924.25 (  3.83%)
      Mean   46    100783.25 (  0.00%)    105368.50 (  4.55%)
      Stddev 1       1260.38 (  0.00%)      1109.66 ( 11.96%)
      Stddev 10      7434.03 (  0.00%)      5171.91 ( 30.43%)
      Stddev 19      8453.84 (  0.00%)      5309.59 ( 37.19%)
      Stddev 28      4184.55 (  0.00%)      2906.63 ( 30.54%)
      Stddev 37      5409.49 (  0.00%)      3192.12 ( 40.99%)
      Stddev 46      4521.95 (  0.00%)      7392.52 (-63.48%)
      Max    1      32738.00 (  0.00%)     32719.00 ( -0.06%)
      Max    10    136039.00 (  0.00%)    148614.00 (  9.24%)
      Max    19    130566.00 (  0.00%)    127418.00 ( -2.41%)
      Max    28    115404.00 (  0.00%)    111254.00 ( -3.60%)
      Max    37    112118.00 (  0.00%)    111732.00 ( -0.34%)
      Max    46    108541.00 (  0.00%)    116849.00 (  7.65%)
      TPut   1     123813.00 (  0.00%)    127671.00 (  3.12%)
      TPut   10    497730.00 (  0.00%)    563616.00 ( 13.24%)
      TPut   19    464134.00 (  0.00%)    477179.00 (  2.81%)
      TPut   28    433461.00 (  0.00%)    427518.00 ( -1.37%)
      TPut   37    411939.00 (  0.00%)    427697.00 (  3.83%)
      TPut   46    403133.00 (  0.00%)    421474.00 (  4.55%)

                                  3.17.0-rc2  3.17.0-rc2
                                     vanillanodeorder-v1r1
      DMA allocs                           0           0
      DMA32 allocs                        57     1491992
      Normal allocs                 32543566    30026383
      Movable allocs                       0           0
      Direct pages scanned                 0           0
      Kswapd pages scanned                 0           0
      Kswapd pages reclaimed               0           0
      Direct pages reclaimed               0           0
      Kswapd efficiency                 100%        100%
      Kswapd velocity                  0.000       0.000
      Direct efficiency                 100%        100%
      Direct velocity                  0.000       0.000
      Percentage direct scans             0%          0%
      Zone normal velocity             0.000       0.000
      Zone dma32 velocity              0.000       0.000
      Zone dma velocity                0.000       0.000
      THP fault alloc                  55164       52987
      THP collapse alloc                 139         147
      THP splits                          26          21
      NUMA alloc hit                 4169066     4250692
      NUMA alloc miss                      0           0

      Note that there were more DMA32 allocations with the patch applied.  In 
this
      particular case there was no difference in numa_hit and numa_miss. The
      expectation is that DMA32 was being used at the low watermark instead of
      falling into the slow path. kswapd was not woken but it's not worken for
      THP allocations.

      On 32-bit, this patch defaults to zone-ordering as low memory depletion
      can be a serious problem on 32-bit large memory machines. If the default
      ordering was node then processes on node 0 will deplete the Normal zone
      due to normal activity.  The problem is worse if CONFIG_HIGHPTE is not
      set. If combined with large amounts of dirty/writeback pages in Normal
      zone then there is also a high risk of OOM. The heuristics are removed
      as it's not clear they were ever important on 32-bit. They were only
      relevant for setting node-ordering on 64-bit.

      Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 97ee4ba7cbd30f1858f0d16911e042737c53f2ef
  Author: Mel Gorman <mgorman@xxxxxxx>
  Date:   Thu Oct 9 15:28:28 2014 -0700

      mm: page_alloc: Make paranoid check in move_freepages a VM_BUG_ON

      Since 2.6.24 there has been a paranoid check in move_freepages that looks
      up the zone of two pages.  This is a very slow path and the only time I've
      seen this bug trigger recently is when memory initialisation was broken
      during patch development.  Despite the fact it's a slow path, this patch
      converts the check to a VM_BUG_ON anyway as it has served its purpose by
      now.

      Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Acked-by: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b246d3d11e9c04f76a4fd6aae9c61da82bba0afb
  Author: Xue jiufei <xuejiufei@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:26 2014 -0700

      ocfs2: fix a deadlock while o2net_wq doing direct memory reclaim

      Fix a deadlock problem caused by direct memory reclaim in o2net_wq.  The
      situation is as follows:

      1) Receive a connect message from another node, node queues a
         work_struct o2net_listen_work.

      2) o2net_wq processes this work and call the following functions:

      o2net_wq
      -> o2net_accept_one
        -> sock_create_lite
          -> sock_alloc()
            -> kmem_cache_alloc with GFP_KERNEL
              -> ____cache_alloc_node
                ->__alloc_pages_nodemask
                  -> do_try_to_free_pages
                    -> shrink_slab
                      -> evict
                        -> ocfs2_evict_inode
                          -> ocfs2_drop_lock
                            -> dlmunlock
                              -> o2net_send_message_vec

         then o2net_wq wait for the unlock reply from master.

      3) tcp layer received the reply, call o2net_data_ready() and queue
         sc_rx_work, waiting o2net_wq to process this work.

      4) o2net_wq is a single thread workqueue, it process the work one by
         one.  Right now it is still doing o2net_listen_work and cannot handle
         sc_rx_work.  so we deadlock.

      Junxiao Bi's patch "mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set"
      
(http://ozlabs.org/~akpm/mmots/broken-out/mm-clear-__gfp_fs-when-pf_memalloc_noio-is-set.patch)
      clears __GFP_FS in memalloc_noio_flags() besides __GFP_IO.  We use
      memalloc_noio_save() to set process flag PF_MEMALLOC_NOIO so that all
      allocations done by this process are done as if GFP_NOIO was specified.
      We are not reentering filesystem while doing memory reclaim.

      Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx>
      Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 934f3072c17cc8886f4c043b47eeeb1b12f8de33
  Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:23 2014 -0700

      mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set

      commit 21caf2fc1931 ("mm: teach mm by current context info to not do I/O
      during memory allocation") introduces PF_MEMALLOC_NOIO flag to avoid doing
      I/O inside memory allocation, __GFP_IO is cleared when this flag is set,
      but __GFP_FS implies __GFP_IO, it should also be cleared.  Or it may still
      run into I/O, like in superblock shrinker.  And this will make the kernel
      run into the deadlock case described in that commit.

      See Dave Chinner's comment about io in superblock shrinker:

      Filesystem shrinkers do indeed perform IO from the superblock shrinker and
      have for years.  Even clean inodes can require IO before they can be freed
      - e.g.  on an orphan list, need truncation of post-eof blocks, need to
      wait for ordered operations to complete before it can be freed, etc.

      IOWs, Ext4, btrfs and XFS all can issue and/or block on arbitrary amounts
      of IO in the superblock shrinker context.  XFS, in particular, has been
      doing transactions and IO from the VFS inode cache shrinker since it was
      first introduced....

      Fix this by clearing __GFP_FS in memalloc_noio_flags(), this function has
      masked all the gfp_mask that will be passed into fs for the processes
      setting PF_MEMALLOC_NOIO in the direct reclaim path.

      v1 thread at: https://lkml.org/lkml/2014/9/3/32

      Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
      Cc: Dave Chinner <david@xxxxxxxxxxxxx>
      Cc: joyce.xue <xuejiufei@xxxxxxxxxx>
      Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx>
      Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b8b2d8253236331c3b26189f34e73f2af89ca982
  Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:21 2014 -0700

      mm/compaction.c: fix warning of 'flags' may be used uninitialized

      C      mm/compaction.o
      mm/compaction.c: In function isolate_freepages_block:
      mm/compaction.c:364:37: warning: flags may be used uninitialized in this 
function [-Wmaybe-uninitialized]
             && compact_unlock_should_abort(&cc->zone->lock, flags,
                                           ^

      Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
      Cc: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ff26f70f4323ffe332ab6a5b2550f687bbd15326
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:19 2014 -0700

      mm/mmap.c: clean up CONFIG_DEBUG_VM_RB checks

      - be consistent in printing the test which failed

      - one message was actually wrong (a<b != b>a)

      - don't print second bogus warning if browse_rb() failed

      Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5705465174686d007473e017b76c4b64b44aa690
  Author: Johannes Weiner <hannes@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:17 2014 -0700

      mm: clean up zone flags

      Page reclaim tests zone_is_reclaim_dirty(), but the site that actually
      sets this state does zone_set_flag(zone, ZONE_TAIL_LRU_DIRTY), sending the
      reader through layers indirection just to track down a simple bit.

      Remove all zone flag wrappers and just use bitops against zone->flags
      directly.  It's just as readable and the lines are barely any longer.

      Also rename ZONE_TAIL_LRU_DIRTY to ZONE_DIRTY to match ZONE_WRITEBACK, and
      remove the zone_flags_t typedef.

      Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7c809968ffa92d41baaa9054e897436480179b20
  Author: Mark Rustad <mark.d.rustad@xxxxxxxxx>
  Date:   Thu Oct 9 15:28:15 2014 -0700

      mm/page-writeback.c: use min3/max3 macros to avoid shadow warnings

      Nested calls to min/max functions result in shadow warnings in W=2 builds.
       Avoid the warning by using the min3 and max3 macros to get the min/max of
      3 values instead of nested calls.

      Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx>
      Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7ade3c997208566c5bf50ece8fc319a8caf0d41a
  Author: Weijie Yang <weijie.yang@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:12 2014 -0700

      mm: page_alloc: avoid wakeup kswapd on the unintended node

      When entering the page_alloc slowpath, we wakeup kswapd on every pgdat
      according to the zonelist and high_zoneidx.  However, this doesn't take
      nodemask into account, and could prematurely wakeup kswapd on some
      unintended nodes.

      This patch uses for_each_zone_zonelist_nodemask() instead of
      for_each_zone_zonelist() in wake_all_kswapds() to avoid the above
      situation.

      Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 81d1b09c6be66afac7d41ee52279d9bccbce56d8
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:10 2014 -0700

      mm: convert a few VM_BUG_ON callers to VM_BUG_ON_VMA

      Trivially convert a few VM_BUG_ON calls to VM_BUG_ON_VMA to extract
      more information when they trigger.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Michal Hocko <mhocko@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Michel Lespinasse <walken@xxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit fa3759ccd5651c4235f572302d58c8ec9ddf1c4b
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:08 2014 -0700

      mm: introduce VM_BUG_ON_VMA

      Very similar to VM_BUG_ON_PAGE but dumps VMA information instead.

      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Michal Hocko <mhocko@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Michel Lespinasse <walken@xxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0bf55139782db1fa96af66e37cc84afde18443ef
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:28:06 2014 -0700

      mm: introduce dump_vma

      Introduce a helper to dump information about a VMA, this also makes
      dump_page_flags more generic and re-uses that so the output looks very
      similar to dump_page:

      [   61.903437] vma ffff88070f88be00 start 00007fff25970000 end 
00007fff25992000
      [   61.903437] next ffff88070facd600 prev ffff88070face400 mm 
ffff88070fade000
      [   61.903437] prot 8000000000000025 anon_vma ffff88070fa1e200 vm_ops     
      (null)
      [   61.903437] pgoff 7ffffffdd file           (null) private_data         
  (null)
      [   61.909129] flags: 
0x100173(read|write|mayread|maywrite|mayexec|growsdown|account)

      [akpm@xxxxxxxxxxxxxxxxxxxx: make dump_vma() require CONFIG_DEBUG_VM]
      [swarren@xxxxxxxxxx: fix dump_vma() compilation]
      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Michal Hocko <mhocko@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Michel Lespinasse <walken@xxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b208ce32927ac2c4bf14edebfb3197acd7673165
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:03 2014 -0700

      mm/slab.c: use __seq_open_private() instead of seq_open()

      Using __seq_open_private() removes boilerplate code from slabstats_open()

      The resultant code is shorter and easier to follow.

      This patch does not change any functionality.

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Acked-by: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 703394c1005caeccaaf64945c1b6d6cc3af0cd1d
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:28:01 2014 -0700

      mm/vmalloc.c: use seq_open_private() instead of seq_open()

      Using seq_open_private() removes boilerplate code from vmalloc_open().

      The resultant code is shorter and easier to follow.

      However, please note that seq_open_private() call kzalloc() rather than
      kmalloc() which may affect timing due to the memory initialisation
      overhead.

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1c93923cc264105418e6ead149c76bd88302eff4
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:27:59 2014 -0700

      include/linux/migrate.h: remove migrate_page #define

      This is designed to avoid a few ifdefs in .c files but it's obnoxious
      because it can cause unsuspecting "migrate_page" symbols to get turned 
into
      "NULL".

      Just nuke it and use the ifdefs.

      Cc: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx>
      Cc: Rafael Aquini <aquini@xxxxxxxxxx>
      Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit dd6eecb917938c1b7e505a83df307b3476e7c8bd
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:57 2014 -0700

      mempolicy: unexport get_vma_policy() and remove its "task" arg

      - get_vma_policy(task) is not safe if task != current, remove this
        argument.

      - get_vma_policy() no longer has callers outside of mempolicy.c,
        make it static.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2c7c3a7d08b28278112f2aaa0b7cf53140101e2a
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:55 2014 -0700

      mempolicy: kill do_set_mempolicy()->down_write(&mm->mmap_sem)

      Remove down_write(&mm->mmap_sem) in do_set_mempolicy(). This logic
      was never correct and it is no longer needed, see the previous patch.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 498f237178a3d3151f7ebe329af9a4734e41f6ed
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:52 2014 -0700

      mempolicy: fix show_numa_map() vs exec() + do_set_mempolicy() race

      9e7814404b77 "hold task->mempolicy while numa_maps scans." fixed the
      race with the exiting task but this is not enough.

      The current code assumes that get_vma_policy(task) should either see
      task->mempolicy == NULL or it should be equal to ->task_mempolicy saved
      by hold_task_mempolicy(), so we can never race with __mpol_put(). But
      this can only work if we can't race with do_set_mempolicy(), and thus
      we can't race with another do_set_mempolicy() or do_exit() after that.

      However, do_set_mempolicy()->down_write(mmap_sem) can not prevent this
      race. This task can exec, change it's ->mm, and call do_set_mempolicy()
      after that; in this case they take 2 different locks.

      Change hold_task_mempolicy() to use get_task_policy(), it never returns
      NULL, and change show_numa_map() to use __get_vma_policy() or fall back
      to proc_priv->task_mempolicy.

      Note: this is the minimal fix, we will cleanup this code later. I think
      hold_task_mempolicy() and release_task_mempolicy() should die, we can
      move this logic into show_numa_map(). Or we can move get_task_policy()
      outside of ->mmap_sem and !CONFIG_NUMA code at least.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 74d2c3a05cc6c1eef2d7236a9919036ed85ddaaf
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:50 2014 -0700

      mempolicy: introduce __get_vma_policy(), export get_task_policy()

      Extract the code which looks for vma's policy from get_vma_policy()
      into the new helper, __get_vma_policy(). Export get_task_policy().

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6b6482bbf64ef6f6dbc8b52f7a7cf88a0498bd51
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:48 2014 -0700

      mempolicy: remove the "task" arg of vma_policy_mof() and simplify it

      1. vma_policy_mof(task) is simply not safe unless task == current,
         it can race with do_exit()->mpol_put(). Remove this arg and update
         its single caller.

      2. vma can not be NULL, remove this check and simplify the code.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8d90274b3b118c9babeefb1302947f33a1364fb5
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:45 2014 -0700

      mempolicy: sanitize the usage of get_task_policy()

      Cleanup + preparation. Every user of get_task_policy() calls it
      unconditionally, even if it is not going to use the result.

      get_task_policy() is cheap but still this does not look clean, plus
      the code looks simpler if get_task_policy() is called only when this
      is really needed.

      Note: I hope this is correct, but it is not clear why vma_policy_mof()
      doesn't fall back to get_task_policy() if ->get_policy() returns NULL.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f15ca78e33b0bb5acc0c5d9a5d5be3c55c4f0bb7
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:43 2014 -0700

      mempolicy: change get_task_policy() to return default_policy rather than 
NULL

      Every caller of get_task_policy() falls back to default_policy if it
      returns NULL. Change get_task_policy() to do this.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2386740d1add7bb5048c731dd1127a4e9911a3ed
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:41 2014 -0700

      mempolicy: change alloc_pages_vma() to use mpol_cond_put()

      Trivial cleanup. alloc_pages_vma() can use mpol_cond_put().

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1f13ae399c58af5a05b5cee61da864e1f4071de4
  Author: Johannes Weiner <hannes@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:27:39 2014 -0700

      mm: remove noisy remainder of the scan_unevictable interface

      The deprecation warnings for the scan_unevictable interface triggers by
      scripts doing `sysctl -a | grep something else'.  This is annoying and not
      helpful.

      The interface has been defunct since 264e56d8247e ("mm: disable user
      interface to manually rescue unevictable pages"), which was in 2011, and
      there haven't been any reports of usecases for it, only reports that the
      deprecation warnings are annying.  It's unlikely that anybody is using
      this interface specifically at this point, so remove it.

      Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f606b77f1a9e362451aca8f81d8f36a3a112139e
  Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:37 2014 -0700

      prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation

      During development of c/r we've noticed that in case if we need to support
      user namespaces we face a problem with capabilities in prctl(PR_SET_MM,
      ...) call, in particular once new user namespace is created
      capable(CAP_SYS_RESOURCE) no longer passes.

      A approach is to eliminate CAP_SYS_RESOURCE check but pass all new values
      in one bundle, which would allow the kernel to make more intensive test
      for sanity of values and same time allow us to support checkpoint/restore
      of user namespaces.

      Thus a new command PR_SET_MM_MAP introduced. It takes a pointer of
      prctl_mm_map structure which carries all the members to be updated.

        prctl(PR_SET_MM, PR_SET_MM_MAP, struct prctl_mm_map *, size)

        struct prctl_mm_map {
                __u64   start_code;
                __u64   end_code;
                __u64   start_data;
                __u64   end_data;
                __u64   start_brk;
                __u64   brk;
                __u64   start_stack;
                __u64   arg_start;
                __u64   arg_end;
                __u64   env_start;
                __u64   env_end;
                __u64   *auxv;
                __u32   auxv_size;
                __u32   exe_fd;
        };

      All members except @exe_fd correspond ones of struct mm_struct.  To figure
      out which available values these members may take here are meanings of the
      members.

       - start_code, end_code: represent bounds of executable code area
       - start_data, end_data: represent bounds of data area
       - start_brk, brk: used to calculate bounds for brk() syscall
       - start_stack: used when accounting space needed for command
         line arguments, environment and shmat() syscall
       - arg_start, arg_end, env_start, env_end: represent memory area
         supplied for command line arguments and environment variables
       - auxv, auxv_size: carries auxiliary vector, Elf format specifics
       - exe_fd: file descriptor number for executable link (/proc/self/exe)

      Thus we apply the following requirements to the values

      1) Any member except @auxv, @auxv_size, @exe_fd is rather an address
         in user space thus it must be laying inside [mmap_min_addr, 
mmap_max_addr)
         interval.

      2) While @[start|end]_code and @[start|end]_data may point to an 
nonexisting
         VMAs (say a program maps own new .text and .data segments during 
execution)
         the rest of members should belong to VMA which must exist.

      3) Addresses must be ordered, ie @start_ member must not be greater or
         equal to appropriate @end_ member.

      4) As in regular Elf loading procedure we require that @start_brk and
         @brk be greater than @end_data.

      5) If RLIMIT_DATA rlimit is set to non-infinity new values should not
         exceed existing limit. Same applies to RLIMIT_STACK.

      6) Auxiliary vector size must not exceed existing one (which is
         predefined as AT_VECTOR_SIZE and depends on architecture).

      7) File descriptor passed in @exe_file should be pointing
         to executable file (because we use existing 
prctl_set_mm_exe_file_locked
         helper it ensures that the file we are going to use as exe link has all
         required permission granted).

      Now about where these members are involved inside kernel code:

       - @start_code and @end_code are used in /proc/$pid/[stat|statm] output;

       - @start_data and @end_data are used in /proc/$pid/[stat|statm] output,
         also they are considered if there enough space for brk() syscall
         result if RLIMIT_DATA is set;

       - @start_brk shown in /proc/$pid/stat output and accounted in brk()
         syscall if RLIMIT_DATA is set; also this member is tested to
         find a symbolic name of mmap event for perf system (we choose
         if event is generated for "heap" area); one more aplication is
         selinux -- we test if a process has PROCESS__EXECHEAP permission
         if trying to make heap area being executable with mprotect() syscall;

       - @brk is a current value for brk() syscall which lays inside heap
         area, it's shown in /proc/$pid/stat. When syscall brk() succesfully
         provides new memory area to a user space upon brk() completion the
         mm::brk is updated to carry new value;

         Both @start_brk and @brk are actively used in /proc/$pid/maps
         and /proc/$pid/smaps output to find a symbolic name "heap" for
         VMA being scanned;

       - @start_stack is printed out in /proc/$pid/stat and used to
         find a symbolic name "stack" for task and threads in
         /proc/$pid/maps and /proc/$pid/smaps output, and as the same
         as with @start_brk -- perf system uses it for event naming.
         Also kernel treat this member as a start address of where
         to map vDSO pages and to check if there is enough space
         for shmat() syscall;

       - @arg_start, @arg_end, @env_start and @env_end are printed out
         in /proc/$pid/stat. Another access to the data these members
         represent is to read /proc/$pid/environ or /proc/$pid/cmdline.
         Any attempt to read these areas kernel tests with access_process_vm
         helper so a user must have enough rights for this action;

       - @auxv and @auxv_size may be read from /proc/$pid/auxv. Strictly
         speaking kernel doesn't care much about which exactly data is
         sitting there because it is solely for userspace;

       - @exe_fd is referred from /proc/$pid/exe and when generating
         coredump. We uses prctl_set_mm_exe_file_locked helper to update
         this member, so exe-file link modification remains one-shot
         action.

      Still note that updating exe-file link now doesn't require sys-resource
      capability anymore, after all there is no much profit in preventing setup
      own file link (there are a number of ways to execute own code -- ptrace,
      ld-preload, so that the only reliable way to find which exactly code is
      executed is to inspect running program memory).  Still we require the
      caller to be at least user-namespace root user.

      I believe the old interface should be deprecated and ripped off in a
      couple of kernel releases if no one against.

      To test if new interface is implemented in the kernel one can pass
      PR_SET_MM_MAP_SIZE opcode and the kernel returns the size of currently
      supported struct prctl_mm_map.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col wordwrap in macro definitions]
      Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Acked-by: Andrew Vagin <avagin@xxxxxxxxxx>
      Tested-by: Andrew Vagin <avagin@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
      Cc: Julien Tinnes <jln@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 71fe97e185040c5dac3216cd54e186dfa534efa0
  Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:34 2014 -0700

      prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file

      Instead of taking mm->mmap_sem inside prctl_set_mm_exe_file() move it out
      and rename the helper to prctl_set_mm_exe_file_locked().  This will allow
      to reuse this function in a next patch.

      Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Cc: Andrew Vagin <avagin@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
      Cc: Julien Tinnes <jln@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8764b338b37524ab1a78aee527318ebee9762487
  Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:32 2014 -0700

      mm: use may_adjust_brk helper

      Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Cc: Andrew Vagin <avagin@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
      Cc: Julien Tinnes <jln@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9c5990240e076ae564cccbd921868cd08f6daaa5
  Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:29 2014 -0700

      mm: introduce check_data_rlimit helper

      To eliminate code duplication lets introduce check_data_rlimit helper
      which we will use in brk() and prctl() syscalls.

      Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: Kees Cook <keescook@xxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Cc: Andrew Vagin <avagin@xxxxxxxxxx>
      Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
      Cc: H. Peter Anvin <hpa@xxxxxxxxx>
      Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx>
      Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx>
      Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
      Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
      Cc: Julien Tinnes <jln@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6d7ce55940b6ecd463ca044ad241f0122d913293
  Author: David Rientjes <rientjes@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:27 2014 -0700

      mm, compaction: pass gfp mask to compact_control

      struct compact_control currently converts the gfp mask to a migratetype,
      but we need the entire gfp mask in a follow-up patch.

      Pass the entire gfp mask as part of struct compact_control.

      Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 43e7a34d265e884b7cf34f9b05e6f2e0c05bf120
  Author: David Rientjes <rientjes@xxxxxxxxxx>
  Date:   Thu Oct 9 15:27:25 2014 -0700

      mm: rename allocflags_to_migratetype for clarity

      The page allocator has gfp flags (like __GFP_WAIT) and alloc flags (like
      ALLOC_CPUSET) that have separate semantics.

      The function allocflags_to_migratetype() actually takes gfp flags, not
      alloc flags, and returns a migratetype.  Rename it to
      gfpflags_to_migratetype().

      Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 99c0fd5e51c447917264154cb01a967804ace745
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:23 2014 -0700

      mm, compaction: skip buddy pages by their order in the migrate scanner

      The migration scanner skips PageBuddy pages, but does not consider their
      order as checking page_order() is generally unsafe without holding the
      zone->lock, and acquiring the lock just for the check wouldn't be a good
      tradeoff.

      Still, this could avoid some iterations over the rest of the buddy page,
      and if we are careful, the race window between PageBuddy() check and
      page_order() is small, and the worst thing that can happen is that we skip
      too much and miss some isolation candidates.  This is not that bad, as
      compaction can already fail for many other reasons like parallel
      allocations, and those have much larger race window.

      This patch therefore makes the migration scanner obtain the buddy page
      order and use it to skip the whole buddy page, if the order appears to be
      in the valid range.

      It's important that the page_order() is read only once, so that the value
      used in the checks and in the pfn calculation is the same.  But in theory
      the compiler can replace the local variable by multiple inlines of
      page_order().  Therefore, the patch introduces page_order_unsafe() that
      uses ACCESS_ONCE to prevent this.

      Testing with stress-highalloc from mmtests shows a 15% reduction in number
      of pages scanned by migration scanner.  The reduction is >60% with
      __GFP_NO_KSWAPD allocations, along with success rates better by few
      percent.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e14c720efdd73c6d69cd8d07fa894bcd11fe1973
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:20 2014 -0700

      mm, compaction: remember position within pageblock in free pages scanner

      Unlike the migration scanner, the free scanner remembers the beginning of
      the last scanned pageblock in cc->free_pfn.  It might be therefore
      rescanning pages uselessly when called several times during single
      compaction.  This might have been useful when pages were returned to the
      buddy allocator after a failed migration, but this is no longer the case.

      This patch changes the meaning of cc->free_pfn so that if it points to a
      middle of a pageblock, that pageblock is scanned only from cc->free_pfn to
      the end.  isolate_freepages_block() will record the pfn of the last page
      it looked at, which is then used to update cc->free_pfn.

      In the mmtests stress-highalloc benchmark, this has resulted in lowering
      the ratio between pages scanned by both scanners, from 2.5 free pages per
      migrate page, to 2.25 free pages per migrate page, without affecting
      success rates.

      With __GFP_NO_KSWAPD allocations, this appears to result in a worse ratio
      (2.1 instead of 1.8), but page migration successes increased by 10%, so
      this could mean that more useful work can be done until need_resched()
      aborts this kind of compaction.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 69b7189f12e0064237630e8c6bb64cad710bb268
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:18 2014 -0700

      mm, compaction: skip rechecks when lock was already held

      Compaction scanners try to lock zone locks as late as possible by checking
      many page or pageblock properties opportunistically without lock and
      skipping them if not unsuitable.  For pages that pass the initial checks,
      some properties have to be checked again safely under lock.  However, if
      the lock was already held from a previous iteration in the initial checks,
      the rechecks are unnecessary.

      This patch therefore skips the rechecks when the lock was already held.
      This is now possible to do, since we don't (potentially) drop and
      reacquire the lock between the initial checks and the safe rechecks
      anymore.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8b44d2791f912566a7ef58c71a7f9cbd16c3eeae
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:16 2014 -0700

      mm, compaction: periodically drop lock and restore IRQs in scanners

      Compaction scanners regularly check for lock contention and need_resched()
      through the compact_checklock_irqsave() function.  However, if there is no
      contention, the lock can be held and IRQ disabled for potentially long
      time.

      This has been addressed by commit b2eef8c0d091 ("mm: compaction: minimise
      the time IRQs are disabled while isolating pages for migration") for the
      migration scanner.  However, the refactoring done by commit 2a1402aa044b
      ("mm: compaction: acquire the zone->lru_lock as late as possible") has
      changed the conditions so that the lock is dropped only when there's
      contention on the lock or need_resched() is true.  Also, need_resched() is
      checked only when the lock is already held.  The comment "give a chance to
      irqs before checking need_resched" is therefore misleading, as IRQs remain
      disabled when the check is done.

      This patch restores the behavior intended by commit b2eef8c0d091 and also
      tries to better balance and make more deterministic the time spent by
      checking for contention vs the time the scanners might run between the
      checks.  It also avoids situations where checking has not been done often
      enough before.  The result should be avoiding both too frequent and too
      infrequent contention checking, and especially the potentially
      long-running scans with IRQs disabled and no checking of need_resched() or
      for fatal signal pending, which can happen when many consecutive pages or
      pageblocks fail the preliminary tests and do not reach the later call site
      to compact_checklock_irqsave(), as explained below.

      Before the patch:

      In the migration scanner, compact_checklock_irqsave() was called each
      loop, if reached.  If not reached, some lower-frequency checking could
      still be done if the lock was already held, but this would not result in
      aborting contended async compaction until reaching
      compact_checklock_irqsave() or end of pageblock.  In the free scanner, it
      was similar but completely without the periodical checking, so lock can be
      potentially held until reaching the end of pageblock.

      After the patch, in both scanners:

      The periodical check is done as the first thing in the loop on each
      SWAP_CLUSTER_MAX aligned pfn, using the new compact_unlock_should_abort()
      function, which always unlocks the lock (if locked) and aborts async
      compaction if scheduling is needed.  It also aborts any type of compaction
      when a fatal signal is pending.

      The compact_checklock_irqsave() function is replaced with a slightly
      different compact_trylock_irqsave().  The biggest difference is that the
      function is not called at all if the lock is already held.  The periodical
      need_resched() checking is left solely to compact_unlock_should_abort().
      The lock contention avoidance for async compaction is achieved by the
      periodical unlock by compact_unlock_should_abort() and by using trylock in
      compact_trylock_irqsave() and aborting when trylock fails.  Sync
      compaction does not use trylock.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1f9efdef4f3f1d2a073e524113fd0038af636f2b
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:14 2014 -0700

      mm, compaction: khugepaged should not give up due to need_resched()

      Async compaction aborts when it detects zone lock contention or
      need_resched() is true.  David Rientjes has reported that in practice,
      most direct async compactions for THP allocation abort due to
      need_resched().  This means that a second direct compaction is never
      attempted, which might be OK for a page fault, but khugepaged is intended
      to attempt a sync compaction in such case and in these cases it won't.

      This patch replaces "bool contended" in compact_control with an int that
      distinguishes between aborting due to need_resched() and aborting due to
      lock contention.  This allows propagating the abort through all compaction
      functions as before, but passing the abort reason up to
      __alloc_pages_slowpath() which decides when to continue with direct
      reclaim and another compaction attempt.

      Another problem is that try_to_compact_pages() did not act upon the
      reported contention (both need_resched() or lock contention) immediately
      and would proceed with another zone from the zonelist.  When
      need_resched() is true, that means initializing another zone compaction,
      only to check again need_resched() in isolate_migratepages() and aborting.
       For zone lock contention, the unintended consequence is that the lock
      contended status reported back to the allocator is detrmined from the last
      zone where compaction was attempted, which is rather arbitrary.

      This patch fixes the problem in the following way:
      - async compaction of a zone aborting due to need_resched() or fatal 
signal
        pending means that further zones should not be tried. We report
        COMPACT_CONTENDED_SCHED to the allocator.
      - aborting zone compaction due to lock contention means we can still try
        another zone, since it has different set of locks. We report back
        COMPACT_CONTENDED_LOCK only if *all* zones where compaction was 
attempted,
        it was aborted due to lock contention.

      As a result of these fixes, khugepaged will proceed with second sync
      compaction as intended, when the preceding async compaction aborted due to
      need_resched().  Page fault compactions aborting due to need_resched()
      will spare some cycles previously wasted by initializing another zone
      compaction only to abort again.  Lock contention will be reported only
      when compaction in all zones aborted due to lock contention, and therefore
      it's not a good idea to try again after reclaim.

      In stress-highalloc from mmtests configured to use __GFP_NO_KSWAPD, this
      has improved number of THP collapse allocations by 10%, which shows
      positive effect on khugepaged.  The benchmark's success rates are
      unchanged as it is not recognized as khugepaged.  Numbers of compact_stall
      and compact_fail events have however decreased by 20%, with
      compact_success still a bit improved, which is good.  With benchmark
      configured not to use __GFP_NO_KSWAPD, there is 6% improvement in THP
      collapse allocations, and only slight improvement in stalls and failures.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix warnings]
      Reported-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7d49d8868336bbf4f68714d8282ca5fd65e387ed
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:11 2014 -0700

      mm, compaction: reduce zone checking frequency in the migration scanner

      The unification of the migrate and free scanner families of function has
      highlighted a difference in how the scanners ensure they only isolate
      pages of the intended zone.  This is important for taking zone lock or lru
      lock of the correct zone.  Due to nodes overlapping, it is however
      possible to encounter a different zone within the range of the zone being
      compacted.

      The free scanner, since its inception by commit 748446bb6b5a ("mm:
      compaction: memory compaction core"), has been checking the zone of the
      first valid page in a pageblock, and skipping the whole pageblock if the
      zone does not match.

      This checking was completely missing from the migration scanner at first,
      and later added by commit dc9086004b3d ("mm: compaction: check for
      overlapping nodes during isolation for migration") in a reaction to a bug
      report.  But the zone comparison in migration scanner is done once per a
      single scanned page, which is more defensive and thus more costly than a
      check per pageblock.

      This patch unifies the checking done in both scanners to once per
      pageblock, through a new pageblock_pfn_to_page() function, which also
      includes pfn_valid() checks.  It is more defensive than the current free
      scanner checks, as it checks both the first and last page of the
      pageblock, but less defensive by the migration scanner per-page checks.
      It assumes that node overlapping may result (on some architecture) in a
      boundary between two nodes falling into the middle of a pageblock, but
      that there cannot be a node0 node1 node0 interleaving within a single
      pageblock.

      The result is more code being shared and a bit less per-page CPU cost in
      the migration scanner.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit edc2ca61249679298c1f343cd9c549964b8df4b4
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:09 2014 -0700

      mm, compaction: move pageblock checks up from isolate_migratepages_range()

      isolate_migratepages_range() is the main function of the compaction
      scanner, called either on a single pageblock by isolate_migratepages()
      during regular compaction, or on an arbitrary range by CMA's
      __alloc_contig_migrate_range().  It currently perfoms two pageblock-wide
      compaction suitability checks, and because of the CMA callpath, it tracks
      if it crossed a pageblock boundary in order to repeat those checks.

      However, closer inspection shows that those checks are always true for 
CMA:
      - isolation_suitable() is true because CMA sets cc->ignore_skip_hint to 
true
      - migrate_async_suitable() check is skipped because CMA uses sync 
compaction

      We can therefore move the compaction-specific checks to
      isolate_migratepages() and simplify isolate_migratepages_range().
      Furthermore, we can mimic the freepage scanner family of functions, which
      has isolate_freepages_block() function called both by compaction from
      isolate_freepages() and by CMA from isolate_freepages_range(), where each
      use-case adds own specific glue code.  This allows further code
      simplification.

      Thus, we rename isolate_migratepages_range() to
      isolate_migratepages_block() and limit its functionality to a single
      pageblock (or its subset).  For CMA, a new different
      isolate_migratepages_range() is created as a CMA-specific wrapper for the
      _block() function.  The checks specific to compaction are moved to
      isolate_migratepages().  As part of the unification of these two families
      of functions, we remove the redundant zone parameter where applicable,
      since zone pointer is already passed in cc->zone.

      Furthermore, going back to compact_zone() and compact_finished() when
      pageblock is found unsuitable (now by isolate_migratepages()) is wasteful
      - the checks are meant to skip pageblocks quickly.  The patch therefore
      also introduces a simple loop into isolate_migratepages() so that it does
      not return immediately on failed pageblock checks, but keeps going until
      isolate_migratepages_range() gets called once.  Similarily to
      isolate_freepages(), the function periodically checks if it needs to
      reschedule or abort async compaction.

      [iamjoonsoo.kim@xxxxxxx: fix isolated page counting bug in compaction]
      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f8224aa5a0a4627926019bba7511926393fbee3b
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:07 2014 -0700

      mm, compaction: do not recheck suitable_migration_target under lock

      isolate_freepages_block() rechecks if the pageblock is suitable to be a
      target for migration after it has taken the zone->lock.  However, the
      check has been optimized to occur only once per pageblock, and
      compact_checklock_irqsave() might be dropping and reacquiring lock, which
      means somebody else might have changed the pageblock's migratetype
      meanwhile.

      Furthermore, nothing prevents the migratetype to change right after
      isolate_freepages_block() has finished isolating.  Given how imperfect
      this is, it's simpler to just rely on the check done in
      isolate_freepages() without lock, and not pretend that the recheck under
      lock guarantees anything.  It is just a heuristic after all.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 98dd3b48a7b8e8277f14c2b7d879477efc1ed0d0
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:04 2014 -0700

      mm, compaction: do not count compact_stall if all zones skipped compaction

      The compact_stall vmstat counter counts the number of allocations stalled
      by direct compaction.  It does not count when all attempted zones had
      deferred compaction, but it does count when all zones skipped compaction.
      The skipping is decided based on very early check of
      compaction_suitable(), based on watermarks and memory fragmentation.
      Therefore it makes sense not to count skipped compactions as stalls.
      Moreover, compact_success or compact_fail is also already not being
      counted when compaction was skipped, so this patch changes the
      compact_stall counting to match the other two.

      Additionally, restructure __alloc_pages_direct_compact() code for better
      readability.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 53853e2d2bfb748a8b5aa2fd1de15699266865e0
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:02 2014 -0700

      mm, compaction: defer each zone individually instead of preferred zone

      When direct sync compaction is often unsuccessful, it may become deferred
      for some time to avoid further useless attempts, both sync and async.
      Successful high-order allocations un-defer compaction, while further
      unsuccessful compaction attempts prolong the compaction deferred period.

      Currently the checking and setting deferred status is performed only on
      the preferred zone of the allocation that invoked direct compaction.  But
      compaction itself is attempted on all eligible zones in the zonelist, so
      the behavior is suboptimal and may lead both to scenarios where 1)
      compaction is attempted uselessly, or 2) where it's not attempted despite
      good chances of succeeding, as shown on the examples below:

      1) A direct compaction with Normal preferred zone failed and set
         deferred compaction for the Normal zone.  Another unrelated direct
         compaction with DMA32 as preferred zone will attempt to compact DMA32
         zone even though the first compaction attempt also included DMA32 zone.

         In another scenario, compaction with Normal preferred zone failed to
         compact Normal zone, but succeeded in the DMA32 zone, so it will not
         defer compaction.  In the next attempt, it will try Normal zone which
         will fail again, instead of skipping Normal zone and trying DMA32
         directly.

      2) Kswapd will balance DMA32 zone and reset defer status based on
         watermarks looking good.  A direct compaction with preferred Normal
         zone will skip compaction of all zones including DMA32 because Normal
         was still deferred.  The allocation might have succeeded in DMA32, but
         won't.

      This patch makes compaction deferring work on individual zone basis
      instead of preferred zone.  For each zone, it checks compaction_deferred()
      to decide if the zone should be skipped.  If watermarks fail after
      compacting the zone, defer_compaction() is called.  The zone where
      watermarks passed can still be deferred when the allocation attempt is
      unsuccessful.  When allocation is successful, compaction_defer_reset() is
      called for the zone containing the allocated page.  This approach should
      approximate calling defer_compaction() only on zones where compaction was
      attempted and did not yield allocated page.  There might be corner cases
      but that is inevitable as long as the decision to stop compacting dues not
      guarantee that a page will be allocated.

      Due to a new COMPACT_DEFERRED return value, some functions relying
      implicitly on COMPACT_SKIPPED = 0 had to be updated, with comments made
      more accurate.  The did_some_progress output parameter of
      __alloc_pages_direct_compact() is removed completely, as the caller
      actually does not use it after compaction sets it - it is only considered
      when direct reclaim sets it.

      During testing on a two-node machine with a single very small Normal zone
      on node 1, this patch has improved success rates in stress-highalloc
      mmtests benchmark.  The success here were previously made worse by commit
      3a025760fc15 ("mm: page_alloc: spill to remote nodes before waking
      kswapd") as kswapd was no longer resetting often enough the deferred
      compaction for the Normal zone, and DMA32 zones on both nodes were thus
      not considered for compaction.  On different machine, success rates were
      improved with __GFP_NO_KSWAPD allocations.

      [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_COMPACTION=n build]
      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
      Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8b1645685acf3c7e0b93611fb4b328ef45c47e92
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:27:00 2014 -0700

      mm, THP: don't hold mmap_sem in khugepaged when allocating THP

      When allocating huge page for collapsing, khugepaged currently holds
      mmap_sem for reading on the mm where collapsing occurs.  Afterwards the
      read lock is dropped before write lock is taken on the same mmap_sem.

      Holding mmap_sem during whole huge page allocation is therefore useless,
      the vma needs to be rechecked after taking the write lock anyway.
      Furthemore, huge page allocation might involve a rather long sync
      compaction, and thus block any mmap_sem writers and i.e.  affect workloads
      that perform frequent m(un)map or mprotect oterations.

      This patch simply releases the read lock before allocating a huge page.
      It also deletes an outdated comment that assumed vma must be stable, as it
      was using alloc_hugepage_vma().  This is no longer true since commit
      9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node").

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Acked-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 447f05bb488bff4282088259b04f47f0f9f76760
  Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
  Date:   Thu Oct 9 15:26:58 2014 -0700

      block_dev: implement readpages() to optimize sequential read

      Sequential read from a block device is expected to be equal or faster than
      from the file on a filesystem.  But it is not correct due to the lack of
      effective readpages() in the address space operations for block device.

      This implements readpages() operation for block device by using
      mpage_readpages() which can create multipage BIOs instead of BIOs for each
      page and reduce system CPU time consumption.

      Install 1GB of RAM disk storage:

        # modprobe scsi_debug dev_size_mb=1024 delay=0

      Sequential read from file on a filesystem:

        # mkfs.ext4 /dev/$DEV
        # mount /dev/$DEV /mnt
        # fio --name=t --size=512m --rw=read --filename=/mnt/file
        ...
          read : io=524288KB, bw=2133.4MB/s, iops=546133, runt=   240msec

      Sequential read from a block device:
        # fio --name=t --size=512m --rw=read --filename=/dev/$DEV
        ...
      (Without this commit)
          read : io=524288KB, bw=1700.2MB/s, iops=435455, runt=   301msec

      (With this commit)
          read : io=524288KB, bw=2160.4MB/s, iops=553046, runt=   237msec

      Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
      Cc: Jens Axboe <axboe@xxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Jeff Moyer <jmoyer@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4db96b71e3caea5bb39053d57683129e0682c66f
  Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
  Date:   Thu Oct 9 15:26:55 2014 -0700

      vfs: guard end of device for mpage interface

      Add guard_bio_eod() check for mpage code in order to allow us to do IO
      even on the odd last sectors of a device, even if the block size is some
      multiple of the physical sector size.

      Using mpage_readpages() for block device requires this guard check.

      Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
      Cc: Jens Axboe <axboe@xxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Jeff Moyer <jmoyer@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 59d43914ed7b96255271ad6b7b735344beffa3c0
  Author: Akinobu Mita <akinobu.mita@xxxxxxxxx>
  Date:   Thu Oct 9 15:26:53 2014 -0700

      vfs: make guard_bh_eod() more generic

      This patchset implements readpages() operation for block device by using
      mpage_readpages() which can create multipage BIOs instead of BIOs for each
      page and reduce system CPU time consumption.

      This patch (of 3):

      guard_bh_eod() is used in submit_bh() to allow us to do IO even on the odd
      last sectors of a device, even if the block size is some multiple of the
      physical sector size.  This makes guard_bh_eod() more generic and renames
      it guard_bio_eod() so that we can use it without struct buffer_head
      argument.

      The reason for this change is that using mpage_readpages() for block
      device requires to add this guard check in mpage code.

      Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
      Cc: Jens Axboe <axboe@xxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Jeff Moyer <jmoyer@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 21bb9bd19430a43e6462ce75030fd7fac4b766ef
  Author: Vlastimil Babka <vbabka@xxxxxxx>
  Date:   Thu Oct 9 15:26:51 2014 -0700

      mm: page_alloc: determine migratetype only once

      The check for ALLOC_CMA in __alloc_pages_nodemask() derives migratetype
      from gfp_mask in each retry pass, although the migratetype variable
      already has the value determined and it does not change.  Use the variable
      and perform the check only once.  Also convert #ifdef CONFIG_CMA to
      IS_ENABLED.

      Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
      Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Mel Gorman <mgorman@xxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 95b0e655f9148881907fdbe5baba6a9f5d094fee
  Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:49 2014 -0700

      ARM: mm: don't limit default CMA region only to low memory

      DMA-mapping supports CMA regions places either in low or high memory, so
      there is no longer needed to limit default CMA regions only to low memory.
       The real limit is still defined by architecture specific DMA limit.

      Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
      Reported-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx>
      Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Daniel Drake <drake@xxxxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f7426b983a6a353cf21e5733e84458219c4a817e
  Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:47 2014 -0700

      mm: cma: adjust address limit to avoid hitting low/high memory boundary

      Russell King recently noticed that limiting default CMA region only to low
      memory on ARM architecture causes serious memory management issues with
      machines having a lot of memory (which is mainly available as high
      memory).  More information can be found the following thread:
      http://thread.gmane.org/gmane.linux.ports.arm.kernel/348441/

      Those two patches removes this limit letting kernel to put default CMA
      region into high memory when this is possible (there is enough high memory
      available and architecture specific DMA limit fits).

      This should solve strange OOM issues on systems with lots of RAM (i.e.
      >1GiB) and large (>256M) CMA area.

      This patch (of 2):

      Automatically allocated regions should not cross low/high memory boundary,
      because such regions cannot be later correctly initialized due to spanning
      across two memory zones.  This patch adds a check for this case and a
      simple code for moving region to low memory if automatically selected
      address might not fit completely into high memory.

      Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
      Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>
      Cc: Daniel Drake <drake@xxxxxxxxxxxx>
      Cc: Minchan Kim <minchan@xxxxxxxxxx>
      Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d4932f9e81ae7a7bf3c3967e48373909b9c98ee5
  Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:44 2014 -0700

      arm64: add atomic pool for non-coherent and CMA allocations

      Neither CMA nor noncoherent allocations support atomic allocations.
      Add a dedicated atomic pool to support this.

      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: David Riley <davidriley@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 36d0fd2198da3fd16b0e0da50ece05b4d295d2f1
  Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:42 2014 -0700

      arm: use genalloc for the atomic pool

      ARM currently uses a bitmap for tracking atomic allocations.  genalloc
      already handles this type of memory pool allocation so switch to using
      that instead.

      Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: David Riley <davidriley@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 513510ddba9650fc7da456eefeb0ead7632324f6
  Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:40 2014 -0700

      common: dma-mapping: introduce common remapping functions

      For architectures without coherent DMA, memory for DMA may need to be
      remapped with coherent attributes.  Factor out the the remapping code from
      arm and put it in a common location to reduce code duplication.

      As part of this, the arm APIs are now migrated away from
      ioremap_page_range to the common APIs which use map_vm_area for remapping.
       This should be an equivalent change and using map_vm_area is more correct
      as ioremap_page_range is intended to bring in io addresses into the cpu
      space and not regular kernel managed memory.

      Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: David Riley <davidriley@xxxxxxxxxxxx>
      Cc: Olof Johansson <olof@xxxxxxxxx>
      Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
      Cc: Will Deacon <will.deacon@xxxxxxx>
      Cc: James Hogan <james.hogan@xxxxxxxxxx>
      Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Cc: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9efb3a421d55d30b65fb0dbee05108d15c6c55f7
  Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:38 2014 -0700

      lib/genalloc.c: add genpool range check function

      After allocating an address from a particular genpool, there is no good
      way to verify if that address actually belongs to a genpool.  Introduce
      addr_in_gen_pool which will return if an address plus size falls
      completely within the genpool range.

      Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Acked-by: Will Deacon <will.deacon@xxxxxxx>
      Reviewed-by: Olof Johansson <olof@xxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: David Riley <davidriley@xxxxxxxxxxxx>
      Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 505e3be6c082489a32a88e042f930d047b6415bc
  Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:35 2014 -0700

      lib/genalloc.c: add power aligned algorithm

      One of the more common algorithms used for allocation is to align the
      start address of the allocation to the order of size requested.  Add this
      as an algorithm option for genalloc.

      Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx>
      Acked-by: Will Deacon <will.deacon@xxxxxxx>
      Acked-by: Olof Johansson <olof@xxxxxxxxx>
      Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
      Cc: Arnd Bergmann <arnd@xxxxxxxx>
      Cc: David Riley <davidriley@xxxxxxxxxxxx>
      Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx>
      Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
      Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6a33979d5bd7521497121c5ae4435d7003115a0f
  Author: Mel Gorman <mgorman@xxxxxxx>
  Date:   Thu Oct 9 15:26:33 2014 -0700

      mm: remove misleading ARCH_USES_NUMA_PROT_NONE

      ARCH_USES_NUMA_PROT_NONE was defined for architectures that implemented
      _PAGE_NUMA using _PROT_NONE.  This saved using an additional PTE bit and
      relied on the fact that PROT_NONE vmas were skipped by the NUMA hinting
      fault scanner.  This was found to be conceptually confusing with a lot of
      implicit assumptions and it was asked that an alternative be found.

      Commit c46a7c81 "x86: define _PAGE_NUMA by reusing software bits on the
      PMD and PTE levels" redefined _PAGE_NUMA on x86 to be one of the swap PTE
      bits and shrunk the maximum possible swap size but it did not go far
      enough.  There are no architectures that reuse _PROT_NONE as _PROT_NUMA
      but the relics still exist.

      This patch removes ARCH_USES_NUMA_PROT_NONE and removes some unnecessary
      duplication in powerpc vs the generic implementation by defining the types
      the core NUMA helpers expected to exist from x86 with their ppc64
      equivalent.  This necessitated that a PTE bit mask be created that
      identified the bits that distinguish present from NUMA pte entries but it
      is expected this will only differ between arches based on _PAGE_PROTNONE.
      The naming for the generic helpers was taken from x86 originally but ppc64
      has types that are equivalent for the purposes of the helper so they are
      mapped instead of duplicating code.

      Signed-off-by: Mel Gorman <mgorman@xxxxxxx>
      Cc: Hugh Dickins <hughd@xxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Rik van Riel <riel@xxxxxxxxxx>
      Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
      Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ed2f240094f900833ac06f533ab8bbcf0a1e8199
  Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
  Date:   Thu Oct 9 15:26:31 2014 -0700

      memory-hotplug: add sysfs valid_zones attribute

      Currently memory-hotplug has two limits:

      1. If the memory block is in ZONE_NORMAL, you can change it to
         ZONE_MOVABLE, but this memory block must be adjacent to ZONE_MOVABLE.

      2. If the memory block is in ZONE_MOVABLE, you can change it to
         ZONE_NORMAL, but this memory block must be adjacent to ZONE_NORMAL.

      With this patch, we can easy to know a memory block can be onlined to
      which zone, and don't need to know the above two limits.

      Updated the related Documentation.

      [akpm@xxxxxxxxxxxxxxxxxxxx: use conventional comment layout]
      [akpm@xxxxxxxxxxxxxxxxxxxx: fix build with CONFIG_MEMORY_HOTREMOVE=n]
      [akpm@xxxxxxxxxxxxxxxxxxxx: remove unused local zone_prev]
      Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx>
      Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Toshi Kani <toshi.kani@xxxxxx>
      Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>
      Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
      Cc: Wang Nan <wangnan0@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cc71aba348906ff93a4ad2f600045ee2d1ecc291
  Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:29 2014 -0700

      mm/mmap.c: whitespace fixes

      Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bf0dea23a9c094ae869a88bb694fbe966671bf6d
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:27 2014 -0700

      mm/slab: use percpu allocator for cpu cache

      Because of chicken and egg problem, initialization of SLAB is really
      complicated.  We need to allocate cpu cache through SLAB to make the
      kmem_cache work, but before initialization of kmem_cache, allocation
      through SLAB is impossible.

      On the other hand, SLUB does initialization in a more simple way.  It uses
      percpu allocator to allocate cpu cache so there is no chicken and egg
      problem.

      So, this patch try to use percpu allocator in SLAB.  This simplifies the
      initialization step in SLAB so that we could maintain SLAB code more
      easily.

      In my testing there is no performance difference.

      This implementation relies on percpu allocator.  Because percpu allocator
      uses vmalloc address space, vmalloc address space could be exhausted by
      this change on many cpu system with *32 bit* kernel.  This implementation
      can cover 1024 cpus in worst case by following calculation.

      Worst: 1024 cpus * 4 bytes for pointer * 300 kmem_caches *
        120 objects per cpu_cache = 140 MB
      Normal: 1024 cpus * 4 bytes for pointer * 150 kmem_caches(slab merge) *
        80 objects per cpu_cache = 46 MB

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Acked-by: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Jeremiah Mahler <jmmahler@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 12220dea07f1ac6ac717707104773d771c3f3077
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:24 2014 -0700

      mm/slab: support slab merge

      Slab merge is good feature to reduce fragmentation.  If new creating slab
      have similar size and property with exsitent slab, this feature reuse it
      rather than creating new one.  As a result, objects are packed into fewer
      slabs so that fragmentation is reduced.

      Below is result of my testing.

      * After boot, sleep 20; cat /proc/meminfo | grep Slab

      <Before>
      Slab: 25136 kB

      <After>
      Slab: 24364 kB

      We can save 3% memory used by slab.

      For supporting this feature in SLAB, we need to implement SLAB specific
      kmem_cache_flag() and __kmem_cache_alias(), because SLUB implements some
      SLUB specific processing related to debug flag and object size change on
      these functions.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 423c929cbbecc60e9c407f9048e58f5422f7995d
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:22 2014 -0700

      mm/slab_common: commonize slab merge logic

      Slab merge is good feature to reduce fragmentation.  Now, it is only
      applied to SLUB, but, it would be good to apply it to SLAB.  This patch is
      preparation step to apply slab merge to SLAB by commonizing slab merge
      logic.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9163582c3f22cfba90a78749751ac70b127a9167
  Author: Mikulas Patocka <mpatocka@xxxxxxxxxx>
  Date:   Thu Oct 9 15:26:20 2014 -0700

      slab: fix for_each_kmem_cache_node()

      Fix a bug (discovered with kmemcheck) in for_each_kmem_cache_node().  The
      for loop reads the array "node" before verifying that the index is within
      the range.  This results in kmemcheck warning.

      Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
      Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxx>
      Acked-by: Christoph Lameter <cl@xxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 109228389a943edd7e5c6ae94a7fda119691baec
  Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:26:18 2014 -0700

      kernel/kthread.c: partial revert of 81c98869faa5 ("kthread: ensure 
locality of task_struct allocations")

      After discussions with Tejun, we don't want to spread the use of
      cpu_to_mem() (and thus knowledge of allocators/NUMA topology details) into
      callers, but would rather ensure the callees correctly handle memoryless
      nodes.  With the previous patches ("topology: add support for
      node_to_mem_node() to determine the fallback node" and "slub: fallback to
      node_to_mem_node() node if allocating on memoryless node") adding and
      using node_to_mem_node(), we can safely undo part of the change to the
      kthread logic from 81c98869faa5.

      Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
      Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
      Cc: Anton Blanchard <anton@xxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit a561ce00b09e1545953340deb5bef1036d7442de
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:15 2014 -0700

      slub: fall back to node_to_mem_node() node if allocating on memoryless 
node

      Update the SLUB code to search for partial slabs on the nearest node with
      memory in the presence of memoryless nodes.  Additionally, do not consider
      it to be an ALLOC_NODE_MISMATCH (and deactivate the slab) when a
      memoryless-node specified allocation goes off-node.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
      Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
      Cc: Anton Blanchard <anton@xxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ad2c8144418c6a81cefe65379fd47bbe8344cef2
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:13 2014 -0700

      topology: add support for node_to_mem_node() to determine the fallback 
node

      Anton noticed (http://www.spinics.net/lists/linux-mm/msg67489.html) that
      on ppc LPARs with memoryless nodes, a large amount of memory was consumed
      by slabs and was marked unreclaimable.  He tracked it down to slab
      deactivations in the SLUB core when we allocate remotely, leading to poor
      efficiency always when memoryless nodes are present.

      After much discussion, Joonsoo provided a few patches that help
      significantly.  They don't resolve the problem altogether:

       - memory hotplug still needs testing, that is when a memoryless node
         becomes memory-ful, we want to dtrt
       - there are other reasons for going off-node than memoryless nodes,
         e.g., fully exhausted local nodes

      Neither case is resolved with this series, but I don't think that should
      block their acceptance, as they can be explored/resolved with follow-on
      patches.

      The series consists of:

      [1/3] topology: add support for node_to_mem_node() to determine the
            fallback node

      [2/3] slub: fallback to node_to_mem_node() node if allocating on
            memoryless node

            - Joonsoo's patches to cache the nearest node with memory for each
              NUMA node

      [3/3] Partial revert of 81c98869faa5 (""kthread: ensure locality of
            task_struct allocations")

       - At Tejun's request, keep the knowledge of memoryless node fallback
         to the allocator core.

      This patch (of 3):

      We need to determine the fallback node in slub allocator if the allocation
      target node is memoryless node.  Without it, the SLUB wrongly select the
      node which has no memory and can't use a partial slab, because of node
      mismatch.  Introduced function, node_to_mem_node(X), will return a node Y
      with memory that has the nearest distance.  If X is memoryless node, it
      will return nearest distance node, but, if X is normal node, it will
      return itself.

      We will use this function in following patch to determine the fallback
      node.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: Paul Mackerras <paulus@xxxxxxxxx>
      Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
      Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
      Cc: Anton Blanchard <anton@xxxxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx>
      Cc: Tejun Heo <tj@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit c9e16131d6e39bddd183f0b9d787ec0a62bf0eeb
  Author: Christoph Lameter <cl@xxxxxxxxx>
  Date:   Thu Oct 9 15:26:11 2014 -0700

      slub: disable tracing and failslab for merged slabs

      Tracing of mergeable slabs as well as uses of failslab are confusing since
      the objects of multiple slab caches will be affected.  Moreover this
      creates a situation where a mergeable slab will become unmergeable.

      If tracing or failslab testing is desired then it may be best to switch
      merging off for starters.

      Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>
      Tested-by: WANG Chao <chaowang@xxxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 25c4f304be8cd6831105d3a2876028e4ecd254a1
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:09 2014 -0700

      mm/slab: factor out unlikely part of cache_free_alien()

      cache_free_alien() is rarely used function when node mismatch.  But, it is
      defined with inline attribute so it is inlined to __cache_free() which is
      core free function of slab allocator.  It uselessly makes
      kmem_cache_free()/kfree() functions large.  What we really need to inline
      is just checking node match so this patch factor out other parts of
      cache_free_alien() to reduce code size of kmem_cache_free()/ kfree().

      <Before>
      nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free"
      00000000000011e0 0000000000000228 T kfree
      0000000000000670 0000000000000216 T kmem_cache_free

      <After>
      nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free"
      0000000000001110 00000000000001b5 T kfree
      0000000000000750 0000000000000181 T kmem_cache_free

      You can see slightly reduced size of text: 0x228->0x1b5, 0x216->0x181.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit d3aec34466d9d6c8ceaa7f95088ced5705823735
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:06 2014 -0700

      mm/slab: noinline __ac_put_obj()

      Our intention of __ac_put_obj() is that it doesn't affect anything if
      sk_memalloc_socks() is disabled.  But, because __ac_put_obj() is too
      small, compiler inline it to ac_put_obj() and affect code size of free
      path.  This patch add noinline keyword for __ac_put_obj() not to distrupt
      normal free path at all.

      <Before>
      nm -S slab-orig.o |
        grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free"

      0000000000001e80 00000000000002f5 t cache_alloc_refill
      0000000000001230 0000000000000258 T kfree
      0000000000000690 000000000000024c T kmem_cache_free

      <After>
      nm -S slab-patched.o |
        grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free"

      0000000000001e00 00000000000002e5 t cache_alloc_refill
      00000000000011e0 0000000000000228 T kfree
      0000000000000670 0000000000000216 T kmem_cache_free

      cache_alloc_refill: 0x2f5->0x2e5
      kfree: 0x256->0x228
      kmem_cache_free: 0x24c->0x216

      code size of each function is reduced slightly.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3d88019408d6fbff1a38a58e694d56b7fd465408
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:04 2014 -0700

      mm/slab: move cache_flusharray() out of unlikely.text section

      Now, due to likely keyword, compiled code of cache_flusharray() is on
      unlikely.text section.  Although it is uncommon case compared to free to
      cpu cache case, it is common case than free_block().  But, free_block() is
      on normal text section.  This patch fix this odd situation to remove
      likely keyword.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 61f47105a2c9c60e950ca808b7560f776f9bfa31
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:02 2014 -0700

      mm/sl[ao]b: always track caller in kmalloc_(node_)track_caller()

      Now, we track caller if tracing or slab debugging is enabled.  If they are
      disabled, we could save one argument passing overhead by calling
      __kmalloc(_node)().  But, I think that it would be marginal.  Furthermore,
      default slab allocator, SLUB, doesn't use this technique so I think that
      it's okay to change this situation.

      After this change, we can turn on/off CONFIG_DEBUG_SLAB without full
      kernel build and remove some complicated '#if' defintion.  It looks more
      benefitial to me.

      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Acked-by: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 07f361b2bee38896df8be17d8c3f8af3f3610606
  Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
  Date:   Thu Oct 9 15:26:00 2014 -0700

      mm/slab_common: move kmem_cache definition to internal header

      We don't need to keep kmem_cache definition in include/linux/slab.h if we
      don't need to inline kmem_cache_size().  According to my code inspection,
      this function is only called at lc_create() in lib/lru_cache.c which may
      be called at initialization phase of something, so we don't need to inline
      it.  Therfore, move it to slab_common.c and move kmem_cache definition to
      internal header.

      After this change, we can change kmem_cache definition easily without full
      kernel build.  For instance, we can turn on/off CONFIG_SLUB_STATS without
      full kernel build.

      [akpm@xxxxxxxxxxxxxxxxxxxx: export kmem_cache_size() to modules]
      [rdunlap@xxxxxxxxxxxxx: add header files to fix kmemcheck.c build errors]
      Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Acked-by: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
      Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3aa24f519e48e0db0ccf198d1b766a61d9463ce6
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:25:58 2014 -0700

      mm/slab_common.c: suppress warning

      False positive:

      mm/slab_common.c: In function 'kmem_cache_create':
      mm/slab_common.c:204: warning: 's' may be used uninitialized in this 
function

      Cc: Christoph Lameter <cl@xxxxxxxxx>
      Cc: Pekka Enberg <penberg@xxxxxxxxxx>
      Cc: David Rientjes <rientjes@xxxxxxxxxx>
      Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit bf3e2692468fe46eed57d18b3dd1af5b30049122
  Author: Baoquan He <bhe@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:56 2014 -0700

      fs/proc/kcore.c: don't add modules range to kcore if it's equal to vmcore 
range

      On some ARCHs modules range is eauql to vmalloc range. E.g on i686

        "#define MODULES_VADDR   VMALLOC_START"
        "#define MODULES_END     VMALLOC_END"

      This will cause 2 duplicate program segments in /proc/kcore, and no flag
      to indicate they are different.  This is confusing.  And usually people
      who need check the elf header or read the content of kcore will check
      memory ranges.  Two program segments which are the same are unnecessary.

      So check if the modules range is equal to vmalloc range.  If so, just skip
      adding the modules range.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
      Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx>
      Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 58cb65487e92b47448d00a711c9f5922137d5678
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:54 2014 -0700

      proc/maps: make vm_is_stack() logic namespace-friendly

      - Rename vm_is_stack() to task_of_stack() and change it to return
        "struct task_struct *" rather than the global (and thus wrong in
        general) pid_t.

      - Add the new pid_of_stack() helper which calls task_of_stack() and
        uses the right namespace to report the correct pid_t.

        Unfortunately we need to define this helper twice, in task_mmu.c
        and in task_nommu.c. perhaps it makes sense to add fs/proc/util.c
        and move at least pid_of_stack/task_of_stack there to avoid the
        code duplication.

      - Change show_map_vma() and show_numa_map() to use the new helper.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: Greg Ungerer <gerg@xxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2c03376d2db005869b1d4449097d51c96196529e
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:51 2014 -0700

      proc/maps: replace proc_maps_private->pid with "struct inode *inode"

      m_start() can use get_proc_task() instead, and "struct inode *"
      provides more potentially useful info, see the next changes.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Cc: Greg Ungerer <gerg@xxxxxxxxxxx>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 47fecca15c0944924423390fe21b956eea57da30
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:49 2014 -0700

      fs/proc/task_nommu.c: don't use priv->task->mm

      I do not know if CONFIG_PREEMPT/SMP is possible without CONFIG_MMU
      but the usage of task->mm in m_stop(). The task can exit/exec before
      we take mmap_sem, in this case m_stop() can hit NULL or unlock the
      wrong rw_semaphore.

      Also, this code uses priv->task != NULL to decide whether we need
      up_read/mmput. This is correct, but we will probably kill priv->task.
      Change m_start/m_stop to rely on IS_ERR_OR_NULL() like task_mmu.c does.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 27692cd56e2aa6924b49f4361247d707a023484a
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:47 2014 -0700

      fs/proc/task_nommu.c: shift mm_access() from m_start() to proc_maps_open()

      Copy-and-paste the changes from "fs/proc/task_mmu.c: shift mm_access()
      from m_start() to proc_maps_open()" into task_nommu.c.

      Change maps_open() to initialize priv->mm using proc_mem_open(), m_start()
      can rely on atomic_inc_not_zero(mm_users) like task_mmu.c does.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ce34fddb5bafb424a4aaa9f403feb7dbe776c7d1
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:45 2014 -0700

      fs/proc/task_nommu.c: change maps_open() to use __seq_open_private()

      Cleanup and preparation. maps_open() can use __seq_open_private()
      like proc_maps_open() does.

      [akpm@xxxxxxxxxxxxxxxxxxxx: deuglify]
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 557c2d8a73dc078817ba6949697ceb8c0f3f7362
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:43 2014 -0700

      fs/proc/task_mmu.c: update m->version in the main loop in m_start()

      Change the main loop in m_start() to update m->version. Mostly for
      consistency, but this can help to avoid the same loop if the very
      1st ->show() fails due to seq_overflow().

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b8c20a9b85b057c850f63ee4c63531a356d8596a
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:41 2014 -0700

      fs/proc/task_mmu.c: reintroduce m->version logic

      Add the "last_addr" optimization back. Like before, every ->show()
      method checks !seq_overflow() and sets m->version = vma->vm_start.

      However, it also checks that m_next_vma(vma) != NULL, otherwise it
      sets m->version = -1 for the lockless "EOF" fast-path in m_start().

      m_start() can simply do find_vma() + m_next_vma() if last_addr is
      not zero, the code looks clear and simple and this case is clearly
      separated from "scan vmas" path.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ad2a00e4b7e20ab03700b0bb13270b6cee45c6e0
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:39 2014 -0700

      fs/proc/task_mmu.c: introduce m_next_vma() helper

      Extract the tail_vma/vm_next calculation from m_next() into the new
      trivial helper, m_next_vma().

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0c255321f879c36bd74f58f9c7ed235ea6b919cb
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:36 2014 -0700

      fs/proc/task_mmu.c: simplify m_start() to make it readable

      Now that m->version is gone we can cleanup m_start(). In particular,

        - Remove the "unsigned long" typecast, m->index can't be negative
          or exceed ->map_count. But lets use "unsigned int pos" to make
          it clear that "pos < map_count" is safe.

        - Remove the unnecessary "vma != NULL" check in the main loop. It
          can't be NULL unless we have a vm bug.

        - This also means that "pos < map_count" case can simply return the
          valid vma and avoid "goto" and subsequent checks.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit ebb6cdde1a50c3cd2a0a4668dfb571ecb3213449
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:34 2014 -0700

      fs/proc/task_mmu.c: kill the suboptimal and confusing m->version logic

      m_start() carefully documents, checks, and sets "m->version = -1" if
      we are going to return NULL. The only problem is that we will be never
      called again if m_start() returns NULL, so this is simply pointless
      and misleading.

      Otoh, ->show() methods m->version = 0 if vma == tail_vma and this is
      just wrong, we want -1 in this case. And in fact we also want -1 if
      ->vm_next == NULL and ->tail_vma == NULL.

      And it is not used consistently, the "scan vmas" loop in m_start()
      should update last_addr too.

      Finally, imo the whole "last_addr" logic in m_start() looks horrible.
      find_vma(last_addr) is called unconditionally even if we are not going
      to use the result. But the main problem is that this code participates
      in tail_vma-or-NULL mess, and this looks simply unfixable.

      Remove this optimization. We will add it back after some cleanups.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0d5f5f45f9a4f1f6b694c37f5142ebea893f0a15
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:32 2014 -0700

      fs/proc/task_mmu.c: shift "priv->task = NULL" from m_start() to m_stop()

      1. There is no reason to reset ->tail_vma in m_start(), if we return
         IS_ERR_OR_NULL() it won't be used.

      2. m_start() also clears priv->task to ensure that m_stop() won't use
         the stale pointer if we fail before get_task_struct(). But this is
         ugly and confusing, move this initialization in m_stop().

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 23d54837e4f3a44ad4514d5eae8245c2250217ff
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:30 2014 -0700

      fs/proc/task_mmu.c: cleanup the "tail_vma" horror in m_next()

      1. Kill the first "vma != NULL" check. Firstly this is not possible,
         m_next() won't be called if ->start() or the previous ->next()
         returns NULL.

         And if it was possible the 2nd "vma != tail_vma" check is buggy,
         we should not wrongly return ->tail_vma.

      2. Make this function readable. The logic is very simple, we should
         return check "vma != tail" once and return "vm_next || tail_vma".

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 59b4bf12d4776c0e4f3fd5c02d942f3a0596da97
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:28 2014 -0700

      fs/proc/task_mmu.c: simplify the vma_stop() logic

      m_start() drops ->mmap_sem and does mmput() if it retuns vsyscall
      vma. This is because in this case m_stop()->vma_stop() obviously
      can't use gate_vma->vm_mm.

      Now that we have proc_maps_private->mm we can simplify this logic:

        - Change m_start() to return with ->mmap_sem held unless it returns
          IS_ERR_OR_NULL().

        - Change vma_stop() to use priv->mm and avoid the ugly vma checks,
          this makes "vm_area_struct *vma" unnecessary.

        - This also allows m_start() to use vm_stop().

        - Cleanup m_next() to follow the new locking rule.

          Note: m_stop() looks very ugly, and this temporary uglifies it
          even more. Fixed by the next change.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 29a40ace841cba9b661711f042d1821cdc4ad47c
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:26 2014 -0700

      fs/proc/task_mmu.c: shift mm_access() from m_start() to proc_maps_open()

      A simple test-case from Kirill Shutemov

        cat /proc/self/maps >/dev/null
        chmod +x /proc/self/net/packet
        exec /proc/self/net/packet

      makes lockdep unhappy, cat/exec take seq_file->lock + cred_guard_mutex in
      the opposite order.

      It's a false positive and probably we should not allow "chmod +x" on proc
      files. Still I think that we should avoid mm_access() and cred_guard_mutex
      in sys_read() paths, security checking should happen at open time. 
Besides,
      this doesn't even look right if the task changes its ->mm between m_stop()
      and m_start().

      Add the new "mm_struct *mm" member into struct proc_maps_private and 
change
      proc_maps_open() to initialize it using proc_mem_open(). Change m_start() 
to
      use priv->mm if atomic_inc_not_zero(mm_users) succeeds or return NULL 
(eof)
      otherwise.

      The only complication is that proc_maps_open() users should additionally 
do
      mmdrop() in fop->release(), add the new proc_map_release() helper for 
that.

      Note: this is the user-visible change, if the task execs after 
open("maps")
      the new ->mm won't be visible via this file. I hope this is fine, and this
      matches /proc/pid/mem bahaviour.

      [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes]
      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Reported-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5381e169e78405bd54256860f151596f5a887617
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:24 2014 -0700

      proc: introduce proc_mem_open()

      Extract the mm_access() code from __mem_open() into the new helper,
      proc_mem_open(), the next patch will add another caller.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4db7d0ee198d417f4144c58048fcb173d90096ea
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:21 2014 -0700

      fs/proc/task_mmu.c: unify/simplify do_maps_open() and numa_maps_open()

      do_maps_open() and numa_maps_open() are overcomplicated, they could use
      __seq_open_private().  Plus they do the same, just sizeof(*priv)

      Change them to use a new simple helper, proc_maps_open(ops, psize).  This
      simplifies the code and allows us to do the next changes.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 46c298cf69d0e9a27d33ff992a81bd7b441c7933
  Author: Oleg Nesterov <oleg@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:19 2014 -0700

      fs/proc/task_mmu.c: don't use task->mm in m_start() and show_*map()

      get_gate_vma(priv->task->mm) looks ugly and wrong, task->mm can be NULL or
      it can changed by exec right after mm_access().

      And in theory this race is not harmless, the task can exec and then later
      exit and free the new mm_struct.  In this case get_task_mm(oldmm) can't
      help, get_gate_vma(task->mm) can read the freed/unmapped memory.

      I think that priv->task should simply die and hold_task_mempolicy() logic
      can be simplified.  tail_vma logic asks for cleanups too.

      Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
      Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
      Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
      Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b1a8de1f534337b398c7778578a56ec4f018cb27
  Author: chai wen <chaiw.fnst@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:25:17 2014 -0700

      softlockup: make detector be aware of task switch of processes hogging cpu

      For now, soft lockup detector warns once for each case of process
      softlockup.  But the thread 'watchdog/n' may not always get the cpu at the
      time slot between the task switch of two processes hogging that cpu to
      reset soft_watchdog_warn.

      An example would be two processes hogging the cpu.  Process A causes the
      softlockup warning and is killed manually by a user.  Process B
      immediately becomes the new process hogging the cpu preventing the
      softlockup code from resetting the soft_watchdog_warn variable.

      This case is a false negative of "warn only once for a process", as there
      may be a different process that is going to hog the cpu.  Resolve this by
      saving/checking the task pointer of the hogging process and use that to
      reset soft_watchdog_warn too.

      [dzickus@xxxxxxxxxx: update comment]
      Signed-off-by: chai wen <chaiw.fnst@xxxxxxxxxxxxxx>
      Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx>
      Cc: Ingo Molnar <mingo@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f775da2fc2a8e42aa49eddbf5186ac3df8961a71
  Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:15 2014 -0700

      ocfs2: fix deadlock due to wrong locking order

      For commit ocfs2 journal, ocfs2 journal thread will acquire the mutex
      osb->journal->j_trans_barrier and wake up jbd2 commit thread, then it
      will wait until jbd2 commit thread done. In order journal mode, jbd2
      needs flushing dirty data pages first, and this needs get page lock.
      So osb->journal->j_trans_barrier should be got before page lock.

      But ocfs2_write_zero_page() and ocfs2_write_begin_inline() obey this
      locking order, and this will cause deadlock and hung the whole cluster.

      One deadlock catched is the following:

      PID: 13449  TASK: ffff8802e2f08180  CPU: 31  COMMAND: "oracle"
       #0 [ffff8802ee3f79b0] __schedule at ffffffff8150a524
       #1 [ffff8802ee3f7a58] schedule at ffffffff8150acbf
       #2 [ffff8802ee3f7a68] rwsem_down_failed_common at ffffffff8150cb85
       #3 [ffff8802ee3f7ad8] rwsem_down_read_failed at ffffffff8150cc55
       #4 [ffff8802ee3f7ae8] call_rwsem_down_read_failed at ffffffff812617a4
       #5 [ffff8802ee3f7b50] ocfs2_start_trans at ffffffffa0498919 [ocfs2]
       #6 [ffff8802ee3f7ba0] ocfs2_zero_start_ordered_transaction at 
ffffffffa048b2b8 [ocfs2]
       #7 [ffff8802ee3f7bf0] ocfs2_write_zero_page at ffffffffa048e9bd [ocfs2]
       #8 [ffff8802ee3f7c80] ocfs2_zero_extend_range at ffffffffa048ec83 [ocfs2]
       #9 [ffff8802ee3f7ce0] ocfs2_zero_extend at ffffffffa048edfd [ocfs2]
       #10 [ffff8802ee3f7d50] ocfs2_extend_file at ffffffffa049079e [ocfs2]
       #11 [ffff8802ee3f7da0] ocfs2_setattr at ffffffffa04910ed [ocfs2]
       #12 [ffff8802ee3f7e70] notify_change at ffffffff81187d29
       #13 [ffff8802ee3f7ee0] do_truncate at ffffffff8116bbc1
       #14 [ffff8802ee3f7f50] sys_ftruncate at ffffffff8116bcbd
       #15 [ffff8802ee3f7f80] system_call_fastpath at ffffffff81515142
          RIP: 00007f8de750c6f7  RSP: 00007fffe786e478  RFLAGS: 00000206
          RAX: 000000000000004d  RBX: ffffffff81515142  RCX: 0000000000000000
          RDX: 0000000000000200  RSI: 0000000000028400  RDI: 000000000000000d
          RBP: 00007fffe786e040   R8: 0000000000000000   R9: 000000000000000d
          R10: 0000000000000000  R11: 0000000000000206  R12: 000000000000000d
          R13: 00007fffe786e710  R14: 00007f8de70f8340  R15: 0000000000028400
          ORIG_RAX: 000000000000004d  CS: 0033  SS: 002b

      crash64> bt
      PID: 7610   TASK: ffff88100fd56140  CPU: 1   COMMAND: "ocfs2cmt"
       #0 [ffff88100f4d1c50] __schedule at ffffffff8150a524
       #1 [ffff88100f4d1cf8] schedule at ffffffff8150acbf
       #2 [ffff88100f4d1d08] jbd2_log_wait_commit at ffffffffa01274fd [jbd2]
       #3 [ffff88100f4d1d98] jbd2_journal_flush at ffffffffa01280b4 [jbd2]
       #4 [ffff88100f4d1dd8] ocfs2_commit_cache at ffffffffa0499b14 [ocfs2]
       #5 [ffff88100f4d1e38] ocfs2_commit_thread at ffffffffa0499d38 [ocfs2]
       #6 [ffff88100f4d1ee8] kthread at ffffffff81090db6
       #7 [ffff88100f4d1f48] kernel_thread_helper at ffffffff81516284

      crash64> bt
      PID: 7609   TASK: ffff88100f2d4480  CPU: 0   COMMAND: "jbd2/dm-20-86"
       #0 [ffff88100def3920] __schedule at ffffffff8150a524
       #1 [ffff88100def39c8] schedule at ffffffff8150acbf
       #2 [ffff88100def39d8] io_schedule at ffffffff8150ad6c
       #3 [ffff88100def39f8] sleep_on_page at ffffffff8111069e
       #4 [ffff88100def3a08] __wait_on_bit_lock at ffffffff8150b30a
       #5 [ffff88100def3a58] __lock_page at ffffffff81110687
       #6 [ffff88100def3ab8] write_cache_pages at ffffffff8111b752
       #7 [ffff88100def3be8] generic_writepages at ffffffff8111b901
       #8 [ffff88100def3c48] journal_submit_data_buffers at ffffffffa0120f67 
[jbd2]
       #9 [ffff88100def3cf8] jbd2_journal_commit_transaction at 
ffffffffa0121372[jbd2]
       #10 [ffff88100def3e68] kjournald2 at ffffffffa0127a86 [jbd2]
       #11 [ffff88100def3ee8] kthread at ffffffff81090db6
       #12 [ffff88100def3f48] kernel_thread_helper at ffffffff81516284

      Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Alex Chen <alex.chen@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 70e82a12dbfa3acbff41be08a36e8be4578878c9
  Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:13 2014 -0700

      ocfs2: fix deadlock between o2hb thread and o2net_wq

      The following case may lead to o2net_wq and o2hb thread deadlock on
      o2hb_callback_sem.
      Currently there are 2 nodes say N1, N2 in the cluster. And N2 down, at
      the same time, N3 tries to join the cluster. So N1 will handle node
      down (N2) and join (N3) simultaneously.
          o2hb                               o2net_wq
          ->o2hb_do_disk_heartbeat
          ->o2hb_check_slot
          ->o2hb_run_event_list
          ->o2hb_fire_callbacks
          ->down_write(&o2hb_callback_sem)
          ->o2net_hb_node_down_cb
          ->flush_workqueue(o2net_wq)
                                             ->o2net_process_message
                                             ->dlm_query_join_handler
                                             ->o2hb_check_node_heartbeating
                                             ->o2hb_fill_node_map
                                             ->down_read(&o2hb_callback_sem)

      No need to take o2hb_callback_sem in dlm_query_join_handler,
      o2hb_live_lock is enough to protect live node map.

      Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
      Cc: xMark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: jiangyiwen <jiangyiwen@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5046f18d5bd9ad7638b32c3b304ff39a74c064df
  Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:11 2014 -0700

      ocfs2: don't fire quorum before connection established

      Firing quorum before connection established can cause unexpected node to
      reboot.

      Assume there are 3 nodes in the cluster, Node 1, 2, 3.  Node 2 and 3 have
      wrong ip address of Node 1 in cluster.conf and global heartbeat is enabled
      in the cluster.  After the heatbeats are started on these three nodes,
      Node 1 will reboot due to quorum fencing.  It is similar case if Node 1's
      networking is not ready when starting the global heartbeat.

      The reboot is not friendly as customer is not fully ready for ocfs2 to
      work.  Fix it by not allowing firing quorum before the connection is
      established.  In this case, ocfs2 will wait until the wrong configuration
      is fixed or networking is up to continue.  Also update the log to guide
      the user where to check when connection is not built for a long time.

      Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
      Reviewed-by: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 1848cb5530d3bada86c7b54f4f8b053b2081eb00
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:25:09 2014 -0700

      fs/ocfs2/dlmglue.c: use __seq_open_private() not seq_open()

      Reduce boilerplate code by using seq_open_private() instead of seq_open()

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit f32883384846e1d4aa941c60dd8adb44093359c6
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:25:07 2014 -0700

      fs/ocfs2/cluster/netdebug.c: use seq_open_private() not seq_open()

      Reduce boilerplate code by using seq_open_private() instead of seq_open()

      Note that the code in and using sc_common_open() has been quite
      extensively changed.  Not least because there was a latent memory leak in
      the code as was: if sc_common_open() failed, the previously allocated
      buffer was not freed.

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 8f9ac032322b855ff9f578efcb5de891dcf85e9b
  Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:25:05 2014 -0700

      fs/ocfs2/dlm/dlmdebug.c: use seq_open_private() not seq_open()

      Reduce boilerplate code by using seq_open_private() instead of seq_open()

      Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 6ae075485e2d91921bdd64e49896b1bae87d1ba2
  Author: Xue jiufei <xuejiufei@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:03 2014 -0700

      ocfs2: remove unused code in dlm_new_lockres()

      Remove the branch that free res->lockname.name because the condition
      is never satisfied when jump to label error.

      Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 9a7e6b5a0ad1a554ca982c555a34ce8086d5b994
  Author: alex chen <alex.chen@xxxxxxxxxx>
  Date:   Thu Oct 9 15:25:00 2014 -0700

      ocfs2/dlm: call dlm_lockres_put without resource spinlock

      dlm_lockres_put() should be called without &res->spinlock, otherwise a
      deadlock case may happen.

      spin_lock(&res->spinlock)
      ...
      dlm_lockres_put
        ->dlm_lockres_release
          ->dlm_print_one_lock_resource
            ->spin_lock(&res->spinlock)

      Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx>
      Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 4a4e07c1bdbbc24d905e4c266b92cada9371db5d
  Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:58 2014 -0700

      ocfs2: call o2quo_exit() if malloc failed in o2net_init()

      In o2net_init, if malloc failed, it directly returns -ENOMEM.  Then
      o2quo_exit won't be called in init_o2nm.

      Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
      Reviewed-by: joyce.xue <xuejiufei@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7fa05c6e46d76378d4403669ba6ea38364f910ac
  Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:56 2014 -0700

      ocfs2: fix shift left operations overflow

      ocfs2_inode_info->ip_clusters and ocfs2_dinode->id1.bitmap1.i_total are
      defined as type u32, so the shift left operations may overflow if volume
      size is large, for example, 2TB and cluster size is 1MB.

      Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
      Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 190a7721ac865744a59fdf2f291c2a211cab6217
  Author: Joseph Qi <joseph.qi@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:54 2014 -0700

      ocfs2/dlm: refactor error handling in dlm_alloc_ctxt

      Refactoring error handling in dlm_alloc_ctxt to simplify code.

      Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx>
      Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 98acbf63d63c83e847c5cbe454b36a53cfbbc7a5
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:52 2014 -0700

      fs/ocfs2/stack_user.c: fix typo in ocfs2_control_release()

      It is supposed to zero pv_minor.

      Reported-by: Himangi Saraogi <himangi774@xxxxxxxxx>
      Cc: Mark Fasheh <mfasheh@xxxxxxxx>
      Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit e2cabe1d426fb10cd8e04c26a49e70f1c864d25c
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:50 2014 -0700

      score: use Kbuild logic to include <asm-generic/sections.h>

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 7143e494414f25c6209f94155d20b796e0f36626
  Author: Andrea Gelmini <andrea.gelmini@xxxxxxxxx>
  Date:   Thu Oct 9 15:24:48 2014 -0700

      ntfs: remove bogus space

      fs/ntfs/debug.c:124: WARNING: space prohibited between function name and
      open parenthesis '('

      Signed-off-by: Andrea Gelmini <andrea.gelmini@xxxxxxxxx>
      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 5272d036b280d43a06ab790030609225480d2009
  Author: Anton Altaparmakov <anton@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:46 2014 -0700

      ntfs: use find_get_page_flags() to mark page accessed as it is no longer 
marked later on

      Mel Gorman's commit 2457aec63745 ("mm: non-atomically mark page accessed
      during page cache allocation where possible") removed mark_page_accessed()
      calls from NTFS without updating the matching find_lock_page() to
      find_get_page_flags(GFP_LOCK | FGP_ACCESSED) thus causing the page to
      never be marked accessed.

      This patch fixes that.

      Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx>
      Cc: Mel Gorman <mel@xxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 2f82df0f3e6e89867695956aa061b464fe2c8958
  Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:44 2014 -0700

      m32r: remove deprecated IRQF_DISABLED

      This patch removes the use of the IRQF_DISABLED flag
      from arch/m32r/kernel/time.c

      It's a NOOP since 2.6.35 and it will be removed one day.

      Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx>
      Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 3a28663696569624e36161e2100fd61e38bd9824
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:42 2014 -0700

      m32r: use Kbuild logic to include <asm-generic/sections.h>

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 0b37e097a648aa71d4db1ad108001e95b69a2da4
  Author: Yann Droneaud <ydroneaud@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:40 2014 -0700

      fanotify: enable close-on-exec on events' fd when requested in 
fanotify_init()

      According to commit 80af258867648 ("fanotify: groups can specify their
      f_flags for new fd"), file descriptors created as part of file access
      notification events inherit flags from the event_f_flags argument passed
      to syscall fanotify_init(2)[1].

      Unfortunately O_CLOEXEC is currently silently ignored.

      Indeed, event_f_flags are only given to dentry_open(), which only seems to
      care about O_ACCMODE and O_PATH in do_dentry_open(), O_DIRECT in
      open_check_o_direct() and O_LARGEFILE in generic_file_open().

      It's a pity, since, according to some lookup on various search engines and
      http://codesearch.debian.net/, there's already some userspace code which
      use O_CLOEXEC:

      - in systemd's readahead[2]:

          fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, 
O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME);

      - in clsync[3]:

          #define FANOTIFY_EVFLAGS (O_LARGEFILE|O_RDONLY|O_CLOEXEC)

          int fanotify_d = fanotify_init(FANOTIFY_FLAGS, FANOTIFY_EVFLAGS);

      - in examples [4] from "Filesystem monitoring in the Linux
        kernel" article[5] by Aleksander Morgado:

          if ((fanotify_fd = fanotify_init (FAN_CLOEXEC,
                                            O_RDONLY | O_CLOEXEC | 
O_LARGEFILE)) < 0)

      Additionally, since commit 48149e9d3a7e ("fanotify: check file flags
      passed in fanotify_init").  having O_CLOEXEC as part of fanotify_init()
      second argument is expressly allowed.

      So it seems expected to set close-on-exec flag on the file descriptors if
      userspace is allowed to request it with O_CLOEXEC.

      But Andrew Morton raised[6] the concern that enabling now close-on-exec
      might break existing applications which ask for O_CLOEXEC but expect the
      file descriptor to be inherited across exec().

      In the other hand, as reported by Mihai Dontu[7] close-on-exec on the file
      descriptor returned as part of file access notify can break applications
      due to deadlock.  So close-on-exec is needed for most applications.

      More, applications asking for close-on-exec are likely expecting it to be
      enabled, relying on O_CLOEXEC being effective.  If not, it might weaken
      their security, as noted by Jan Kara[8].

      So this patch replaces call to macro get_unused_fd() by a call to function
      get_unused_fd_flags() with event_f_flags value as argument.  This way
      O_CLOEXEC flag in the second argument of fanotify_init(2) syscall is
      interpreted and close-on-exec get enabled when requested.

      [1] http://man7.org/linux/man-pages/man2/fanotify_init.2.html
      [2] 
http://cgit.freedesktop.org/systemd/systemd/tree/src/readahead/readahead-collect.c?id=v208#n294
      [3] https://github.com/xaionaro/clsync/blob/v0.2.1/sync.c#L1631
          https://github.com/xaionaro/clsync/blob/v0.2.1/configuration.h#L38
      [4] http://www.lanedo.com/~aleksander/fanotify/fanotify-example.c
      [5] http://www.lanedo.com/2013/filesystem-monitoring-linux-kernel/
      [6] 
http://lkml.kernel.org/r/20141001153621.65e9258e65a6167bf2e4cb50@xxxxxxxxxxxxxxxxxxxx
      [7] http://lkml.kernel.org/r/20141002095046.3715eb69@mdontu-l
      [8] http://lkml.kernel.org/r/20141002104410.GB19748@xxxxxxxxxxxxx

      Link: http://lkml.kernel.org/r/cover.1411562410.git.ydroneaud@xxxxxxxxxx
      Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx>
      Reviewed-by: Jan Kara <jack@xxxxxxx>
      Reviewed by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
      Tested-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
      Cc: Mihai Don\u021bu <mihai.dontu@xxxxxxxxx>
      Cc: Pádraig Brady <P@xxxxxxxxxxxxxx>
      Cc: Heinrich Schuchardt <xypron.glpk@xxxxxx>
      Cc: Jan Kara <jack@xxxxxxx>
      Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx>
      Cc: Michael Kerrisk-manpages <mtk.manpages@xxxxxxxxx>
      Cc: Lino Sanfilippo <LinoSanfilippo@xxxxxx>
      Cc: Richard Guy Briggs <rgb@xxxxxxxxxx>
      Cc: Eric Paris <eparis@xxxxxxxxxx>
      Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
      Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx>
      Cc: <stable@xxxxxxxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 105d1b425303120c7681abc0761b6fc6c3f8a8e8
  Author: Sasha Levin <sasha.levin@xxxxxxxxxx>
  Date:   Thu Oct 9 15:24:37 2014 -0700

      fsnotify: don't put user context if it was never assigned

      On some failure paths we may attempt to free user context even if it
      wasn't assigned yet.  This will cause a NULL ptr deref and a kernel BUG.

      The path I was looking at is in inotify_new_group():

              oevent = kmalloc(sizeof(struct inotify_event_info), GFP_KERNEL);
              if (unlikely(!oevent)) {
                      fsnotify_destroy_group(group);
                      return ERR_PTR(-ENOMEM);
              }

      fsnotify_destroy_group() would get called here, but
      group->inotify_data.user is only getting assigned later:

        group->inotify_data.user = get_current_user();

      Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx>
      Cc: Robert Love <rlove@xxxxxxxxx>
      Cc: Eric Paris <eparis@xxxxxxxxxxxxxx>
      Reviewed-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
      Reviewed-by: Jan Kara <jack@xxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit cafbaae8afdb1e6cf9f4715aea2c897cf407ddfd
  Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:35 2014 -0700

      fs/notify/group.c: make fsnotify_final_destroy_group() static

      No callers outside this file.

      Cc: Sasha Levin <sasha.levin@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 20882185dab2978952a705905284d2a9790b2bae
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:33 2014 -0700

      cris: use Kbuild logic to include <asm-generic/sections.h>

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit 70323545e557eb853457288492be0bb2196c2733
  Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:24:31 2014 -0700

      mn10300: use Kbuild logic to include <asm-generic/sections.h>

      Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
      Acked-by: David Howells <dhowells@xxxxxxxxxx>
      Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

  commit b8358d70ce1066dd4cc658cfdaf7862d459e2d78
  Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>
  Date:   Thu Oct 9 12:18:10 2014 +0200

      net_sched: restore qdisc quota fairness limits after bulk dequeue

      Restore the quota fairness between qdisc's, that we broke with commit
      5772e9a346 ("qdisc: bulk dequeue support for qdiscs with 
TCQ_F_ONETXQUEUE").

      Before that commit, the quota in __qdisc_run() were in packets as
      dequeue_skb() would only dequeue a single packet, that assumption
      broke with bulk dequeue.

      We choose not to account for the number of packets inside the TSO/GSO
      packets (accessable via "skb_gso_segs").  As the previous fairness
      also had this "defect". Thus, GSO/TSO packets counts as a single
      packet.

      Further more, we choose to slack on accuracy, by allowing a bulk
      dequeue try_bulk_dequeue_skb() to exceed the "packets" limit, only
      limited by the BQL bytelimit.  This is done because BQL prefers to get
      its full budget for appropriate feedback from TX completion.

      In future, we might consider reworking this further and, if it allows,
      switch to a time-based model, as suggested by Eric. Right now, we only
      restore old semantics.

      Joint work with Eric, Hannes, Daniel and Jesper.  Hannes wrote the
      first patch in cooperation with Daniel and Jesper.  Eric rewrote the
      patch.

      Fixes: 5772e9a346 ("qdisc: bulk dequeue support for qdiscs with 
TCQ_F_ONETXQUEUE")
      Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
      Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>
      Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
      Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 6a974038a89901f21c15189db2659e545576ed5d
  Merge: de3f0d0 b540327
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 19:06:15 2014 -0400

      Merge branch 'r8152'

      Hayes Wang says:

      ====================
      r8152: use mutex for hw settings

      v2:
      Make sure the autoresume wouldn't occur inside the mutex, otherwise
      the dead lock would happen. For the purpose, adjust some code about
      autosuspend/autoresume.

      v1:
      Use mutex to avoid that the serial hw settings would be interrupted
      by other settings. Although there is no problem now, it makes the
      driver more safe.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit b54032736dbba2ae18995b930d0176bd8b0386c8
  Author: hayeswang <hayeswang@xxxxxxxxxxx>
  Date:   Thu Oct 9 18:00:26 2014 +0800

      r8152: add mutex for hw settings

      Use the mutex to avoid the settings are interrupted by other ones.

      Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 8d4a4d7286eb6fc783149de44aa90de4bc72a9fe
  Author: hayeswang <hayeswang@xxxxxxxxxxx>
  Date:   Thu Oct 9 18:00:25 2014 +0800

      r8152: adjust usb_autopm_xxx

      Add usb_autopm_xxx for rtl8152_get_settings() ,and remove
      usb_autopm_xxx from read_mii_word() and write_mii_word().

      Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 405f8a0ec71c869a374066cce22f88670d27a739
  Author: hayeswang <hayeswang@xxxxxxxxxxx>
  Date:   Thu Oct 9 18:00:24 2014 +0800

      r8152: autoresume before setting feature

      Resume the device before setting the feature.

      Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit de3f0d0effecc2ccfbd679705519ed5b35f9cb33
  Author: Masanari Iida <standby24x7@xxxxxxxxx>
  Date:   Thu Oct 9 12:58:08 2014 +0900

      net: Missing @ before descriptions cause make xmldocs warning

      This patch fix following warning.
      Warning(.//net/core/skbuff.c:4142): No description found for parameter 
'header_len'
      Warning(.//net/core/skbuff.c:4142): No description found for parameter 
'data_len'
      Warning(.//net/core/skbuff.c:4142): No description found for parameter 
'max_page_order'
      Warning(.//net/core/skbuff.c:4142): No description found for parameter 
'errcode'
      Warning(.//net/core/skbuff.c:4142): No description found for parameter 
'gfp_mask'

      Acutually the descriptions exist, but missing "@" in front.

      This problem start to happen when following commit was merged
      into Linus's tree during 3.18-rc1 merge period.
      commit 2e4e44107176d552f8bb1bb76053e850e3809841
      net: add alloc_skb_with_frags() helper

      Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit e229b36e676d491a6305174dd025abba39be8d41
  Merge: ea97cae 8203b50
  Author: David S. Miller <davem@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 18:53:59 2014 -0400

      Merge branch 'cxgb4'

      Hariprasad Shenai says:

      ====================
      cxgb4/cxgb4vf: Misc fixes and 40G support for cxgb4vf

      This patch series adds 40G support for cxgb4vf driver. Update the LSO 
length for
      cxgb4vf, fix macro. Wait for device to get ready before reading PL_WHOAMI
      register.

      The patches series is created against 'net-next' tree.
      And includes patches on cxgb4 and cxgb4vf driver.

      We have included all the maintainers of respective drivers. Kindly review 
the
      change and let us know in case of any review comments.
      ====================

      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 8203b509c5b7aab7a8170626ce02372c61da2cdd
  Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
  Date:   Thu Oct 9 05:48:47 2014 +0530

      cxgb4: Wait for device to get ready before reading any register

      Call t4_wait_dev_ready() before attempting to read the PL_WHOAMI register
      (to determine which function we have been attached to). This prevents us 
from
      failing on that read if it comes right after a RESET.

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 897d55df3ca794ad4522472d46aa2dbbface8c37
  Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
  Date:   Thu Oct 9 05:48:46 2014 +0530

      cxgb4vf: Add 40G support for cxgb4vf driver

      Add 40G support for cxgb4vf driver. ethtool speed values are just numbers 
of
      megabits and there is no SPEED_40000 in ethtool speed values. To be 
consistent,
      use integer constants directly for all speeds.

      Use is_x_10g_port()("is 10Gb/s or higher") in cfg_queues() instead of
      is_10g_port() ("is exactly 10Gb/s"). Else we will end up using a single
      "Queue Set" on 40Gb/s adapters.

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit 7207c0d1540b679993d1f0bb9c1ff8e068958c75
  Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
  Date:   Thu Oct 9 05:48:45 2014 +0530

      cxgb4/cxgb4vf: Updated the LSO transfer length in CPL_TX_PKT_LSO for T5

      Update the lso length for T5 adapter and fix PIDX_T5 macro

      Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx>
      Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

  commit dd4cae8bf16611053ee7b00e20aa4fa945b92b99
  Author: Christian Gmeiner <christian.gmeiner@xxxxxxxxx>
  Date:   Wed Oct 8 09:22:54 2014 -0700

      Input: Add Microchip AR1021 i2c touchscreen

      This patch adds support for the ar1021 i2c based touchscreen.
      The driver is quite simple and only supports the Touch
      Reporting Protocol.

      This is the final version for an RFC patch send a while ago.
      http://www.spinics.net/lists/linux-input/msg29419.html

      Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 3f1fe73b92c4e5cd614f628621048c0c120e2620
  Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
  Date:   Wed Oct 8 11:38:21 2014 -0700

      Input: cros_ec_keyb - add of match table

      To enable the cros_ec_keyb driver to be auto-loaded when build as
      module add an of match table (and export it) to match the modalias
      information passed on to userspace as the Cros EC MFD driver registers
      the MFD subdevices with an of_compatibility string.

      Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx>
      Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 0224ec9e9f111b1c39ec00a10de4858061b4afea
  Author: Richard Leitner <richard.leitner@xxxxxxxxxxx>
  Date:   Wed Oct 8 15:21:32 2014 -0700

      Input: serio - avoid negative serio device numbers

      Fix the format string for serio device name generation to avoid negative
      device numbers when the id exceeds the maximum signed integer value.

      Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit bf1d50fa74df0339c925aa7e2ff9de60a42c30be
  Author: Richard Leitner <richard.leitner@xxxxxxxxxxx>
  Date:   Wed Oct 8 14:24:15 2014 -0700

      Input: avoid negative input device numbers

      Fix the format string for input device name generation to avoid negative
      device numbers when the id exceeds the maximum signed integer value.

      Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx>
      Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

  commit 5dab4b73c736c2cb8e35148f9ee2365ee48bad79
  Author: Tony Luck <tony.luck@xxxxxxxxx>
  Date:   Thu Oct 9 13:26:58 2014 -0700

      [IA64] Enable bpf syscall for ia64

      See commit 99c55f7d47c0dc6fc64729f37bf435abf43f4c60
         bpf: introduce BPF syscall and maps

      Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>

  commit b528392669415dc1e53a047215e5ad6c2de879fc
  Merge: 80213c0 9f1a053
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 16:07:43 2014 -0400

      Merge tag 'pm+acpi-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

      Pull ACPI and power management updates from Rafael Wysocki:
       "Features-wise, to me the most important this time is a rework of
        wakeup interrupts handling in the core that makes them work
        consistently across all of the available sleep states, including
        suspend-to-idle.  Many thanks to Thomas Gleixner for his help with
        this work.

        Second is an update of the generic PM domains code that has been in
        need of some care for quite a while.  Unused code is being removed, DT
        support is being added and domains are now going to be attached to
        devices in bus type code in analogy with the ACPI PM domain.  The
        majority of work here was done by Ulf Hansson who also has been the
        most active developer this time.

        Apart from this we have a traditional ACPICA update, this time to
        upstream version 20140828 and a few ACPI wakeup interrupts handling
        patches on top of the general rework mentioned above.  There also are
        several cpufreq commits including renaming the cpufreq-cpu0 driver to
        cpufreq-dt, as this is what implements generic DT-based cpufreq
        support, and a new DT-based idle states infrastructure for cpuidle.

        In addition to that, the ACPI LPSS driver is updated, ACPI support for
        Apple machines is improved, a few bugs are fixed and a few cleanups
        are made all over.

        Finally, the Adaptive Voltage Scaling (AVS) subsystem now has a tree
        maintained by Kevin Hilman that will be merged through the PM tree.

        Numbers-wise, the generic PM domains update takes the lead this time
        with 32 non-merge commits, second is cpufreq (15 commits) and the 3rd
        place goes to the wakeup interrupts handling rework (13 commits).

        Specifics:

         - Rework the handling of wakeup IRQs by the IRQ core such that all of
           them will be switched over to "wakeup" mode in suspend_device_irqs()
           and in that mode the first interrupt will abort system suspend in
           progress or wake up the system if already in suspend-to-idle (or
           equivalent) without executing any interrupt handlers.  Among other
           things that eliminates the wakeup-related motivation to use the
           IRQF_NO_SUSPEND interrupt flag with interrupts which don't really
           need it and should not use it (Thomas Gleixner and Rafael Wysocki)

         - Switch over ACPI to handling wakeup interrupts with the help of the
           new mechanism introduced by the above IRQ core rework (Rafael 
Wysocki)

         - Rework the core generic PM domains code to eliminate code that's
           not used, add DT support and add a generic mechanism by which
           devices can be added to PM domains automatically during enumeration
           (Ulf Hansson, Geert Uytterhoeven and Tomasz Figa).

         - Add debugfs-based mechanics for debugging generic PM domains
           (Maciej Matraszek).

         - ACPICA update to upstream version 20140828.  Included are updates
           related to the SRAT and GTDT tables and the _PSx methods are in the
           METHOD_NAME list now (Bob Moore and Hanjun Guo).

         - Add _OSI("Darwin") support to the ACPI core (unfortunately, that
           can't really be done in a straightforward way) to prevent
           Thunderbolt from being turned off on Apple systems after boot (or
           after resume from system suspend) and rework the ACPI Smart Battery
           Subsystem (SBS) driver to work correctly with Apple platforms
           (Matthew Garrett and Andreas Noever).

         - ACPI LPSS (Low-Power Subsystem) driver update cleaning up the code,
           adding support for 133MHz I2C source clock on Intel Baytrail to it
           and making it avoid using UART RTS override with Auto Flow Control
           (Heikki Krogerus).

         - ACPI backlight updates removing the video_set_use_native_backlight
           quirk which is not necessary any more, making the code check the
           list of output devices returned by the _DOD method to avoid
           creating acpi_video interfaces that won't work and adding a quirk
           for Lenovo Ideapad Z570 (Hans de Goede, Aaron Lu and Stepan Bujnak)

         - New Win8 ACPI OSI quirks for some Dell laptops (Edward Lin)

         - Assorted ACPI code cleanups (Fabian Frederick, Rasmus Villemoes,
           Sudip Mukherjee, Yijing Wang, and Zhang Rui)

         - cpufreq core updates and cleanups (Viresh Kumar, Preeti U Murthy,
           Rasmus Villemoes)

         - cpufreq driver updates: cpufreq-cpu0/cpufreq-dt (driver name change
           among other things), ppc-corenet, powernv (Viresh Kumar, Preeti U
           Murthy, Shilpasri G Bhat, Lucas Stach)

         - cpuidle support for DT-based idle states infrastructure, new ARM64
           cpuidle driver, cpuidle core cleanups (Lorenzo Pieralisi, Rasmus
           Villemoes)

         - ARM big.LITTLE cpuidle driver updates: support for DT-based
           initialization and Exynos5800 compatible string (Lorenzo Pieralisi,
           Kevin Hilman)

         - Rework of the test_suspend kernel command line argument and a new
           trace event for console resume (Srinivas Pandruvada, Todd E Brandt)

         - Second attempt to optimize swsusp_free() (hibernation core) to make
           it avoid going through all PFNs which may be way too slow on some
           systems (Joerg Roedel)

         - devfreq updates (Paul Bolle, Punit Agrawal, Ã?rjan Eide).

         - rockchip-io Adaptive Voltage Scaling (AVS) driver and AVS entry
           update in MAINTAINERS (Heiko Stübner, Kevin Hilman)

         - PM core fix related to clock management (Geert Uytterhoeven)

         - PM core's sysfs code cleanup (Johannes Berg)"

      * tag 'pm+acpi-3.18-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (105 commits)
        ACPI / fan: printk replacement
        PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME
        PM / Domains: Rename cpu_data to cpuidle_data
        cpufreq: cpufreq-dt: fix potential double put of cpu OF node
        cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'
        PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free()
        cpufreq: ppc-corenet: remove duplicate update of cpu_data
        ACPI / sleep: Rework the handling of ACPI GPE wakeup from 
suspend-to-idle
        PM / sleep: Rename platform suspend/resume functions in suspend.c
        PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq()
        ACPICA: Introduce acpi_enable_all_wakeup_gpes()
        ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block()
        ACPI / video: check _DOD list when creating backlight devices
        PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h
        cpufreq: Replace strnicmp with strncasecmp
        cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec
        cpufreq: powernv: Set the pstate of the last hotplugged out cpu in 
policy->cpus to minimum
        cpufreq: Allow stop CPU callback to be used by all cpufreq drivers
        PM / devfreq: exynos: Enable building exynos PPMU as module
        PM / devfreq: Export helper functions for drivers
        ...

  commit 764f612c6c3c231b9c12cfae7c328ccc9c453258
  Author: Ming Lei <ming.lei@xxxxxxxxxxxxx>
  Date:   Thu Oct 9 23:17:35 2014 +0800

      blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio

      It isn't correct to figure out req->bi_phys_segments from bio->bi_vcnt
      if the bio is cloned.

      Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx>
      Tested-by: Jeff Mahoney <jeffm@xxxxxxxx>
      Signed-off-by: Jens Axboe <axboe@xxxxxx>

  commit 80213c03c4151d900cf293ef0fc51f8d88495e14
  Merge: ea58459 f92d9ee
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 15:03:49 2014 -0400

      Merge tag 'pci-v3.18-changes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

      Pull PCI updates from Bjorn Helgaas:
       "The interesting things here are:

         - Turn on Config Request Retry Status Software Visibility.  This
           caused hangs last time, but we included a fix this time.
         - Rework PCI device configuration to use _HPP/_HPX more aggressively
         - Allow PCI devices to be put into D3cold during system suspend
         - Add arm64 PCI support
         - Add APM X-Gene host bridge driver
         - Add TI Keystone host bridge driver
         - Add Xilinx AXI host bridge driver

        More detailed summary:

        Enumeration
          - Check Vendor ID only for Config Request Retry Status (Rajat Jain)
          - Enable Config Request Retry Status when supported (Rajat Jain)
          - Add generic domain handling (Catalin Marinas)
          - Generate uppercase hex for modalias interface class (Ricardo 
Ribalda Delgado)

        Resource management
          - Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() 
(Yinghai Lu)
          - Increase IBM ipr SAS Crocodile BARs to at least system page size 
(Douglas Lehr)

        PCI device hotplug
          - Prevent NULL dereference during pciehp probe (Andreas Noever)
          - Move _HPP & _HPX handling into core (Bjorn Helgaas)
          - Apply _HPP to PCIe devices as well as PCI (Bjorn Helgaas)
          - Apply _HPP/_HPX to display devices (Bjorn Helgaas)
          - Preserve SERR & PARITY settings when applying _HPP/_HPX (Bjorn 
Helgaas)
          - Preserve MPS and MRRS settings when applying _HPP/_HPX (Bjorn 
Helgaas)
          - Apply _HPP/_HPX to all devices, not just hot-added ones (Bjorn 
Helgaas)
          - Fix wait time in pciehp timeout message (Yinghai Lu)
          - Add more pciehp Slot Control debug output (Yinghai Lu)
          - Stop disabling pciehp notifications during init (Yinghai Lu)

        MSI
          - Remove arch_msi_check_device() (Alexander Gordeev)
          - Rename pci_msi_check_device() to pci_msi_supported() (Alexander 
Gordeev)
          - Move D0 check into pci_msi_check_device() (Alexander Gordeev)
          - Remove unused kobject from struct msi_desc (Yijing Wang)
          - Remove "pos" from the struct msi_desc msi_attrib (Yijing Wang)
          - Add "msi_bus" sysfs MSI/MSI-X control for endpoints (Yijing Wang)
          - Use __get_cached_msi_msg() instead of get_cached_msi_msg() (Yijing 
Wang)
          - Use __read_msi_msg() instead of read_msi_msg() (Yijing Wang)
          - Use __write_msi_msg() instead of write_msi_msg() (Yijing Wang)

        Power management
          - Drop unused runtime PM support code for PCIe ports (Rafael J.  
Wysocki)
          - Allow PCI devices to be put into D3cold during system suspend 
(Rafael J. Wysocki)

        AER
          - Add additional AER error strings (Gong Chen)
          - Make <linux/aer.h> standalone includable (Thierry Reding)

        Virtualization
          - Add ACS quirk for Solarflare SFC9120 & SFC9140 (Alex Williamson)
          - Add ACS quirk for Intel 10G NICs (Alex Williamson)
          - Add ACS quirk for AMD A88X southbridge (Marti Raudsepp)
          - Remove unused pci_find_upstream_pcie_bridge(), pci_get_dma_source() 
(Alex Williamson)
          - Add device flag helpers (Ethan Zhao)
          - Assume all Mellanox devices have broken INTx masking (Gavin Shan)

        Generic host bridge driver
          - Fix ioport_map() for !CONFIG_GENERIC_IOMAP (Liviu Dudau)
          - Add pci_register_io_range() and pci_pio_to_address() (Liviu Dudau)
          - Define PCI_IOBASE as the base of virtual PCI IO space (Liviu Dudau)
          - Fix the conversion of IO ranges into IO resources (Liviu Dudau)
          - Add pci_get_new_domain_nr() and of_get_pci_domain_nr() (Liviu Dudau)
          - Add support for parsing PCI host bridge resources from DT (Liviu 
Dudau)
          - Add pci_remap_iospace() to map bus I/O resources (Liviu Dudau)
          - Add arm64 architectural support for PCI (Liviu Dudau)

        APM X-Gene
          - Add APM X-Gene PCIe driver (Tanmay Inamdar)
          - Add arm64 DT APM X-Gene PCIe device tree nodes (Tanmay Inamdar)

        Freescale i.MX6
          - Probe in module_init(), not fs_initcall() (Lucas Stach)
          - Delay enabling reference clock for SS until it stabilizes (Tim 
Harvey)

        Marvell MVEBU
          - Fix uninitialized variable in mvebu_get_tgt_attr() (Thomas 
Petazzoni)

        NVIDIA Tegra
          - Make sure the PCIe PLL is really reset (Eric Yuen)
          - Add error path tegra_msi_teardown_irq() cleanup (Jisheng Zhang)
          - Fix extended configuration space mapping (Peter Daifuku)
          - Implement resource hierarchy (Thierry Reding)
          - Clear CLKREQ# enable on port disable (Thierry Reding)
          - Add Tegra124 support (Thierry Reding)

        ST Microelectronics SPEAr13xx
          - Pass config resource through reg property (Pratyush Anand)

        Synopsys DesignWare
          - Use NULL instead of false (Fabio Estevam)
          - Parse bus-range property from devicetree (Lucas Stach)
          - Use pci_create_root_bus() instead of pci_scan_root_bus() (Lucas 
Stach)
          - Remove pci_assign_unassigned_resources() (Lucas Stach)
          - Check private_data validity in single place (Lucas Stach)
          - Setup and clear exactly one MSI at a time (Lucas Stach)
          - Remove open-coded bitmap operations (Lucas Stach)
          - Fix configuration base address when using 'reg' (Minghuan Lian)
          - Fix IO resource end address calculation (Minghuan Lian)
          - Rename get_msi_data() to get_msi_addr() (Minghuan Lian)
          - Add get_msi_data() to pcie_host_ops (Minghuan Lian)
          - Add support for v3.65 hardware (Murali Karicheri)
          - Fold struct pcie_port_info into struct pcie_port (Pratyush Anand)

        TI Keystone
          - Add TI Keystone PCIe driver (Murali Karicheri)
          - Limit MRSS for all downstream devices (Murali Karicheri)
          - Assume controller is already in RC mode (Murali Karicheri)
          - Set device ID based on SoC to support multiple ports (Murali 
Karicheri)

        Xilinx AXI
          - Add Xilinx AXI PCIe driver (Srikanth Thokala)
          - Fix xilinx_pcie_assign_msi() return value test (Dan Carpenter)

        Miscellaneous
          - Clean up whitespace (Quentin Lambert)
          - Remove assignments from "if" conditions (Quentin Lambert)
          - Move PCI_VENDOR_ID_VMWARE to pci_ids.h (Francesco Ruggeri)
          - x86: Mark DMI tables as initialization data (Mathias Krause)
          - x86: Move __init annotation to the correct place (Mathias Krause)
          - x86: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst 
(Mathias Krause)
          - x86: Constify pci_mmcfg_probes[] array (Mathias Krause)
          - x86: Mark PCI BIOS initialization code as such (Mathias Krause)
          - Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters (Megan Kamiya)
          - Remove unnecessary variable in pci_add_dynid() (Tobias Klauser)"

      * tag 'pci-v3.18-changes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (109 commits)
        arm64: dts: Add APM X-Gene PCIe device tree nodes
        PCI: Add ACS quirk for AMD A88X southbridge devices
        PCI: xgene: Add APM X-Gene PCIe driver
        PCI: designware: Remove open-coded bitmap operations
        PCI/MSI: Remove unnecessary temporary variable
        PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()
        MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
        PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()
        PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints
        PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib
        PCI/MSI: Remove unused kobject from struct msi_desc
        PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported()
        PCI/MSI: Move D0 check into pci_msi_check_device()
        PCI/MSI: Remove arch_msi_check_device()
        irqchip: armada-370-xp: Remove arch_msi_check_device()
        PCI/MSI/PPC: Remove arch_msi_check_device()
        arm64: Add architectural support for PCI
        PCI: Add pci_remap_iospace() to map bus I/O resources
        of/pci: Add support for parsing PCI host bridge resources from DT
        of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr()
        ...

      Conflicts:
        arch/arm64/boot/dts/apm-storm.dtsi

  commit ea584595fc85e65796335033dfca25ed655cd0ed
  Merge: 782d59c a092e19
  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 14:58:15 2014 -0400

      Merge tag 'gpio-v3.18-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

      Pull GPIO changes from Linus Walleij:
       "This is the bulk of GPIO changes for the v3.18 development cycle:

         - Increase the default ARCH_NR_GPIO from 256 to 512.  This was done
           to avoid having a custom <asm/gpio.h> header for the x86
           architecture - GPIO is custom and complicated enough as it is
           already! We want to move to a radix to store the descriptors going
           forward, and finally get rid of this fixed array size altogether.

         - Endgame patching of the gpio_remove() semantics initiated by
           Abdoulaye Berthe.  It is not accepted by the system that the
           removal of a GPIO chip fails during eg reboot or shutdown, and
           therefore the return value has now painfully been refactored away.
           For special cases like GPIO expanders on a hot-pluggable bus like
           USB, we may later add some gpiochip_try_remove() call, but for the
           cases we have now, return values are moot.

         - Some incremental refactoring of the gpiolib core and ACPI GPIO
           library for more descriptor usage.

         - Refactor the chained IRQ handler set-up method to handle also
           threaded, nested interrupts and set up the parent IRQ correctly.
           Switch STMPE and TC3589x drivers to use this registration method.

         - Add a .irq_not_threaded flag to the struct gpio_chip, so that also
           GPIO expanders that block but are still not using threaded IRQ
           handlers.

         - New drivers for the ARM64 X-Gene SoC GPIO controller.

         - The syscon GPIO driver has been improved to handle the "DSP GPIO"
           found on the TI Keystone 2 SoC:s.

         - ADNP driver switched to use gpiolib irqchip helpers.

         - Refactor the DWAPB driver to support being instantiated from and
           MFD cell (platform device).

         - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP,
           Xilinx and Crystalcove drivers.

         - Various minor fixes"

      * tag 'gpio-v3.18-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits)
        gpio: pch: Build context save/restore only for PM
        pinctrl: abx500: get rid of unused variable
        gpio: ks8695: fix 'else should follow close brace '}''
        gpio: stmpe: add verbose debug code
        gpio: stmpe: fix up interrupt enable logic
        gpio: staticize xway_stp_init()
        gpio: handle also nested irqchips in the chained handler set-up
        gpio: set parent irq on chained handlers
        gpiolib: irqchip: use irq_find_mapping while removing irqchip
        gpio: crystalcove: support virtual GPIO
        pinctrl: bcm281xx: make Kconfig dependency more strict
        gpio: kona: enable only on BCM_MOBILE or for compile testing
        gpio, bcm-kona, LLVMLinux: Remove use of __initconst
        gpio: Fix ngpio in gpio-xilinx driver
        gpio: dwapb: fix pointer to integer cast
        gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard
        gpio: xgene: Remove unneeded forward declation for struct xgene_gpio
        gpio: xgene: Fix missing spin_lock_init()
        gpio: ks8695: fix switch case indentation
        gpiolib: add irq_not_threaded flag to gpio_chip
        ...

  commit b16ccfe02313acd829debfccac45531f45d797cd
  Author: Tony Lindgren <tony@xxxxxxxxxxx>
  Date:   Thu Oct 9 11:28:34 2014 -0700

      ARM: dts: Disable smc91x on n900 until bootloader dependency is removed

      I added smc91x support but turns out we currently do not set the
      smc91x timings in gpmc.c but rely on the bootloader timings. This
      produces the following error unless the smc91x GPMC timings are
      initialized by the bootloader:

      Unhandled fault: external abort on non-linefetch (0x1008) at 0xd080630e
      ...
      [<c04067fc>] (smc_drv_probe) from [<c038e9c4>] 
(platform_drv_probe+0x2c/0x5c)
      [<c038e9c4>] (platform_drv_probe) from [<c038d450>] 
(driver_probe_device+0x104/0x22c)
      [<c038d450>] (driver_probe_device) from [<c038d60c>] 
(__driver_attach+0x94/0x98)
      [<c038d60c>] (__driver_attach) from [<c038bc3c>] 
(bus_for_each_dev+0x54/0x88)
      [<c038bc3c>] (bus_for_each_dev) from [<c038cc3c>] 
(bus_add_driver+0xd8/0x1d8)
      [<c038cc3c>] (bus_add_driver) from [<c038dd74>] 
(driver_register+0x78/0xf4)
      [<c038dd74>] (driver_register) from [<c0008924>] 
(do_one_initcall+0x80/0x1c0)
      [<c0008924>] (do_one_initcall) from [<c0852d9c>] 
(kernel_init_freeable+0x1b8/0x28c)
      [<c0852d9c>] (kernel_init_freeable) from [<c05ce86c>] 
(kernel_init+0x8/0xec)
      [<c05ce86c>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c)

      Let's fix the issue by disabling the smc91x module for now until we
      have sorted out the issues in gpmc.c.

      Reported-by: Kevin Hilman <khilman@xxxxxxxxxx>
      Tested-by: Kevin Hilman <khilman@xxxxxxxxxx>
      Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

  commit 5c86c5339c566d943606f551332e0efa8cf87d03
  Author: Tony Lindgren <tony@xxxxxxxxxxx>
  Date:   Thu Oct 9 11:28:34 2014 -0700

      ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3

      Somehow we don't have this set in omap2plus_defconfig. Without this
      apps can segfault randomly on omap3. I can reproduce this easily
      on am37xx-evm by doing apt-get update over NFSroot.

      Tested-by: Felipe Balbi <balbi@xxxxxx>
      Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>

  commit a66d05d504a24894a8fdf11e4569752f313e5764
  Merge: bfe01a5 5563caa
  Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 14:00:54 2014 -0300

      Merge branch 'patchwork' into v4l_for_linus

      * patchwork: (544 commits)
        [media] ir-hix5hd2: fix build on c6x arch
        [media] pt3: fix DTV FE I2C driver load error paths
        Revert "[media] media: em28xx - remove reset_resume interface"
        [media] exynos4-is: fix some warnings when compiling on arm64
        [media] usb drivers: use %zu instead of %zd
        [media] pci drivers: use %zu instead of %zd
        [media] dvb-frontends: use %zu instead of %zd
        [media] s5p-mfc: Fix several printk warnings
        [media] s5p_mfc_opr: Fix warnings
        [media] ti-vpe: Fix typecast
        [media] s3c-camif: fix dma_addr_t printks
        [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
        [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
        [media] em28xx: Fix identation
        [media] drxd: remove a dead code
        [media] saa7146: remove return after BUG()
        [media] cx88: remove return after BUG()
        [media] cx88: fix cards table CodingStyle
        [media] radio-sf16fmr2: declare some structs as static
        [media] radio-sf16fmi: declare pnp_attached as static
        ...

      Conflicts:
        Documentation/DocBook/media/v4l/compat.xml

  commit 5563caaf8b8cd22e35997d5d74cb3609df86b223
  Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
  Date:   Thu Oct 9 10:41:28 2014 -0300

      [media] ir-hix5hd2: fix build on c6x arch

      While not all archs have readl_relaxed, we need to add a hack at the
      driver to allow it to COMPILE_TEST on all archs:

        drivers/media/rc/ir-hix5hd2.c: In function â??hix5hd2_ir_configâ??:
        drivers/media/rc/ir-hix5hd2.c:100:2: error: implicit declaration of 
function â??readl_relaxedâ??