1. 08 Oct, 2016 8 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6afd563d
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Driver updates for ARM SoCs, including a couple of newly added
        drivers:
      
         - The Qualcomm external bus interface 2 (EBI2), used in some of their
           mobile phone chips for connecting flash memory, LCD displays or
           other peripherals
      
         - Secure monitor firmware for Amlogic SoCs, and an NVMEM driver for
           the EFUSE based on that firmware interface.
      
         - Perf support for the AppliedMicro X-Gene performance monitor unit
      
         - Reset driver for STMicroelectronics STM32
      
         - Reset driver for SocioNext UniPhier SoCs
      
        Aside from these, there are minor updates to SoC-specific bus,
        clocksource, firmware, pinctrl, reset, rtc and pmic drivers"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (50 commits)
        bus: qcom-ebi2: depend on HAS_IOMEM
        pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181
        clk: mvebu: Add clk support for the orion5x SoC mv88f5181
        dt-bindings: EXYNOS: Add Exynos5433 PMU compatible
        clocksource: exynos_mct: Add the support for ARM64
        perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver
        Documentation: Add documentation for APM X-Gene SoC PMU DTS binding
        MAINTAINERS: Add entry for APM X-Gene SoC PMU driver
        bus: qcom: add EBI2 driver
        bus: qcom: add EBI2 device tree bindings
        rtc: rtc-pm8xxx: Add support for pm8018 rtc
        nvmem: amlogic: Add Amlogic Meson EFUSE driver
        firmware: Amlogic: Add secure monitor driver
        soc: qcom: smd: Reset rx tail rather than tx
        memory: atmel-sdramc: fix a possible NULL dereference
        reset: hi6220: allow to compile test driver on other architectures
        reset: zynq: add driver Kconfig option
        reset: sunxi: add driver Kconfig option
        reset: stm32: add driver Kconfig option
        reset: socfpga: add driver Kconfig option
        ...
      6afd563d
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b4f33f6d
      Linus Torvalds authored
      Pull ARM SoC 64-bit updates from Arnd Bergmann:
       "Changes to platform code for 64-bit ARM platforms.
      
        Nearly all of these are defconfig updates to enable new drivers or old
        drivers still used on these 64-bit platforms.
      
        Aside from that, we gain initial support for two set-top-box
        platforms, both of which already have 32-bit support in arch/arm:
      
         - Broadcom adds abstract support for the bcm7xxx/brcmstb platform,
           presumably the respective dts files and more information will
           follow at a later point.
      
         - The ZTE ZX296718 SoC for set-top-boxes, a relative of the 32-bit
           ZX296702 SoC that we already support"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: add ZTE ZX SoC family
        arm64: defconfig: enable ZTE ZX related config
        arm64: defconfig: enable common modules for power management
        arm64: defconfig: enable meson I2C
        arm64: defconfig: enable meson SPI as module
        arm64: defconfig: enable meson WDT as modules
        arm64: defconfig: enable HW random as module
        arm64: defconfig: Enable SDHI and GPIO_REGULATOR
        arm64: configs: enable PCIe driver for Aardvark
        Kconfig: ARCH_HISI: Add PINCTRL to HISI platform
        arm64: defconfig: enable bluetooth supports as modules
        arm64: defconfig: enable CONFIG_INPUT_HISI_POWERKEY for HiKey
        arm64: defconfig: Enable HiSilicon kirin drm, adv7533 for HiKey
        arm64: defconfig: Enable Hisi SAS and HNS
        arm64: defconfig: Enable QDF2432 config options
        arm64: sunxi: Kconfig: add essential pinctrl driver
        arm64: defconfig: Add Renesas R-Car HSUSB driver support as module
        arm64: Add Broadcom Set Top Box Kconfig entry point
        arm64: defconfig: enable xhci-platform
      b4f33f6d
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5acb6052
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "Defconfig additions, removals, etc. Most of these are small changes
        adding the options for newly upstreamed drivers, or drivers needed for
        new board support. Nothing specifically sticks out this time"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
        ARM: multi_v7_defconfig: enable CONFIG_EFI
        ARM: multi_v7_defconfig: Build Atmel maXTouch driver as a module
        ARM: defconfig: update the Integrator defconfig
        ARM: keystone: defconfig: Fix USB configuration
        ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver
        ARM: omap2plus_defconfig: switch to the IIO BMP085 driver
        ARM: mvebu_v5_defconfig: use MV88E6XXX
        ARM: davinci_all_defconfig: Enable some UBI modules
        ARM: davinci_all_defconfig: Enable AEMIF as a module
        ARM: multi_v7_defconfig: Enable SECCOMP
        ARM: exynos_defconfig: Enable SECCOMP
        ARM: imx_v6_v7_defconfig: Add CONFIG_MPL3115
        ARM: imx_v6_v7_defconfig: Enable GPU support
        ARM: s3c2410_defconfig: Remove CONFIG_IPV6_PRIVACY
        ARM: exynos_defconfig: Enable PM_DEBUG
        ARM: exynos_defconfig: Enable bus frequency scaling with devfreq
        ARM: imx_v6_v7_defconfig: enable more USB configurations
        ARM: davinci_all_defconfig: enable SMSC ethernet PHY
        ARM: davinci_all_defconfig: enable RTC driver as module
        ARM: multi_v7_defconfig: Enable ARM_IMX6Q_CPUFREQ
        ...
      5acb6052
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 66f2c6d9
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "These are updates for platform specific code on 32-bit ARM machines,
        essentially anything that can not (yet) be expressed using DT files.
      
        Noteworthy changes include:
      
         - We get support for running in big-endian mode on two platforms:
           sunxi (Allwinner) and s3c24xx (old Samsung).
      
         - The recently added Uniphier platform now uses standard PSCI methods
           for SMP booting and we remove support for old bootloader versions
           that did not support it yet.
      
         - In sunxi, we gain support for the "Nextthing GR8" SoC, which is a
           close relative of the Allwinner A13 and R8 chips.
      
         - PXA completes its move over to the generic dmaengine framework and
           removes its old private API
      
         - mach-bcm gains support for BCM47189/BCM53573, their first ARM SoC
           with integrated 802.11ac wireless networking"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        ARM: imx legacy: pca100: move peripheral initialization to .init_late
        ARM: imx legacy: mx27ads: move peripheral initialization to .init_late
        ARM: imx legacy: mx21ads: move peripheral initialization to .init_late
        ARM: imx legacy: pcm043: move peripheral initialization to .init_late
        ARM: imx legacy: mx35-3ds: move peripheral initialization to .init_late
        ARM: imx legacy: mx27-3ds: move peripheral initialization to .init_late
        ARM: imx legacy: imx27-visstrim-m10: move peripheral initialization to .init_late
        ARM: imx legacy: vpr200: move peripheral initialization to .init_late
        ARM: imx legacy: mx31moboard: move peripheral initialization to .init_late
        ARM: imx legacy: armadillo5x0: move peripheral initialization to .init_late
        ARM: imx legacy: qong: move peripheral initialization to .init_late
        ARM: imx legacy: mx31-3ds: move peripheral initialization to .init_late
        ARM: imx legacy: pcm037: move peripheral initialization to .init_late
        ARM: imx legacy: mx31lilly: move peripheral initialization to .init_late
        ARM: imx legacy: mx31ads: move peripheral initialization to .init_late
        ARM: imx legacy: mx31lite: move peripheral initialization to .init_late
        ARM: imx legacy: kzm: move peripheral initialization to .init_late
        MAINTAINERS: update list of Oxnas maintainers
        ARM: orion5x: remove extraneous NO_IRQ
        ARM: orion: simplify orion_ge00_switch_init
        ...
      66f2c6d9
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a771151a
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "The cleanups for v4.9 are a little larger that usual, but thankfully
        that is almost exclusively due to removing a significant number of
        files that have become obsolete after the still ongoing conversion of
        old board files to devicetree.
      
         - for mach-omap2, which is still the largest platform in arch/arm/,
           the conversion to DT is finally complete after the Nokia N900 is
           now fully supported there, along with the omap3 LDP, and we can
           remove those two board files. If no regressions are found, another
           large cleanup for the platform will happen as a follow-up, removing
           dead code and restructuring the platform based on being DT-only.
      
         - In mach-imx, similar work is ongoing, but has not come that far.
           This time, we remove the obsolete board file for the i.MX1
           generation, which like i.MX25, i.MX5, i.MX6, and i.MX7 is now
           DT-only. The remaining board files are for i.MX2 and i.MX3 machines
           based on old ARM926 or ARM1136 cores that should work with DT in
           principle.
      
         - realview has just been converted from board files to DT, and a lot
           of code gets removed in the process. This is the last
           ARM/Keil/Versatile derived platform that was still using board
           files, the other ones being integrator, versatile and vexpress. We
           can probably merge the remaining code into a single directory in
           the near future.
      
         - clps711x had completed the conversion in v4.8, but we accidentally
           left the files in place that should have been deleted then"
      
      * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits)
        ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM
        ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly
        ARM: imx: (trivial) fix typo and grammar
        ARM: clps711x: remove extraneous files
        ARM: imx: use IS_ENABLED() instead of checking for built-in or module
        ARM: OMAP2+: use IS_ENABLED() instead of checking for built-in or module
        ARM: OMAP1: use IS_ENABLED() instead of checking for built-in or module
        ARM: imx: remove platform-mxc_rnga
        ARM: realview: imply device tree boot
        ARM: realview: no need to select SMP_ON_UP explicitly
        ARM: realview: delete the RealView board files
        ARM: imx: no need to select SMP_ON_UP explicitly
        ARM: i.MX: Move SOC_IMX1 into 'Device tree only'
        ARM: i.MX: Remove i.MX1 non-DT support
        ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support
        ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support
        ARM: mxs: remove obsolete startup code for TX28
        ARM: i.MX31 iomux: remove duplicates with alternate name
        ARM: i.MX31 iomux: remove plain duplicates
        ARM: OMAP2+: Drop legacy board file for LDP
        ...
      a771151a
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 997b611b
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Changes include:
      
         - Fix boot of 32bit SMP kernel (initial kernel mapping was too small)
      
         - Added hardened usercopy checks
      
         - Drop bootmem and switch to memblock and NO_BOOTMEM implementation
      
         - Drop the BROKEN_RODATA config option (and thus remove the relevant
           code from the generic headers and files because parisc was the last
           architecture which used this config option)
      
         - Improve segfault reporting by printing human readable error strings
      
         - Various smaller changes, e.g. dwarf debug support for assembly
           code, update comments regarding copy_user_page_asm, switch to
           kmalloc_array()"
      
      * 'parisc-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Increase KERNEL_INITIAL_SIZE for 32-bit SMP kernels
        parisc: Drop bootmem and switch to memblock
        parisc: Add hardened usercopy feature
        parisc: Add cfi_startproc and cfi_endproc to assembly code
        parisc: Move hpmc stack into page aligned bss section
        parisc: Fix self-detected CPU stall warnings on Mako machines
        parisc: Report trap type as human readable string
        parisc: Update comment regarding implementation of copy_user_page_asm
        parisc: Use kmalloc_array() in add_system_map_addresses()
        parisc: Check return value of smp_boot_one_cpu()
        parisc: Drop BROKEN_RODATA config option
      997b611b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 2c34ff14
      Linus Torvalds authored
      Pull avr32 update from Hans-Christian Noren Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: migrate exception table users off module.h and onto extable.h
      2c34ff14
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 07021b43
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Highlights:
         - Major rework of Book3S 64-bit exception vectors (Nicholas Piggin)
         - Use gas sections for arranging exception vectors et. al.
         - Large set of TM cleanups and selftests (Cyril Bur)
         - Enable transactional memory (TM) lazily for userspace (Cyril Bur)
         - Support for XZ compression in the zImage wrapper (Oliver
           O'Halloran)
         - Add support for bpf constant blinding (Naveen N. Rao)
         - Beginnings of upstream support for PA Semi Nemo motherboards
           (Darren Stevens)
      
        Fixes:
         - Ensure .mem(init|exit).text are within _stext/_etext (Michael
           Ellerman)
         - xmon: Don't use ld on 32-bit (Michael Ellerman)
         - vdso64: Use double word compare on pointers (Anton Blanchard)
         - powerpc/nvram: Fix an incorrect partition merge (Pan Xinhui)
         - powerpc: Fix usage of _PAGE_RO in hugepage (Christophe Leroy)
         - powerpc/mm: Update FORCE_MAX_ZONEORDER range to allow hugetlb w/4K
           (Aneesh Kumar K.V)
         - Fix memory leak in queue_hotplug_event() error path (Andrew
           Donnellan)
         - Replay hypervisor maintenance interrupt first (Nicholas Piggin)
      
        Various performance optimisations (Anton Blanchard):
         - Align hot loops of memset() and backwards_memcpy()
         - During context switch, check before setting mm_cpumask
         - Remove static branch prediction in atomic{, 64}_add_unless
         - Only disable HAVE_EFFICIENT_UNALIGNED_ACCESS on POWER7 little
           endian
         - Set default CPU type to POWER8 for little endian builds
      
        Cleanups & features:
         - Sparse fixes/cleanups (Daniel Axtens)
         - Preserve CFAR value on SLB miss caused by access to bogus address
           (Paul Mackerras)
         - Radix MMU fixups for POWER9 (Aneesh Kumar K.V)
         - Support for setting used_(vsr|vr|spe) in sigreturn path (for CRIU)
           (Simon Guo)
         - Optimise syscall entry for virtual, relocatable case (Nicholas
           Piggin)
         - Optimise MSR handling in exception handling (Nicholas Piggin)
         - Support for kexec with Radix MMU (Benjamin Herrenschmidt)
         - powernv EEH fixes (Russell Currey)
         - Suprise PCI hotplug support for powernv (Gavin Shan)
         - Endian/sparse fixes for powernv PCI (Gavin Shan)
         - Defconfig updates (Anton Blanchard)
         - KVM: PPC: Book3S HV: Migrate pinned pages out of CMA (Balbir Singh)
         - cxl: Flush PSL cache before resetting the adapter (Frederic Barrat)
         - cxl: replace loop with for_each_child_of_node(), remove unneeded
           of_node_put() (Andrew Donnellan)
         - Fix HV facility unavailable to use correct handler (Nicholas
           Piggin)
         - Remove unnecessary syscall trampoline (Nicholas Piggin)
         - fadump: Fix build break when CONFIG_PROC_VMCORE=n (Michael
           Ellerman)
         - Quieten EEH message when no adapters are found (Anton Blanchard)
         - powernv: Add PHB register dump debugfs handle (Russell Currey)
         - Use kprobe blacklist for exception handlers & asm functions
           (Nicholas Piggin)
         - Document the syscall ABI (Nicholas Piggin)
         - MAINTAINERS: Update cxl maintainers (Michael Neuling)
         - powerpc: Remove all usages of NO_IRQ (Michael Ellerman)
      
        Minor cleanups:
         - Andrew Donnellan, Christophe Leroy, Colin Ian King, Cyril Bur,
           Frederic Barrat, Pan Xinhui, PrasannaKumar Muralidharan, Rui Teng,
           Simon Guo"
      
      * tag 'powerpc-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (156 commits)
        powerpc/bpf: Add support for bpf constant blinding
        powerpc/bpf: Implement support for tail calls
        powerpc/bpf: Introduce accessors for using the tmp local stack space
        powerpc/fadump: Fix build break when CONFIG_PROC_VMCORE=n
        powerpc: tm: Enable transactional memory (TM) lazily for userspace
        powerpc/tm: Add TM Unavailable Exception
        powerpc: Remove do_load_up_transact_{fpu,altivec}
        powerpc: tm: Rename transct_(*) to ck(\1)_state
        powerpc: tm: Always use fp_state and vr_state to store live registers
        selftests/powerpc: Add checks for transactional VSXs in signal contexts
        selftests/powerpc: Add checks for transactional VMXs in signal contexts
        selftests/powerpc: Add checks for transactional FPUs in signal contexts
        selftests/powerpc: Add checks for transactional GPRs in signal contexts
        selftests/powerpc: Check that signals always get delivered
        selftests/powerpc: Add TM tcheck helpers in C
        selftests/powerpc: Allow tests to extend their kill timeout
        selftests/powerpc: Introduce GPR asm helper header file
        selftests/powerpc: Move VMX stack frame macros to header file
        selftests/powerpc: Rework FPU stack placement macros and move to header file
        selftests/powerpc: Check for VSX preservation across userspace preemption
        ...
      07021b43
  2. 07 Oct, 2016 23 commits
    • Linus Torvalds's avatar
      Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d1f53233
      Linus Torvalds authored
      Pull VFS splice updates from Al Viro:
       "There's a bunch of branches this cycle, both mine and from other folks
        and I'd rather send pull requests separately.
      
        This one is the conversion of ->splice_read() to ITER_PIPE iov_iter
        (and introduction of such). Gets rid of a lot of code in fs/splice.c
        and elsewhere; there will be followups, but these are for the next
        cycle...  Some pipe/splice-related cleanups from Miklos in the same
        branch as well"
      
      * 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        pipe: fix comment in pipe_buf_operations
        pipe: add pipe_buf_steal() helper
        pipe: add pipe_buf_confirm() helper
        pipe: add pipe_buf_release() helper
        pipe: add pipe_buf_get() helper
        relay: simplify relay_file_read()
        switch default_file_splice_read() to use of pipe-backed iov_iter
        switch generic_file_splice_read() to use of ->read_iter()
        new iov_iter flavour: pipe-backed
        fuse_dev_splice_read(): switch to add_to_pipe()
        skb_splice_bits(): get rid of callback
        new helper: add_to_pipe()
        splice: lift pipe_lock out of splice_to_pipe()
        splice: switch get_iovec_page_array() to iov_iter
        splice_to_pipe(): don't open-code wakeup_pipe_readers()
        consistent treatment of EFAULT on O_DIRECT read/write
      d1f53233
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 2eee010d
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Lots of bug fixes and cleanups"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: remove unused variable
        ext4: use journal inode to determine journal overhead
        ext4: create function to read journal inode
        ext4: unmap metadata when zeroing blocks
        ext4: remove plugging from ext4_file_write_iter()
        ext4: allow unlocked direct IO when pages are cached
        ext4: require encryption feature for EXT4_IOC_SET_ENCRYPTION_POLICY
        fscrypto: use standard macros to compute length of fname ciphertext
        ext4: do not unnecessarily null-terminate encrypted symlink data
        ext4: release bh in make_indexed_dir
        ext4: Allow parallel DIO reads
        ext4: allow DAX writeback for hole punch
        jbd2: fix lockdep annotation in add_transaction_credits()
        blockgroup_lock.h: simplify definition of NR_BG_LOCKS
        blockgroup_lock.h: remove debris from bgl_lock_ptr() conversion
        fscrypto: make filename crypto functions return 0 on success
        fscrypto: rename completion callbacks to reflect usage
        fscrypto: remove unnecessary includes
        fscrypto: improved validation when loading inode encryption metadata
        ext4: fix memory leak when symlink decryption fails
        ...
      2eee010d
    • Linus Torvalds's avatar
      Merge branch 'for-4.9/block' of git://git.kernel.dk/linux-block · 513a4bef
      Linus Torvalds authored
      Pull block layer updates from Jens Axboe:
       "This is the main pull request for block layer changes in 4.9.
      
        As mentioned at the last merge window, I've changed things up and now
        do just one branch for core block layer changes, and driver changes.
        This avoids dependencies between the two branches. Outside of this
        main pull request, there are two topical branches coming as well.
      
        This pull request contains:
      
         - A set of fixes, and a conversion to blk-mq, of nbd. From Josef.
      
         - Set of fixes and updates for lightnvm from Matias, Simon, and Arnd.
           Followup dependency fix from Geert.
      
         - General fixes from Bart, Baoyou, Guoqing, and Linus W.
      
         - CFQ async write starvation fix from Glauber.
      
         - Add supprot for delayed kick of the requeue list, from Mike.
      
         - Pull out the scalable bitmap code from blk-mq-tag.c and make it
           generally available under the name of sbitmap. Only blk-mq-tag uses
           it for now, but the blk-mq scheduling bits will use it as well.
           From Omar.
      
         - bdev thaw error progagation from Pierre.
      
         - Improve the blk polling statistics, and allow the user to clear
           them. From Stephen.
      
         - Set of minor cleanups from Christoph in block/blk-mq.
      
         - Set of cleanups and optimizations from me for block/blk-mq.
      
         - Various nvme/nvmet/nvmeof fixes from the various folks"
      
      * 'for-4.9/block' of git://git.kernel.dk/linux-block: (54 commits)
        fs/block_dev.c: return the right error in thaw_bdev()
        nvme: Pass pointers, not dma addresses, to nvme_get/set_features()
        nvme/scsi: Remove power management support
        nvmet: Make dsm number of ranges zero based
        nvmet: Use direct IO for writes
        admin-cmd: Added smart-log command support.
        nvme-fabrics: Add host_traddr options field to host infrastructure
        nvme-fabrics: revise host transport option descriptions
        nvme-fabrics: rework nvmf_get_address() for variable options
        nbd: use BLK_MQ_F_BLOCKING
        blkcg: Annotate blkg_hint correctly
        cfq: fix starvation of asynchronous writes
        blk-mq: add flag for drivers wanting blocking ->queue_rq()
        blk-mq: remove non-blocking pass in blk_mq_map_request
        blk-mq: get rid of manual run of queue with __blk_mq_run_hw_queue()
        block: export bio_free_pages to other modules
        lightnvm: propagate device_add() error code
        lightnvm: expose device geometry through sysfs
        lightnvm: control life of nvm_dev in driver
        blk-mq: register device instead of disk
        ...
      513a4bef
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 87840a2b
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Here is the 4.9 pull request from I2C including:
      
         - centralized error messages when registering to the core
         - improved lockdep annotations to prevent false positives
         - DT support for muxes, gates, and arbitrators
         - bus speeds can now be obtained from ACPI
         - i2c-octeon got refactored and now supports ThunderX SoCs, too
         - i2c-tegra and i2c-designware got a bigger bunch of updates
         - a couple of standard driver fixes and improvements"
      
      * 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (71 commits)
        i2c: axxia: disable clks in case of failure in probe
        i2c: octeon: thunderx: Limit register access retries
        i2c: uniphier-f: fix misdetection of incomplete STOP condition
        gpio: pca953x: variable 'id' was used twice
        i2c: i801: Add support for Kaby Lake PCH-H
        gpio: pca953x: fix an incorrect lockdep warning
        i2c: add a warning to i2c_adapter_depth()
        lockdep: make MAX_LOCKDEP_SUBCLASSES unconditionally visible
        i2c: export i2c_adapter_depth()
        i2c: rk3x: Fix variable 'min_total_ns' unused warning
        i2c: rk3x: Fix sparse warning
        i2c / ACPI: Do not touch an I2C device if it belongs to another adapter
        i2c: octeon: Fix high-level controller status check
        i2c: octeon: Avoid sending STOP during recovery
        i2c: octeon: Fix set SCL recovery function
        i2c: rcar: add support for r8a7796 (R-Car M3-W)
        i2c: imx: make bus recovery through pinctrl optional
        i2c: meson: add gxbb compatible string
        i2c: uniphier-f: set the adapter to master mode when probing
        i2c: uniphier-f: avoid WARN_ON() of clk_disable() in failure path
        ...
      87840a2b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 2ab704a4
      Linus Torvalds authored
      Pull trivial updates from Jiri Kosina:
       "The usual rocket science from the trivial tree"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
        tracing/syscalls: fix multiline in error message text
        lib/Kconfig.debug: fix DEBUG_SECTION_MISMATCH description
        doc: vfs: fix fadvise() sycall name
        x86/entry: spell EBX register correctly in documentation
        securityfs: fix securityfs_create_dir comment
        irq: Fix typo in tracepoint.xml
      2ab704a4
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · ddc4e6d2
      Linus Torvalds authored
      Pull livepatching updates from Jiri Kosina:
      
       - fix for patching modules that contain .altinstructions or
         .parainstructions sections, from Jessica Yu
      
       - make TAINT_LIVEPATCH a per-module flag (so that it's immediately
         clear which module caused the taint), from Josh Poimboeuf
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch/module: make TAINT_LIVEPATCH module-specific
        Documentation: livepatch: add section about arch-specific code
        livepatch/x86: apply alternatives and paravirt patches after relocations
        livepatch: use arch_klp_init_object_loaded() to finish arch-specific tasks
      ddc4e6d2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · bc75450c
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - Integrated Sensor Hub support (Cherrytrail+) from Srinivas Pandruvada
      
       - Big cleanup of Wacom driver; namely it's now using devres, and the
         standardized LED API so that libinput doesn't need to have root
         access any more, with substantial amount of other cleanups
         piggy-backing on top. All this from Benjamin Tissoires
      
       - Report descriptor parsing would now ignore and out-of-range System
         controls in case of the application actually being System Control.
         This fixes quite some issues with several devices, and allows us to
         remove a few ->report_fixup callbacks. From Benjamin Tissoires
      
       - ... a lot of other assorted small fixes and device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (76 commits)
        HID: add missing \n to end of dev_warn messages
        HID: alps: fix multitouch cursor issue
        HID: hid-logitech: Documentation updates/corrections
        HID: hid-logitech: Improve Wingman Formula Force GP support
        HID: hid-logitech: Rewrite of descriptor for all DF wheels
        HID: hid-logitech: Compute combined pedals value
        HID: hid-logitech: Add combined pedal support Logitech wheels
        HID: hid-logitech: Introduce control for combined pedals feature
        HID: sony: Update copyright and add Dualshock 4 rate control note
        HID: sony: Defer the initial USB Sixaxis output report
        HID: sony: Relax duplicate checking for USB-only devices
        Revert "HID: microsoft: fix invalid rdesc for 3k kbd"
        HID: alps: fix error return code in alps_input_configured()
        HID: alps: fix stick device not working after resume
        HID: support for keyboard - Corsair STRAFE
        HID: alps: Fix memory leak
        HID: uclogic: Add support for UC-Logic TWHA60 v3
        HID: uclogic: Override constant descriptors
        HID: uclogic: Support UGTizer GP0610 partially
        HID: uclogic: Add support for several more tablets
        ...
      bc75450c
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e6e3d8f8
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Summary of PCI changes for the v4.9 merge window:
      
        Enumeration:
         - microblaze: Add multidomain support for procfs (Bharat Kumar Gogada)
      
        Resource management:
         - Ignore requested alignment for PROBE_ONLY and fixed resources (Yongji Xie)
         - Ignore requested alignment for VF BARs (Yongji Xie)
      
        PCI device hotplug:
         - Make core explicitly non-modular (Paul Gortmaker)
      
        PCIe native device hotplug:
         - Rename pcie_isr() locals for clarity (Bjorn Helgaas)
         - Return IRQ_NONE when we can't read interrupt status (Bjorn Helgaas)
         - Remove unnecessary guard (Bjorn Helgaas)
         - Clean up dmesg "Slot(%s)" messages (Bjorn Helgaas)
         - Remove useless pciehp_get_latch_status() calls (Bjorn Helgaas)
         - Clear attention LED on device add (Keith Busch)
         - Allow exclusive userspace control of indicators (Keith Busch)
         - Process all hotplug events before looking for new ones (Mayurkumar Patel)
         - Don't re-read Slot Status when queuing hotplug event (Mayurkumar Patel)
         - Don't re-read Slot Status when handling surprise event (Mayurkumar Patel)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Power management:
         - Afford direct-complete to devices with non-standard PM (Lukas Wunner)
         - Query platform firmware for device power state (Lukas Wunner)
         - Recognize D3cold in pci_update_current_state() (Lukas Wunner)
         - Avoid unnecessary resume after direct-complete (Lukas Wunner)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Virtualization:
         - Mark Atheros AR9580 to avoid bus reset (Maik Broemme)
         - Check for pci_setup_device() failure in pci_iov_add_virtfn() (Po Liu)
      
        MSI:
         - Enable PCI_MSI_IRQ_DOMAIN support for ARC (Joao Pinto)
      
        AER:
         - Remove aerdriver.nosourceid kernel parameter (Bjorn Helgaas)
         - Remove aerdriver.forceload kernel parameter (Bjorn Helgaas)
         - Fix aer_probe() kernel-doc comment (Cao jin)
         - Add bus flag to skip source ID matching (Jon Derrick)
         - Avoid memory allocation in interrupt handling path (Jon Derrick)
         - Cache capability position (Keith Busch)
         - Make explicitly non-modular (Paul Gortmaker)
         - Remove duplicate AER severity translation (Tyler Baicar)
         - Send correct severity to calculate AER severity (Tyler Baicar)
      
        Precision Time Measurement:
         - Add Precision Time Measurement (PTM) support (Jonathan Yong)
         - Add PTM clock granularity information (Bjorn Helgaas)
         - Add pci_enable_ptm() for drivers to enable PTM on endpoints (Bjorn Helgaas)
      
        Generic host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Altera host bridge driver:
         - Remove redundant platform_get_resource() return value check (Bjorn Helgaas)
         - Poll for link training status after retraining the link (Ley Foon Tan)
         - Rework config accessors for use without a struct pci_bus (Ley Foon Tan)
         - Move retrain from fixup to altera_pcie_host_init() (Ley Foon Tan)
         - Make MSI explicitly non-modular (Paul Gortmaker)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
      
        ARM Versatile host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
      
        Axis ARTPEC-6 host bridge driver:
         - Drop __init from artpec6_add_pcie_port() (Niklas Cassel)
      
        Freescale i.MX6 host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Intel VMD host bridge driver:
         - Add quirk for AER to ignore source ID (Jon Derrick)
         - Allocate IRQ lists with correct MSI-X count (Jon Derrick)
         - Convert to use pci_alloc_irq_vectors() API (Jon Derrick)
         - Eliminate vmd_vector member from list type (Jon Derrick)
         - Eliminate index member from IRQ list (Jon Derrick)
         - Synchronize with RCU freeing MSI IRQ descs (Keith Busch)
         - Request userspace control of PCIe hotplug indicators (Keith Busch)
         - Move VMD driver to drivers/pci/host (Keith Busch)
      
        Marvell Aardvark host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Remove redundant dev_err call in advk_pcie_probe() (Wei Yongjun)
      
        Microsoft Hyper-V host bridge driver:
         - Use zero-length array in struct pci_packet (Dexuan Cui)
         - Use pci_function_description[0] in struct definitions (Dexuan Cui)
         - Remove the unused 'wrk' in struct hv_pcibus_device (Dexuan Cui)
         - Handle vmbus_sendpacket() failure in hv_compose_msi_msg() (Dexuan Cui)
         - Handle hv_pci_generic_compl() error case (Dexuan Cui)
         - Use list_move_tail() instead of list_del() + list_add_tail() (Wei Yongjun)
      
        NVIDIA Tegra host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Remove redundant _data suffix (Thierry Reding)
         - Use of_device_get_match_data() (Thierry Reding)
      
        Qualcomm host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Renesas R-Car host bridge driver:
         - Consolidate register space lookup and ioremap (Bjorn Helgaas)
         - Don't disable/unprepare clocks on prepare/enable failure (Geert Uytterhoeven)
         - Add multi-MSI support (Grigory Kletsko)
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Fix some checkpatch warnings (Sergei Shtylyov)
         - Try increasing PCIe link speed to 5 GT/s at boot (Sergei Shtylyov)
      
        Rockchip host bridge driver:
         - Add DT bindings for Rockchip PCIe controller (Shawn Lin)
         - Add Rockchip PCIe controller support (Shawn Lin)
         - Improve the deassert sequence of four reset pins (Shawn Lin)
         - Fix wrong transmitted FTS count (Shawn Lin)
         - Increase the Max Credit update interval (Rajat Jain)
      
        Samsung Exynos host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        ST Microelectronics SPEAr13xx host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Synopsys DesignWare host bridge driver:
         - Return data directly from dw_pcie_readl_rc() (Bjorn Helgaas)
         - Exchange viewport of `MEMORYs' and `CFGs/IOs' (Dong Bo)
         - Check LTSSM training bit before deciding link is up (Jisheng Zhang)
         - Move link wait definitions to .c file (Joao Pinto)
         - Wait for iATU enable (Joao Pinto)
         - Add iATU Unroll feature (Joao Pinto)
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
         - Keep viewport fixed for IO transaction if num_viewport > 2 (Pratyush Anand)
         - Remove redundant platform_get_resource() return value check (Wei Yongjun)
      
        TI DRA7xx host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        TI Keystone host bridge driver:
         - Propagate request_irq() failure (Wei Yongjun)
      
        Xilinx AXI host bridge driver:
         - Keep both legacy and MSI interrupt domain references (Bharat Kumar Gogada)
         - Clear interrupt register for invalid interrupt (Bharat Kumar Gogada)
         - Clear correct MSI set bit (Bharat Kumar Gogada)
         - Dispose of MSI virtual IRQ (Bharat Kumar Gogada)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
      
        Xilinx NWL host bridge driver:
         - Expand error logging (Bharat Kumar Gogada)
         - Enable all MSI interrupts using MSI mask (Bharat Kumar Gogada)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Miscellaneous:
         - Drop CONFIG_KEXEC_CORE ifdeffery (Lukas Wunner)
         - portdrv: Make explicitly non-modular (Paul Gortmaker)
         - Make DPC explicitly non-modular (Paul Gortmaker)"
      
      * tag 'pci-v4.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (105 commits)
        x86/PCI: VMD: Move VMD driver to drivers/pci/host
        PCI: rockchip: Fix wrong transmitted FTS count
        PCI: rockchip: Improve the deassert sequence of four reset pins
        PCI: rockchip: Increase the Max Credit update interval
        PCI: rcar: Try increasing PCIe link speed to 5 GT/s at boot
        PCI/AER: Fix aer_probe() kernel-doc comment
        PCI: Ignore requested alignment for VF BARs
        PCI: Ignore requested alignment for PROBE_ONLY and fixed resources
        PCI: Avoid unnecessary resume after direct-complete
        PCI: Recognize D3cold in pci_update_current_state()
        PCI: Query platform firmware for device power state
        PCI: Afford direct-complete to devices with non-standard PM
        PCI/AER: Cache capability position
        PCI/AER: Avoid memory allocation in interrupt handling path
        x86/PCI: VMD: Request userspace control of PCIe hotplug indicators
        PCI: pciehp: Allow exclusive userspace control of indicators
        ACPI / APEI: Send correct severity to calculate AER severity
        PCI/AER: Remove duplicate AER severity translation
        x86/PCI: VMD: Synchronize with RCU freeing MSI IRQ descs
        x86/PCI: VMD: Eliminate index member from IRQ list
        ...
      e6e3d8f8
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.9-rc1' of git://github.com/awilliam/linux-vfio · fbbea389
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - comment fixes (Wei Jiangang)
       - static symbols (Baoyou Xie)
       - FLR virtualization (Alex Williamson)
       - catching INTx enabling after MSI/X teardown (Alex Williamson)
       - update to pci_alloc_irq_vectors helpers (Christoph Hellwig)
      
      * tag 'vfio-v4.9-rc1' of git://github.com/awilliam/linux-vfio:
        vfio_pci: use pci_alloc_irq_vectors
        vfio-pci: Disable INTx after MSI/X teardown
        vfio-pci: Virtualize PCIe & AF FLR
        vfio: platform: mark symbols static where possible
        vfio/pci: Fix typos in comments
      fbbea389
    • Linus Torvalds's avatar
      Merge tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · c23112e0
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
       "This update includes:
      
         - new AVX512 instruction based raid6 gen/recovery algorithm
      
         - a couple of md-cluster related bug fixes
      
         - fix a potential deadlock
      
         - set nonrotational bit for raid array with SSD
      
         - set correct max_hw_sectors for raid5/6, which hopefuly can improve
           performance a little bit
      
         - other minor fixes"
      
      * tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md: set rotational bit
        raid6/test/test.c: bug fix: Specify aligned(alignment) attributes to the char arrays
        raid5: handle register_shrinker failure
        raid5: fix to detect failure of register_shrinker
        md: fix a potential deadlock
        md/bitmap: fix wrong cleanup
        raid5: allow arbitrary max_hw_sectors
        lib/raid6: Add AVX512 optimized xor_syndrome functions
        lib/raid6/test/Makefile: Add avx512 gen_syndrome and recovery functions
        lib/raid6: Add AVX512 optimized recovery functions
        lib/raid6: Add AVX512 optimized gen_syndrome functions
        md-cluster: make resync lock also could be interruptted
        md-cluster: introduce dlm_lock_sync_interruptible to fix tasks hang
        md-cluster: convert the completion to wait queue
        md-cluster: protect md_find_rdev_nr_rcu with rcu lock
        md-cluster: clean related infos of cluster
        md: changes for MD_STILL_CLOSED flag
        md-cluster: remove some unnecessary dlm_unlock_sync
        md-cluster: use FORCEUNLOCK in lockres_free
        md-cluster: call md_kick_rdev_from_array once ack failed
      c23112e0
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4dfddf50
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This update includes the usual round of major driver updates (hpsa,
        be2iscsi, hisi_sas, zfcp, cxlflash). There's a new incarnation of hpsa
        called smartpqi for which a driver is added, there's some cleanup work
        of the ibm vscsi target and updates to libfc, plus a whole host of
        minor fixes and updates and finally the removal of several ISA drivers
        which seem not to have been used for years"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (173 commits)
        scsi: mvsas: Mark symbols static where possible
        scsi: pm8001: Mark symbols static where possible
        scsi: arcmsr: Simplify user_len checking
        scsi: fcoe: fix off by one in eth2fc_speed()
        scsi: dtc: remove from tree
        scsi: t128: remove from tree
        scsi: pas16: remove from tree
        scsi: u14-34f: remove from tree
        scsi: ultrastor: remove from tree
        scsi: in2000: remove from tree
        scsi: wd7000: remove from tree
        scsi: scsi_dh_alua: Fix memory leak in alua_rtpg()
        scsi: lpfc: Mark symbols static where possible
        scsi: hpsa: correct call to hpsa_do_reset
        scsi: ufs: Get a TM service response from the correct offset
        scsi: ibmvfc: Fix I/O hang when port is not mapped
        scsi: megaraid_sas: clean function declarations in megaraid_sas_base.c up
        scsi: ipr: Remove redundant messages at adapter init time
        scsi: ipr: Don't log unnecessary 9084 error details
        scsi: smartpqi: raid bypass lba calculation fix
        ...
      4dfddf50
    • Helge Deller's avatar
      parisc: Increase KERNEL_INITIAL_SIZE for 32-bit SMP kernels · 690d097c
      Helge Deller authored
      Increase the initial kernel default page mapping size for SMP kernels to 32MB
      and add a runtime check which panics early if the kernel is bigger than the
      initial mapping size.
      
      This fixes boot crashes of 32bit SMP kernels. Due to the introduction of huge
      page support in kernel 4.4 and it's required initial kernel layout in memory, a
      32bit SMP kernel usually got bigger (in layout, not size) than 16MB.
      
      Cc: stable@vger.kernel.org #4.4+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      690d097c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d4e65476
      Linus Torvalds authored
      Pull input subsystem updates from Dmitry Torokhov:
       "You will get
      
         - a new driver for Elan eKTF2127 touchscreen controllers
      
         - a new "gpio-decoder" driver to read and report state of several
           GPIO lines
      
         - an ADC resistor ladder driver
      
         - the ft6326 driver is removed because edt-ft5x06 handles the same
           devices just fine.
      
        .. plus the regular slew of driver fixes/enhancements"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (26 commits)
        Input: elan_i2c - fix return tests of i2c_smbus_read_block_data()
        Input: ektf2127 - mark PM functions as __maybe_unused
        Input: snvs_pwrkey - drop input_free_device call if input_register_device fails
        Input: add support for Elan eKTF2127 touchscreen controller
        Input: serio - add hangup support
        Input: tps65218-pwrbutton - add support for tps65217 variant
        Input: jornada720_ts - get rid of mach/irqs.h and mach/hardware.h includes
        Input: jornada720_kbd - remove unneeded mach/hardware.h include
        Input: focaltech - mark focaltech_set_resolution() static
        Input: wdt87xx_i2c - fix the flash erase issue
        Input: gpio-keys-polled - don't use unit-address with button nodes
        Input: add generic input driver to read encoded GPIO lines
        Input: add ADC resistor ladder driver
        Input: pegasus_notetaker - directly include workqueue header
        Input: elants_i2c - get product id on recovery mode for FW update
        Input: wm97xx - remove deprecated create_singletheread_workqueue
        Input: mc13783_ts - remove deprecated create_singletheread_workqueue
        Input: psmouse - remove deprecated create_singletheread_workqueue
        Input: jornada720_kbd - switch to using dev_dbg
        Input: jornada720_kbd - get rid of mach/irqs.h include
        ...
      d4e65476
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · d0423808
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Core framework:
         - Add the MFD bindings doc to MAINTAINERS
      
        New drivers:
         - X-Powers AC100 Audio CODEC and RTC
         - TI LP873x PMIC
         - Rockchip RK808 PMIC
         - Samsung Exynos Low Power Audio
      
        New device support:
         - Add support for STMPE1600 variant to stmpe
         - Add support for PM8018 PMIC to pm8921-core
         - Add support for AXP806 PMIC in axp20x
         - Add support for AXP209 GPIO in axp20x
      
        New functionality:
         - Add support for Reset to all STMPE variants
         - Add support for MKBP event support to cros_ec
         - Add support for USB to intel_soc_pmic_bxtwc
         - Add support for IRQs and Power Button to tps65217
      
        Fix-ups:
         - Clean-up defunct author emails (da9063, max14577)
         - Kconfig fixups (wm8350-i2c, as37220
         - Constify (altera-a10sr, sm501)
         - Supply PCI IDs (intel-lpss-pci)
         - Improve clocking (qcom_rpm)
         - Fix IRQ probing (ucb1x00-core)
         - Ensure fault log is cleared (da9052)
         - Remove NO_IRQ check (ucb1x00-core)
         - Supply I2C properties (intel-lpss-acpi, intel-lpss-pci)
         - Non standard declaration (tps65217, max8997-irq)
         - Remove unused code (lp873x, db8500-prcmu, ab8500-debugfs,
           cros_ec_spi)
         - Make non-modular (altera-a10sr, intel_msic, smsc-ece1099,
           sun6i-prcm, twl-core)
         - OF bindings (ac100, stmpe, qcom-pm8xxx, qcom-rpm, rk808, axp20x,
           lp873x, exynos5433-lpass, act8945a, aspeed-scu, twl6040, arizona)
      
        Bugfixes:
         - Release OF pointer (qcom_rpm)
         - Avoid double shifting in suspend/resume (88pm80x)
         - Fix 'defined but not used' error (exynos-lpass)
         - Fix 'sleeping whilst attomic' (atmel-hlcdc)"
      
      * tag 'mfd-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
        mfd: arizona: Handle probe deferral for reset GPIO
        mfd: arizona: Remove arizona_of_get_named_gpio helper function
        mfd: arizona: Add DT options for max_channels_clocked and PDM speaker config
        mfd: twl6040: Register child device for twl6040-pdmclk
        mfd: cros_ec_spi: Remove unused variable 'request'
        mfd: omap-usb-host: Return value is not 'const int'
        mfd: ab8500-debugfs: Remove 'weak' function suspend_test_wake_cause_interrupt_is_mine()
        mfd: ab8500-debugfs: Remove ab8500_dump_all_banks_to_mem()
        mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls
        mfd: ab8500-debugfs: Prevent initialised field from being over-written
        mfd: max8997-irq: 'inline' should be at the beginning of the declaration
        mfd: rk808: Fix RK818_IRQ_DISCHG_ILIM initializer
        mfd: tps65217: Fix nonstandard declaration
        mfd: lp873x: Remove unused mutex lock from struct lp873x
        mfd: atmel-hlcdc: Do not sleep in atomic context
        mfd: exynos-lpass: Mark PM functions as __maybe_unused
        mfd: intel-lpss: Add default I2C device properties for Apollo Lake
        mfd: twl-core: Make it explicitly non-modular
        mfd: sun6i-prcm: Make it explicitly non-modular
        mfd: smsc-ece1099: Make it explicitly non-modular
        ...
      d0423808
    • Helge Deller's avatar
      parisc: Drop bootmem and switch to memblock · 4fe9e1d9
      Helge Deller authored
      Memblock is the standard kernel boot-time memory tracker/allocator. Use it
      instead of the bootmem allocator. This allows using kmemleak, CMA and
      other features.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      4fe9e1d9
    • Jiri Kosina's avatar
      Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input',... · 179023e6
      Jiri Kosina authored
      Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input', 'for-4.9/intel-ish', 'for-4.9/kye-uclogic-waltop-fixes', 'for-4.9/logitech', 'for-4.9/sony', 'for-4.9/upstream' and 'for-4.9/wacom' into for-linus
      179023e6
    • Linus Torvalds's avatar
      Merge tag 'backlight-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 3477d168
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Fix-ups:
      
         - Remove unused .owner assignment; tosa_bl
         - Enable GPIO sleeping; pwm_bl"
      
      * tag 'backlight-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: pwm_bl: Handle gpio that can sleep
        backlight-tosa: Delete unnecessary assignment for the field "owner"
      3477d168
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 9a687aea
      Linus Torvalds authored
      Pull HSI fix from Sebastian Reichel:
       "Fix hsi userspace header"
      
      * tag 'hsi-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: hsi_char.h: use __u32 from linux/types.h
      9a687aea
    • Linus Torvalds's avatar
      Merge tag 'for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 021723e6
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       - move power supply drivers to drivers/power/supply
       - unify location of power supply DT documentation
       - tps65217-charger: IRQ support
       - act8945a-charger: misc. cleanups & improvements
       - sbs-battery cleanup
       - fix users of deprecated create_singlethread_workqueue()
       - misc fixes.
      
      * tag 'for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (46 commits)
        power: supply: bq27xxx_battery: allow kernel poll_interval parameter runtime update
        power: supply: sbs-battery: Cleanup removal of chip->pdata
        power: reset: st: Remove obsolete platforms from dt doc
        power: reset: st-poweroff: Remove obsolete platforms.
        power: reset: zx-reboot: Unmap region obtained by of_iomap
        power: reset: xgene-reboot: Unmap region obtained by of_iomap
        power: supply: ab8500: cleanup with list_first_entry_or_null()
        power: reset: add in missing white space in error message text
        sbs-battery: make writes to ManufacturerAccess optional
        power: bq24257: Fix use of uninitialized pointer bq->charger
        power: supply: sbs-battery: simplify DT parsing
        power: supply: bq24735-charger: Request status GPIO with initial input setup
        power: supply: sbs-battery: Use gpio_desc and sleeping calls for battery detect
        power: supply: act8945a_charger: Add max current property
        power: supply: act8945a_charger: Add capacity level property
        doc: bindings: power: act8945a-charger: Update properties.
        power: supply: act8945a_charger: Fix the power supply type
        power: supply: act8945a_charger: Add status change update support
        power: supply: act8945a_charger: Improve state handling
        power: supply: act8945a_charger: Remove "battery_temperature"
        ...
      021723e6
    • Linus Torvalds's avatar
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · c6594fc6
      Linus Torvalds authored
      Pull mailbox updates from Jussi Brar:
       "New driver and DT bindings for MHU controller integrated on Amlogic
        Meson platform"
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt-bindings: mailbox: Add Amlogic Meson MHU Bindings
        mailbox: Add Platform Message-Handling-Unit variant driver
      c6594fc6
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.9-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 553911c6
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This is bit large pile of code which bring in some nice additions:
      
         - Error reporting: we have added a new mechanism for users of
           dmaenegine to register a callback_result which tells them the
           result of the dma transaction. Right now only one user (ntb) is
           using it.
      
         - As we discussed on KS mailing list and pointed out NO_IRQ has no
           place in kernel, this also remove NO_IRQ from dmaengine subsystem
           (both arm and ppc users)
      
         - Support for IOMMU slave transfers and its implementation for arm.
      
         - To get better build coverage, enable COMPILE_TEST for bunch of
           driver, and fix the warning and sparse complaints on these.
      
         - Apart from above, usual updates spread across drivers"
      
      * tag 'dmaengine-4.9-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (169 commits)
        async_pq_val: fix DMA memory leak
        dmaengine: virt-dma: move function declarations
        dmaengine: omap-dma: Enable burst and data pack for SG
        DT: dmaengine: rcar-dmac: document R8A7743/5 support
        dmaengine: fsldma: Unmap region obtained by of_iomap
        dmaengine: jz4780: fix resource leaks on error exit return
        dma-debug: fix ia64 build, use PHYS_PFN
        dmaengine: coh901318: fix integer overflow when shifting more than 32 places
        dmaengine: edma: avoid uninitialized variable use
        dma-mapping: fix m32r build warning
        dma-mapping: fix ia64 build, use PHYS_PFN
        dmaengine: ti-dma-crossbar: enable COMPILE_TEST
        dmaengine: omap-dma: enable COMPILE_TEST
        dmaengine: edma: enable COMPILE_TEST
        dmaengine: ti-dma-crossbar: Fix of_device_id data parameter usage
        dmaengine: ti-dma-crossbar: Correct type for of_find_property() third parameter
        dmaengine/ARM: omap-dma: Fix the DMAengine compile test on non OMAP configs
        dmaengine: edma: Rename set_bits and remove unused clear_bits helper
        dmaengine: edma: Use correct type for of_find_property() third parameter
        dmaengine: edma: Fix of_device_id data parameter usage (legacy vs TPCC)
        ...
      553911c6
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.9' of git://github.com/andersson/remoteproc · 521f3970
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "The bulk of these patches involve splitting the rpmsg implementation
        into a framework/API part and a virtio specific backend part. It then
        adds the Qualcomm Shared Memory Device (SMD) as an additional
        supported wire format.
      
        Also included is a set of code style cleanups that have been lingering
        for a while"
      
      * tag 'rpmsg-v4.9' of git://github.com/andersson/remoteproc: (26 commits)
        rpmsg: smd: fix dependency on QCOM_SMD=n
        rpmsg: Introduce Qualcomm SMD backend
        rpmsg: Allow callback to return errors
        rpmsg: Move virtio specifics from public header
        rpmsg: virtio: Hide vrp pointer from the public API
        rpmsg: Hide rpmsg indirection tables
        rpmsg: Split rpmsg core and virtio backend
        rpmsg: Split off generic tail of create_channel()
        rpmsg: Move helper for finding rpmsg devices to core
        rpmsg: Move endpoint related interface to rpmsg core
        rpmsg: Indirection table for rpmsg_endpoint operations
        rpmsg: Move rpmsg_device API to new file
        rpmsg: Introduce indirection table for rpmsg_device operations
        rpmsg: Clean up rpmsg device vs channel naming
        rpmsg: Make rpmsg_create_ept() take channel_info struct
        rpmsg: rpmsg_send() operations takes rpmsg_endpoint
        rpmsg: Name rpmsg devices based on channel id
        rpmsg: Enable matching devices with drivers based on DT
        rpmsg: Drop prototypes for non-existing functions
        samples/rpmsg: add support for multiple instances
        ...
      521f3970
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.9' of git://github.com/andersson/remoteproc · d880e5ad
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "In addition to a slew of minor fixes and cleanups these patches
        refactor how we deal with remoteprocs that will be auto-booting
        themselves.
      
        That does clean up the remote resource handling but makes for
        additional work to clarify responsibilities and life cycles of
        resources. We also revise how module locking of remoteproc drivers
        work, so that they are locked as we hand out references to them to
        third parties, rather than only when booted by anyone.
      
        In addition to that we also introduce the Qualcomm Wireless Subsystem
        remoteproc driver"
      
      * tag 'rproc-v4.9' of git://github.com/andersson/remoteproc: (26 commits)
        remoteproc: Refactor rproc module locking
        remoteproc: Split driver and consumer dereferencing
        remoteproc: Correct resource handling upon boot failure
        remoteproc: Drop unnecessary NULL check
        remoteproc: core: transform struct fw_rsc_vdev_vring reserved field in pa
        remoteproc: Modify FW_RSC_ADDR_ANY definition
        remoteproc: qcom: wcnss: Fix return value check in wcnss_probe()
        remoteproc: qcom: Introduce WCNSS peripheral image loader
        dt-binding: remoteproc: Introduce Qualcomm WCNSS loader binding
        remoteproc: Only update table_ptr if we have a loaded table
        remoteproc: Move handling of cached table to boot/shutdown
        remoteproc: Move vdev handling to boot/shutdown
        remoteproc: Calculate max_notifyid during load
        remoteproc: Introduce auto-boot flag
        remoteproc/omap: revise a minor error trace message
        remoteproc/omap: fix various code formatting issues
        remoteproc: print hex numbers with a leading 0x format
        remoteproc: align code with open parenthesis
        remoteproc: fix bare unsigned type usage
        remoteproc: use variable names for sizeof() operator
        ...
      d880e5ad
  3. 06 Oct, 2016 9 commits
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 4c1fad64
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've investigated how f2fs deals with errors given by
        our fault injection facility. With this, we could fix several corner
        cases. And, in order to improve the performance, we set inline_dentry
        by default and enhance the exisiting discard issue flow. In addition,
        we added f2fs_migrate_page for better memory management.
      
        Enhancements:
         - set inline_dentry by default
         - improve discard issue flow
         - add more fault injection cases in f2fs
         - allow block preallocation for encrypted files
         - introduce migrate_page callback function
         - avoid truncating the next direct node block at every checkpoint
      
        Bug fixes:
         - set page flag correctly between write_begin and write_end
         - missing error handling cases detected by fault injection
         - preallocate blocks regarding to 4KB alignement correctly
         - dentry and filename handling of encryption
         - lost xattrs of directories"
      
      * tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (69 commits)
        f2fs: introduce update_ckpt_flags to clean up
        f2fs: don't submit irrelevant page
        f2fs: fix to commit bio cache after flushing node pages
        f2fs: introduce get_checkpoint_version for cleanup
        f2fs: remove dead variable
        f2fs: remove redundant io plug
        f2fs: support checkpoint error injection
        f2fs: fix to recover old fault injection config in ->remount_fs
        f2fs: do fault injection initialization in default_options
        f2fs: remove redundant value definition
        f2fs: support configuring fault injection per superblock
        f2fs: adjust display format of segment bit
        f2fs: remove dirty inode pages in error path
        f2fs: do not unnecessarily null-terminate encrypted symlink data
        f2fs: handle errors during recover_orphan_inodes
        f2fs: avoid gc in cp_error case
        f2fs: should put_page for summary page
        f2fs: assign return value in f2fs_gc
        f2fs: add customized migrate_page callback
        f2fs: introduce cp_lock to protect updating of ckpt_flags
        ...
      4c1fad64
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 0fb3ca44
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
      
       - Fix bug in module unloading
      
       - Switch to always using spinlock over cmpxchg
      
       - Explicitly define pstore backend's supported modes
      
       - Remove bounce buffer from pmsg
      
       - Switch to using memcpy_to/fromio()
      
       - Error checking improvements
      
      * tag 'pstore-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ramoops: move spin_lock_init after kmalloc error checking
        pstore/ram: Use memcpy_fromio() to save old buffer
        pstore/ram: Use memcpy_toio instead of memcpy
        pstore/pmsg: drop bounce buffer
        pstore/ram: Set pstore flags dynamically
        pstore: Split pstore fragile flags
        pstore/core: drop cmpxchg based updates
        pstore/ramoops: fixup driver removal
      0fb3ca44
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · 3940ee36
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Miscellaneous improvements:
         - clean up debugfs globals
         - remove dead code in sysfs
         - reorganize duplicated sysfs attribute structs
         - consolidate sysfs show and store functions
         - remove duplicated sysfs_ops structures
         - describe organization of sysfs
         - make devreq_mutex static
         - g_orangefs_stats -> orangefs_stats for consistency
         - rename most remaining global variables
      
        Feature negotiation:
         - enable Orangefs userspace and kernel module to negotiate mutually
           supported features"
      
      * tag 'for-linus-4.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        Revert "orangefs: bump minimum userspace version"
        orangefs: bump minimum userspace version
        orangefs: rename most remaining global variables
        orangefs: g_orangefs_stats -> orangefs_stats for consistency
        orangefs: make devreq_mutex static
        orangefs: describe organization of sysfs
        orangefs: remove duplicated sysfs_ops structures
        orangefs: consolidate sysfs show and store functions
        orangefs: reorganize duplicated sysfs attribute structs
        orangefs: remove dead code in sysfs
        orangefs: clean up debugfs globals
        orangefs: do not allow client readahead cache without feature bit
        orangefs: add features op
        orangefs: record userspace version for feature compatbility
        orangefs: add readahead count and size to sysfs
        orangefs: re-add flush_racache from out-of-tree
        orangefs: turn param response value into union
        orangefs: add missing param request ops
        orangefs: rename remaining bits of mmap readahead cache
      3940ee36
    • Helge Deller's avatar
      parisc: Add hardened usercopy feature · 9e91db6b
      Helge Deller authored
      Add hardened usercopy checks to parisc architecture and clean up
      indenting.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      9e91db6b
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 95107b30
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "This release cycle is rather small.  Just a few fixes to tracing.
      
        The big change is the addition of the hwlat tracer. It not only
        detects SMIs, but also other latency that's caused by the hardware. I
        have detected some latency from large boxes having bus contention"
      
      * tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Call traceoff trigger after event is recorded
        ftrace/scripts: Add helper script to bisect function tracing problem functions
        tracing: Have max_latency be defined for HWLAT_TRACER as well
        tracing: Add NMI tracing in hwlat detector
        tracing: Have hwlat trace migrate across tracing_cpumask CPUs
        tracing: Add documentation for hwlat_detector tracer
        tracing: Added hardware latency tracer
        ftrace: Access ret_stack->subtime only in the function profiler
        function_graph: Handle TRACE_BPUTS in print_graph_comment
        tracing/uprobe: Drop isdigit() check in create_trace_uprobe
      95107b30
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.9-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 541efb76
      Linus Torvalds authored
      Pull xen updates from David Vrabel:
       "xen features and fixes for 4.9:
      
         - switch to new CPU hotplug mechanism
      
         - support driver_override in pciback
      
         - require vector callback for HVM guests (the alternate mechanism via
           the platform device has been broken for ages)"
      
      * tag 'for-linus-4.9-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/x86: Update topology map for PV VCPUs
        xen/x86: Initialize per_cpu(xen_vcpu, 0) a little earlier
        xen/pciback: support driver_override
        xen/pciback: avoid multiple entries in slot list
        xen/pciback: simplify pcistub device handling
        xen: Remove event channel notification through Xen PCI platform device
        xen/events: Convert to hotplug state machine
        xen/x86: Convert to hotplug state machine
        x86/xen: add missing \n at end of printk warning message
        xen/grant-table: Use kmalloc_array() in arch_gnttab_valloc()
        xen: Make VPMU init message look less scary
        xen: rename xen_pmu_init() in sys-hypervisor.c
        hotplug: Prevent alloc/free of irq descriptors during cpu up/down (again)
        xen/x86: Move irq allocation from Xen smp_op.cpu_up()
      541efb76
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 6218590b
      Linus Torvalds authored
      Pull KVM updates from Radim Krčmář:
       "All architectures:
         - move `make kvmconfig` stubs from x86
         - use 64 bits for debugfs stats
      
        ARM:
         - Important fixes for not using an in-kernel irqchip
         - handle SError exceptions and present them to guests if appropriate
         - proxying of GICV access at EL2 if guest mappings are unsafe
         - GICv3 on AArch32 on ARMv8
         - preparations for GICv3 save/restore, including ABI docs
         - cleanups and a bit of optimizations
      
        MIPS:
         - A couple of fixes in preparation for supporting MIPS EVA host
           kernels
         - MIPS SMP host & TLB invalidation fixes
      
        PPC:
         - Fix the bug which caused guests to falsely report lockups
         - other minor fixes
         - a small optimization
      
        s390:
         - Lazy enablement of runtime instrumentation
         - up to 255 CPUs for nested guests
         - rework of machine check deliver
         - cleanups and fixes
      
        x86:
         - IOMMU part of AMD's AVIC for vmexit-less interrupt delivery
         - Hyper-V TSC page
         - per-vcpu tsc_offset in debugfs
         - accelerated INS/OUTS in nVMX
         - cleanups and fixes"
      
      * tag 'kvm-4.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (140 commits)
        KVM: MIPS: Drop dubious EntryHi optimisation
        KVM: MIPS: Invalidate TLB by regenerating ASIDs
        KVM: MIPS: Split kernel/user ASID regeneration
        KVM: MIPS: Drop other CPU ASIDs on guest MMU changes
        KVM: arm/arm64: vgic: Don't flush/sync without a working vgic
        KVM: arm64: Require in-kernel irqchip for PMU support
        KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register
        KVM: PPC: Book3S PR: Support 64kB page size on POWER8E and POWER8NVL
        KVM: PPC: Book3S: Remove duplicate setting of the B field in tlbie
        KVM: PPC: BookE: Fix a sanity check
        KVM: PPC: Book3S HV: Take out virtual core piggybacking code
        KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread
        ARM: gic-v3: Work around definition of gic_write_bpr1
        KVM: nVMX: Fix the NMI IDT-vectoring handling
        KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive
        KVM: nVMX: Fix reload apic access page warning
        kvmconfig: add virtio-gpu to config fragment
        config: move x86 kvm_guest.config to a common location
        arm64: KVM: Remove duplicating init code for setting VMID
        ARM: KVM: Support vgic-v3
        ...
      6218590b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 14986a34
      Linus Torvalds authored
      Pull namespace updates from Eric Biederman:
       "This set of changes is a number of smaller things that have been
        overlooked in other development cycles focused on more fundamental
        change. The devpts changes are small things that were a distraction
        until we managed to kill off DEVPTS_MULTPLE_INSTANCES. There is an
        trivial regression fix to autofs for the unprivileged mount changes
        that went in last cycle. A pair of ioctls has been added by Andrey
        Vagin making it is possible to discover the relationships between
        namespaces when referring to them through file descriptors.
      
        The big user visible change is starting to add simple resource limits
        to catch programs that misbehave. With namespaces in general and user
        namespaces in particular allowing users to use more kinds of
        resources, it has become important to have something to limit errant
        programs. Because the purpose of these limits is to catch errant
        programs the code needs to be inexpensive to use as it always on, and
        the default limits need to be high enough that well behaved programs
        on well behaved systems don't encounter them.
      
        To this end, after some review I have implemented per user per user
        namespace limits, and use them to limit the number of namespaces. The
        limits being per user mean that one user can not exhause the limits of
        another user. The limits being per user namespace allow contexts where
        the limit is 0 and security conscious folks can remove from their
        threat anlysis the code used to manage namespaces (as they have
        historically done as it root only). At the same time the limits being
        per user namespace allow other parts of the system to use namespaces.
      
        Namespaces are increasingly being used in application sand boxing
        scenarios so an all or nothing disable for the entire system for the
        security conscious folks makes increasing use of these sandboxes
        impossible.
      
        There is also added a limit on the maximum number of mounts present in
        a single mount namespace. It is nontrivial to guess what a reasonable
        system wide limit on the number of mount structure in the kernel would
        be, especially as it various based on how a system is using
        containers. A limit on the number of mounts in a mount namespace
        however is much easier to understand and set. In most cases in
        practice only about 1000 mounts are used. Given that some autofs
        scenarious have the potential to be 30,000 to 50,000 mounts I have set
        the default limit for the number of mounts at 100,000 which is well
        above every known set of users but low enough that the mount hash
        tables don't degrade unreaonsably.
      
        These limits are a start. I expect this estabilishes a pattern that
        other limits for resources that namespaces use will follow. There has
        been interest in making inotify event limits per user per user
        namespace as well as interest expressed in making details about what
        is going on in the kernel more visible"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (28 commits)
        autofs:  Fix automounts by using current_real_cred()->uid
        mnt: Add a per mount namespace limit on the number of mounts
        netns: move {inc,dec}_net_namespaces into #ifdef
        nsfs: Simplify __ns_get_path
        tools/testing: add a test to check nsfs ioctl-s
        nsfs: add ioctl to get a parent namespace
        nsfs: add ioctl to get an owning user namespace for ns file descriptor
        kernel: add a helper to get an owning user namespace for a namespace
        devpts: Change the owner of /dev/pts/ptmx to the mounter of /dev/pts
        devpts: Remove sync_filesystems
        devpts: Make devpts_kill_sb safe if fsi is NULL
        devpts: Simplify devpts_mount by using mount_nodev
        devpts: Move the creation of /dev/pts/ptmx into fill_super
        devpts: Move parse_mount_options into fill_super
        userns: When the per user per user namespace limit is reached return ENOSPC
        userns; Document per user per user namespace limits.
        mntns: Add a limit on the number of mount namespaces.
        netns: Add a limit on the number of net namespaces
        cgroupns: Add a limit on the number of cgroup namespaces
        ipcns: Add a  limit on the number of ipc namespaces
        ...
      14986a34
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 8d370595
      Linus Torvalds authored
      Pull xfs and iomap updates from Dave Chinner:
       "The main things in this update are the iomap-based DAX infrastructure,
        an XFS delalloc rework, and a chunk of fixes to how log recovery
        schedules writeback to prevent spurious corruption detections when
        recovery of certain items was not required.
      
        The other main chunk of code is some preparation for the upcoming
        reflink functionality. Most of it is generic and cleanups that stand
        alone, but they were ready and reviewed so are in this pull request.
      
        Speaking of reflink, I'm currently planning to send you another pull
        request next week containing all the new reflink functionality. I'm
        working through a similar process to the last cycle, where I sent the
        reverse mapping code in a separate request because of how large it
        was. The reflink code merge is even bigger than reverse mapping, so
        I'll be doing the same thing again....
      
        Summary for this update:
      
         - change of XFS mailing list to linux-xfs@vger.kernel.org
      
         - iomap-based DAX infrastructure w/ XFS and ext2 support
      
         - small iomap fixes and additions
      
         - more efficient XFS delayed allocation infrastructure based on iomap
      
         - a rework of log recovery writeback scheduling to ensure we don't
           fail recovery when trying to replay items that are already on disk
      
         - some preparation patches for upcoming reflink support
      
         - configurable error handling fixes and documentation
      
         - aio access time update race fixes for XFS and
           generic_file_read_iter"
      
      * tag 'xfs-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (40 commits)
        fs: update atime before I/O in generic_file_read_iter
        xfs: update atime before I/O in xfs_file_dio_aio_read
        ext2: fix possible integer truncation in ext2_iomap_begin
        xfs: log recovery tracepoints to track current lsn and buffer submission
        xfs: update metadata LSN in buffers during log recovery
        xfs: don't warn on buffers not being recovered due to LSN
        xfs: pass current lsn to log recovery buffer validation
        xfs: rework log recovery to submit buffers on LSN boundaries
        xfs: quiesce the filesystem after recovery on readonly mount
        xfs: remote attribute blocks aren't really userdata
        ext2: use iomap to implement DAX
        ext2: stop passing buffer_head to ext2_get_blocks
        xfs: use iomap to implement DAX
        xfs: refactor xfs_setfilesize
        xfs: take the ilock shared if possible in xfs_file_iomap_begin
        xfs: fix locking for DAX writes
        dax: provide an iomap based fault handler
        dax: provide an iomap based dax read/write path
        dax: don't pass buffer_head to copy_user_dax
        dax: don't pass buffer_head to dax_insert_mapping
        ...
      8d370595