1. 12 Sep, 2017 3 commits
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · c971aa36
      Linus Torvalds authored
      Pull thermal updates from Zhang Rui:
      
       - fix resources release in error paths when registering thermal zone.
         (Christophe Jaillet)
      
       - introduce a new thermal driver for on-chip PVT (Process, Voltage and
         Temperature) monitoring unit implemented on UniPhier SoCs. This
         driver supports temperature monitoring and alert function. (Kunihiko
         Hayashi)
      
       - Add support for mt2712 chip in the mtk_thermal driver. (Louis Yu)
      
       - Add support for RK3328 SOC in rockchip_thermal driver. (Rocky Hao)
      
       - cleanup a couple of platform thermal drivers to constify
         thermal_zone_of_device_ops structures. (Julia Lawall)
      
       - a couple of fixes in int340x and intel_pch_thermal thermal driver.
         (Arvind Yadav, Sumeet Pawnikar, Brian Bian, Ed Swierk, Zhang Rui)
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (27 commits)
        Thermal: int3406_thermal: fix thermal sysfs I/F
        thermal: mediatek: minor mtk_thermal.c cleanups
        thermal: mediatek: extend calibration data for mt2712 chip
        thermal: mediatek: add Mediatek thermal driver for mt2712
        dt-bindings: thermal: Add binding document for Mediatek thermal controller
        thermal: intel_pch_thermal: Fix enable check on Broadwell-DE
        thermal: rockchip: Support the RK3328 SOC in thermal driver
        dt-bindings: rockchip-thermal: Support the RK3328 SoC compatible
        thermal: bcm2835: constify thermal_zone_of_device_ops structures
        thermal: exynos: constify thermal_zone_of_device_ops structures
        thermal: zx2967: constify thermal_zone_of_device_ops structures
        thermal: rcar_gen3_thermal: constify thermal_zone_of_device_ops structures
        thermal: qoriq: constify thermal_zone_of_device_ops structures
        thermal: hisilicon: constify thermal_zone_of_device_ops structures
        thermal: core: Fix resources release in error paths in thermal_zone_device_register()
        thermal: core: Use the new 'thermal_zone_destroy_device_groups()' helper function
        thermal: core: Add some new helper functions to free resources
        thermal: int3400_thermal: process "thermal table changed" event
        thermal: uniphier: add UniPhier thermal driver
        dt-bindings: thermal: add binding documentation for UniPhier thermal monitor
        ...
      c971aa36
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.14-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8e7757d8
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Hightlights include:
      
        Stable bugfixes:
         - Fix mirror allocation in the writeback code to avoid a use after
           free
         - Fix the O_DSYNC writes to use the correct byte range
         - Fix 2 use after free issues in the I/O code
      
        Features:
         - Writeback fixes to split up the inode->i_lock in order to reduce
           contention
         - RPC client receive fixes to reduce the amount of time the
           xprt->transport_lock is held when receiving data from a socket into
           am XDR buffer.
         - Ditto fixes to reduce contention between call side users of the
           rdma rb_lock, and its use in rpcrdma_reply_handler.
         - Re-arrange rdma stats to reduce false cacheline sharing.
         - Various rdma cleanups and optimisations.
         - Refactor the NFSv4.1 exchange id code and clean up the code.
         - Const-ify all instances of struct rpc_xprt_ops
      
        Bugfixes:
         - Fix the NFSv2 'sec=' mount option.
         - NFSv4.1: don't use machine credentials for CLOSE when using
           'sec=sys'
         - Fix the NFSv3 GRANT callback when the port changes on the server.
         - Fix livelock issues with COMMIT
         - NFSv4: Use correct inode in _nfs4_opendata_to_nfs4_state() when
           doing and NFSv4.1 open by filehandle"
      
      * tag 'nfs-for-4.14-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (69 commits)
        NFS: Count the bytes of skipped subrequests in nfs_lock_and_join_requests()
        NFS: Don't hold the group lock when calling nfs_release_request()
        NFS: Remove pnfs_generic_transfer_commit_list()
        NFS: nfs_lock_and_join_requests and nfs_scan_commit_list can deadlock
        NFS: Fix 2 use after free issues in the I/O code
        NFS: Sync the correct byte range during synchronous writes
        lockd: Delete an error message for a failed memory allocation in reclaimer()
        NFS: remove jiffies field from access cache
        NFS: flush data when locking a file to ensure cache coherence for mmap.
        SUNRPC: remove some dead code.
        NFS: don't expect errors from mempool_alloc().
        xprtrdma: Use xprt_pin_rqst in rpcrdma_reply_handler
        xprtrdma: Re-arrange struct rx_stats
        NFS: Fix NFSv2 security settings
        NFSv4.1: don't use machine credentials for CLOSE when using 'sec=sys'
        SUNRPC: ECONNREFUSED should cause a rebind.
        NFS: Remove unused parameter gfp_flags from nfs_pageio_init()
        NFSv4: Fix up mirror allocation
        SUNRPC: Add a separate spinlock to protect the RPC request receive list
        SUNRPC: Cleanup xs_tcp_read_common()
        ...
      8e7757d8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · dd198ce7
      Linus Torvalds authored
      Pull namespace updates from Eric Biederman:
       "Life has been busy and I have not gotten half as much done this round
        as I would have liked. I delayed it so that a minor conflict
        resolution with the mips tree could spend a little time in linux-next
        before I sent this pull request.
      
        This includes two long delayed user namespace changes from Kirill
        Tkhai. It also includes a very useful change from Serge Hallyn that
        allows the security capability attribute to be used inside of user
        namespaces. The practical effect of this is people can now untar
        tarballs and install rpms in user namespaces. It had been suggested to
        generalize this and encode some of the namespace information
        information in the xattr name. Upon close inspection that makes the
        things that should be hard easy and the things that should be easy
        more expensive.
      
        Then there is my bugfix/cleanup for signal injection that removes the
        magic encoding of the siginfo union member from the kernel internal
        si_code. The mips folks reported the case where I had used FPE_FIXME
        me is impossible so I have remove FPE_FIXME from mips, while at the
        same time including a return statement in that case to keep gcc from
        complaining about unitialized variables.
      
        I almost finished the work to get make copy_siginfo_to_user a trivial
        copy to user. The code is available at:
      
           git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git neuter-copy_siginfo_to_user-v3
      
        But I did not have time/energy to get the code posted and reviewed
        before the merge window opened.
      
        I was able to see that the security excuse for just copying fields
        that we know are initialized doesn't work in practice there are buggy
        initializations that don't initialize the proper fields in siginfo. So
        we still sometimes copy unitialized data to userspace"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        Introduce v3 namespaced file capabilities
        mips/signal: In force_fcr31_sig return in the impossible case
        signal: Remove kernel interal si_code magic
        fcntl: Don't use ambiguous SIG_POLL si_codes
        prctl: Allow local CAP_SYS_ADMIN changing exe_file
        security: Use user_namespace::level to avoid redundant iterations in cap_capable()
        userns,pidns: Verify the userns for new pid namespaces
        signal/testing: Don't look for __SI_FAULT in userspace
        signal/mips: Document a conflict with SI_USER with SIGFPE
        signal/sparc: Document a conflict with SI_USER with SIGFPE
        signal/ia64: Document a conflict with SI_USER with SIGFPE
        signal/alpha: Document a conflict with SI_USER for SIGTRAP
      dd198ce7
  2. 11 Sep, 2017 8 commits
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 89fd915c
      Linus Torvalds authored
      Pull libnvdimm from Dan Williams:
       "A rework of media error handling in the BTT driver and other updates.
        It has appeared in a few -next releases and collected some late-
        breaking build-error and warning fixups as a result.
      
        Summary:
      
         - Media error handling support in the Block Translation Table (BTT)
           driver is reworked to address sleeping-while-atomic locking and
           memory-allocation-context conflicts.
      
         - The dax_device lookup overhead for xfs and ext4 is moved out of the
           iomap hot-path to a mount-time lookup.
      
         - A new 'ecc_unit_size' sysfs attribute is added to advertise the
           read-modify-write boundary property of a persistent memory range.
      
         - Preparatory fix-ups for arm and powerpc pmem support are included
           along with other miscellaneous fixes"
      
      * tag 'libnvdimm-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (26 commits)
        libnvdimm, btt: fix format string warnings
        libnvdimm, btt: clean up warning and error messages
        ext4: fix null pointer dereference on sbi
        libnvdimm, nfit: move the check on nd_reserved2 to the endpoint
        dax: fix FS_DAX=n BLOCK=y compilation
        libnvdimm: fix integer overflow static analysis warning
        libnvdimm, nd_blk: remove mmio_flush_range()
        libnvdimm, btt: rework error clearing
        libnvdimm: fix potential deadlock while clearing errors
        libnvdimm, btt: cache sector_size in arena_info
        libnvdimm, btt: ensure that flags were also unchanged during a map_read
        libnvdimm, btt: refactor map entry operations with macros
        libnvdimm, btt: fix a missed NVDIMM_IO_ATOMIC case in the write path
        libnvdimm, nfit: export an 'ecc_unit_size' sysfs attribute
        ext4: perform dax_device lookup at mount
        ext2: perform dax_device lookup at mount
        xfs: perform dax_device lookup at mount
        dax: introduce a fs_dax_get_by_bdev() helper
        libnvdimm, btt: check memory allocation failure
        libnvdimm, label: fix index block size calculation
        ...
      89fd915c
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.14-rc1' of... · 66c9457d
      Linus Torvalds authored
      Merge tag 'pwm/for-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "The changes for this release include a new driver for the PWM
        controller found on SoCs of the ZTX ZX family. Support for an old
        SH-Mobile SoC has been dropped and the Rockchip and MediaTek drivers
        gain support for more generations.
      
        Other than that there are a bunch of coding style fixes, minor bug
        fixes and cleanup as well as documentation patches"
      
      * tag 'pwm/for-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (32 commits)
        pwm: pwm-samsung: fix suspend/resume support
        pwm: samsung: Remove redundant checks from pwm_samsung_config()
        pwm: mediatek: Disable clock on PWM configuration failure
        dt-bindings: pwm: Add MT2712/MT7622 information
        pwm: mediatek: Fix clock control issue
        pwm: mediatek: Fix PWM source clock selection
        pwm: mediatek: Fix Kconfig description
        pwm: tegra: Explicitly request exclusive reset control
        pwm: hibvt: Explicitly request exclusive reset control
        pwm: tiehrpwm: Set driver data before runtime PM enable
        pwm: tiehrpwm: Miscellaneous coding style fixups
        pwm: tiecap: Set driver data before runtime PM enable
        pwm: tiecap: Miscellaneous coding style fixups
        dt-bindings: pwm: tiecap: Add TI 66AK2G SoC specific compatible
        pwm: tiehrpwm: fix clock imbalance in probe error path
        pwm: tiehrpwm: Fix runtime PM imbalance at unbind
        pwm: Kconfig: Enable pwm-tiecap to be built for Keystone
        pwm: Add ZTE ZX PWM device driver
        dt-bindings: pwm: Add bindings doc for ZTE ZX PWM controller
        pwm: bcm2835: Support for polarity setting via DT
        ...
      66c9457d
    • Linus Torvalds's avatar
      Merge branch 'bt-fix' (bluetooth fixes from Marcel) · 669bf77a
      Linus Torvalds authored
      Pull bluetooth fix from Marcel Holtmann:
       "All of our mgmt-tester, l2cap-test and rfcomm-tester unit tests are
        passing with this patch"
      
      * emailed patch from Marcel Holtmann <marcel@holtmann.org>:
        Bluetooth: Properly check L2CAP config option output buffer length
      669bf77a
    • Linus Torvalds's avatar
      Revert "firmware: add sanity check on shutdown/suspend" · f007cad1
      Linus Torvalds authored
      This reverts commit 81f95076.
      
      It causes random failures of firmware loading at resume time (well,
      random for me, it seems to be more reliable for others) because the
      firmware disabling is not actually synchronous with any particular
      resume event, and at least the btusb driver that uses a workqueue to
      load the firmware at resume seems to occasionally hit the "firmware
      loading is disabled" logic because the firmware loader hasn't gotten the
      resume event yet.
      
      Some kind of sanity check for not trying to load firmware when it's not
      possible might be a good thing, but this commit was not it.
      
      Greg seems to have silently suffered the same issue, and pointed to the
      likely culprit, and Gabriel C verified the revert fixed it for him too.
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Pointed-at-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Tested-by: default avatarGabriel C <nix.or.die@gmail.com>
      Cc: Luis R. Rodriguez <mcgrof@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f007cad1
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 64414e5f
      Linus Torvalds authored
      Pull m68knommu updates from Greg Ungerer:
       "Only two changes. One removes unused code, the other makes local clock
        code arguments consistent with generic clock code"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68knommu: remove dead code
        m68k: allow NULL clock for clk_get_rate
      64414e5f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e90937e7
      Linus Torvalds authored
      Pull ARM/arm64 Devicetree updates from Olof Johansson:
       "As usual, device tree updates is the bulk of our material in this
        merge window. This time around, 559 patches affecting both 32- and
        64-bit platforms.
      
        Changes are too many to list individually, but some of the larger
        ones:
      
        New platform/SoC support:
      
         - Automotive:
           + Renesas R-Car D3 (R8A77995)
           + TI DT76x
           + MediaTek mt2712e
         - Communication-oriented:
           + Qualcomm IPQ8074
           + Broadcom Stingray
           + Marvell Armada 8080
         - Set top box:
           + Uniphier PXs3
      
        Besides some vendor reference boards for the SoC above, there are also
        several new boards/machines:
      
         - TI AM335x Moxa UC-8100-ME-T open platform
         - TI AM57xx Beaglebone X15 Rev C
         - Microchip/Atmel sama5d27 SoM1 EK
         - Broadcom Raspberry Pi Zero W
         - Gemini-based D-Link DIR-685 router
         - Freescale i.MX6:
           + Toradex Apalis module + Apalis and Ixora carrier boards
           + Engicam GEAM6UL Starter Kit
         - Freescale i.MX53-based Beckhoff CX9020 Embedded PC
         - Mediatek mt7623-based BananaPi R2
         - Several Allwinner-based single-board computers:
        + Cubietruck plus
        + Bananapi M3, M2M and M64
        + NanoPi A64
        + A64-OLinuXino
        + Pine64
         - Rockchip RK3328 Pine64/Rock64 board support
         - Rockchip RK3399 boards:
        + RK3399 Sapphire module on Excavator carrier (RK3399 reference design)
        + Theobroma Systems RK3399-Q7 SoM
         - ZTE ZX296718 PCBOX Board"
      
      * tag 'armsoc-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (559 commits)
        ARM: dts: at91: at91sam9g45: add AC97
        arm64: dts: marvell: mcbin: enable more networking ports
        arm64: dts: marvell: add a reference to the sysctrl syscon in the ppv2 node
        arm64: dts: marvell: add TX interrupts for PPv2.2
        arm64: dts: uniphier: add PXs3 SoC support
        ARM: dts: uniphier: add pinctrl groups of ethernet phy mode
        ARM: dts: uniphier: fix size of sdctrl nodes
        ARM: dts: uniphier: add AIDET nodes
        arm64: dts: uniphier: fix size of sdctrl node
        arm64: dts: uniphier: add AIDET nodes
        Revert "ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Beelink X2"
        arm64: dts: uniphier: add reset controller node of analog amplifier
        arm64: dts: marvell: add Device Tree files for Armada-8KP
        arm64: dts: rockchip: add Haikou baseboard with RK3399-Q7 SoM
        arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM
        dt-bindings: add rk3399-q7 SoM
        ARM: dts: rockchip: enable usb for rv1108-evb
        ARM: dts: rockchip: add usb nodes for rv1108 SoCs
        dt-bindings: update grf-binding for rv1108 SoCs
        ARM: dts: aspeed-g4: fix AHB window size of the SMC controllers
        ...
      e90937e7
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ae46654b
      Linus Torvalds authored
      Pull ARM SoC driver updates from Olof Johansson:
       "This branch contains platform-related driver updates for ARM and ARM64.
      
        Among them:
      
         - Reset driver updates:
           + New API for dealing with arrays of resets
           + Make unimplemented {de,}assert return success on shared resets
           + MSDKv1 driver
           + Removal of obsolete Gemini reset driver
           + Misc updates for sunxi and Uniphier
      
         - SoC drivers:
           + Platform SoC driver registration on Tegra
           + Shuffle of Qualcomm drivers into a submenu
           + Allwinner A64 support for SRAM
           + Renesas R-Car R3 support
           + Power domains for Rockchip RK3366
      
         - Misc updates and smaller fixes for TEE and memory driver
           subsystems"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        firmware: arm_scpi: fix endianness of dev_id in struct dev_pstate_set
        soc/tegra: fuse: Add missing semi-colon
        soc/tegra: Restrict SoC device registration to Tegra
        drivers: soc: sunxi: add support for A64 and its SRAM C
        drivers: soc: sunxi: add support for remapping func value to reg value
        drivers: soc: sunxi: fix error processing on base address when claiming
        dt-bindings: add binding for Allwinner A64 SRAM controller and SRAM C
        bus: sunxi-rsb: Enable by default for ARM64
        soc/tegra: Register SoC device
        firmware: tegra: set drvdata earlier
        memory: Convert to using %pOF instead of full_name
        soc: Convert to using %pOF instead of full_name
        bus: Convert to using %pOF instead of full_name
        firmware: Convert to using %pOF instead of full_name
        soc: mediatek: add SCPSYS power domain driver for MediaTek MT7622 SoC
        soc: mediatek: add header files required for MT7622 SCPSYS dt-binding
        soc: mediatek: reduce code duplication of scpsys_probe across all SoCs
        dt-bindings: soc: update the binding document for SCPSYS on MediaTek MT7622 SoC
        reset: uniphier: add analog amplifiers reset control
        reset: uniphier: add video input subsystem reset control
        ...
      ae46654b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-platforms' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 7f1b9be1
      Linus Torvalds authored
      Pull ARM/arm64 SoC platform updates from Olof Johansson: "This branch
        contains platform updates for 32- and 64-bit ARM, including defconfig
        updates to enable new options, drivers and platforms. There are also a
        few fixes and cleanups for some existing vendors.
      
        Some of the things worth highlighting here are:
      
         - Enabling new crypt drivers on arm64 defconfig
      
         - QCOM IPQ8074 clocks and pinctrl drivers on arm64 defconfig
      
         - Debug support enabled for Renesas r8a7743
      
         - Various config updates for Renesas platforms (sound, USB, other
           drivers)
      
         - Platform support (including SMP) for TI dra762
      
         - OMAP cleanups: Move to use generic 8250 debug_ll, removal of stale
           DMA code"
      
      * tag 'armsoc-platforms' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (109 commits)
        ARM: multi_v7_defconfig: make eSDHC driver built-in
        arm64: defconfig: enable rockchip graphics
        MAINTAINERS: Update Cavium ThunderX2 entry
        ARM: config: aspeed: Add I2C, VUART, LPC Snoop
        ARM: configs: aspeed: Update Aspeed G4 with VMSPLIT_2G
        ARM: s3c24xx: Fix NAND ECC mode for mini2440 board
        ARM: davinci_all_defconfig: enable tinydrm and ST7586
        arm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl
        ARM: defconfig: tegra: Enable ChipIdea UDC driver
        ARM: configs: Add Tegra I2S interfaces to multi_v7_defconfig
        ARM: tegra: Add Tegra I2S interfaces to defconfig
        ARM: tegra: Update default configuration for v4.13-rc1
        MAINTAINERS: update ARM/ZTE entry
        soc: versatile: remove unnecessary static in realview_soc_probe()
        ARM: Convert to using %pOF instead of full_name
        ARM: hisi: Fix typo in comment
        ARM: multi_v7_defconfig: add CONFIG_BRCMSTB_THERMAL
        arm64: defconfig: add CONFIG_BRCMSTB_THERMAL
        arm64: defconfig: add recently added crypto drivers as modules
        arm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOG
        ...
      7f1b9be1
  3. 10 Sep, 2017 6 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · d719518d
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Use register window state adjustment instructions when available,
          from Anthony Yznaga.
      
       2) Add VCC console concentrator driver, from Jag Raman.
      
       3) Add 16GB hugepage support, from Nitin Gupta.
      
       4) Support cpu 'poke' hypercall, from Vijay Kumar.
      
       5) Add M7/M8 optimized memcpy/memset/copy_{to,from}_user, from Babu
          Moger.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (33 commits)
        sparc64: Handle additional cases of no fault loads
        sparc64: speed up etrap/rtrap on NG2 and later processors
        sparc64: vcc: make ktermios const
        sparc: leon: grpci1: constify of_device_id
        sparc: leon: grpci2: constify of_device_id
        sparc64: vcc: Check for IS_ERR() instead of NULL
        sparc64: Cleanup hugepage table walk functions
        sparc64: Add 16GB hugepage support
        sparc64: Support huge PUD case in get_user_pages
        sparc64: vcc: Add install & cleanup TTY operations
        sparc64: vcc: Add break_ctl TTY operation
        sparc64: vcc: Add chars_in_buffer TTY operation
        sparc64: vcc: Add write & write_room TTY operations
        sparc64: vcc: Add hangup TTY operation
        sparc64: vcc: Add open & close TTY operations
        sparc64: vcc: Enable LDC event processing engine
        sparc64: vcc: Add RX & TX timer for delayed LDC operation
        sparc64: vcc: Create sysfs attribute group
        sparc64: vcc: Enable VCC port probe and removal
        sparc64: vcc: TTY driver initialization and cleanup
        ...
      d719518d
    • Geert Uytterhoeven's avatar
      m68k: Add braces to __pmd(x) initializer to kill compiler warning · 4c2b5e0f
      Geert Uytterhoeven authored
      With gcc 4.1.2:
      
          include/linux/swapops.h: In function ‘swp_entry_to_pmd’:
          include/linux/swapops.h:294: warning: missing braces around initializer
          include/linux/swapops.h:294: warning: (near initialization for ‘(anonymous).pmd’)
      
      Due to a GCC zero initializer bug (#53119), the standard "(pmd_t){ 0 }"
      initializer is not accepted by all GCC versions.
      In addition, on m68k pmd_t is an array instead of a single value, so we
      need "(pmd_t){ { 0 }, }" instead of "(pmd_t){ 0 }".
      
      Based on commit 9157259d ("mm: add pmd_t initializer __pmd() to
      work around a GCC bug.") for sparc32.
      
      Fixes: 616b8371 ("mm: thp: enable thp migration in generic path")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4c2b5e0f
    • Andy Lutomirski's avatar
      x86/mm/64: Fix an incorrect warning with CONFIG_DEBUG_VM=y, !PCID · 7898f796
      Andy Lutomirski authored
      I've been staring at the word PCID too long.
      
      Fixes: f13c8e8c58ba ("x86/mm: Reinitialize TLB state on hotplug and resume")
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7898f796
    • Rob Gardner's avatar
      sparc64: Handle additional cases of no fault loads · b6fe1089
      Rob Gardner authored
      Load instructions using ASI_PNF or other no-fault ASIs should not
      cause a SIGSEGV or SIGBUS.
      
      A garden variety unmapped address follows the TSB miss path, and when
      no valid mapping is found in the process page tables, the miss handler
      checks to see if the access was via a no-fault ASI.  It then fixes up
      the target register with a zero, and skips the no-fault load
      instruction.
      
      But different paths are taken for data access exceptions and alignment
      traps, and these do not respect the no-fault ASI. We add checks in
      these paths for the no-fault ASI, and fix up the target register and
      TPC just like in the TSB miss case.
      Signed-off-by: default avatarRob Gardner <rob.gardner@oracle.com>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6fe1089
    • Anthony Yznaga's avatar
      sparc64: speed up etrap/rtrap on NG2 and later processors · a7159a87
      Anthony Yznaga authored
      For many sun4v processor types, reading or writing a privileged register
      has a latency of 40 to 70 cycles.  Use a combination of the low-latency
      allclean, otherw, normalw, and nop instructions in etrap and rtrap to
      replace 2 rdpr and 5 wrpr instructions and improve etrap/rtrap
      performance.  allclean, otherw, and normalw are available on NG2 and
      later processors.
      
      The average ticks to execute the flush windows trap ("ta 0x3") with and
      without this patch on select platforms:
      
       CPU            Not patched     Patched    % Latency Reduction
      
       NG2            1762            1558            -11.58
       NG4            3619            3204            -11.47
       M7             3015            2624            -12.97
       SPARC64-X      829             770              -7.12
      Signed-off-by: default avatarAnthony Yznaga <anthony.yznaga@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a7159a87
    • Ben Seri's avatar
      Bluetooth: Properly check L2CAP config option output buffer length · e860d2c9
      Ben Seri authored
      Validate the output buffer length for L2CAP config requests and responses
      to avoid overflowing the stack buffer used for building the option blocks.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBen Seri <ben@armis.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e860d2c9
  4. 09 Sep, 2017 23 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4dfc2788
      Linus Torvalds authored
      Pull IOMMU updates from Joerg Roedel:
       "Slightly more changes than usual this time:
      
         - KDump Kernel IOMMU take-over code for AMD IOMMU. The code now tries
           to preserve the mappings of the kernel so that master aborts for
           devices are avoided. Master aborts cause some devices to fail in
           the kdump kernel, so this code makes the dump more likely to
           succeed when AMD IOMMU is enabled.
      
         - common flush queue implementation for IOVA code users. The code is
           still optional, but AMD and Intel IOMMU drivers had their own
           implementation which is now unified.
      
         - finish support for iommu-groups. All drivers implement this feature
           now so that IOMMU core code can rely on it.
      
         - finish support for 'struct iommu_device' in iommu drivers. All
           drivers now use the interface.
      
         - new functions in the IOMMU-API for explicit IO/TLB flushing. This
           will help to reduce the number of IO/TLB flushes when IOMMU drivers
           support this interface.
      
         - support for mt2712 in the Mediatek IOMMU driver
      
         - new IOMMU driver for QCOM hardware
      
         - system PM support for ARM-SMMU
      
         - shutdown method for ARM-SMMU-v3
      
         - some constification patches
      
         - various other small improvements and fixes"
      
      * tag 'iommu-updates-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (87 commits)
        iommu/vt-d: Don't be too aggressive when clearing one context entry
        iommu: Introduce Interface for IOMMU TLB Flushing
        iommu/s390: Constify iommu_ops
        iommu/vt-d: Avoid calling virt_to_phys() on null pointer
        iommu/vt-d: IOMMU Page Request needs to check if address is canonical.
        arm/tegra: Call bus_set_iommu() after iommu_device_register()
        iommu/exynos: Constify iommu_ops
        iommu/ipmmu-vmsa: Make ipmmu_gather_ops const
        iommu/ipmmu-vmsa: Rereserving a free context before setting up a pagetable
        iommu/amd: Rename a few flush functions
        iommu/amd: Check if domain is NULL in get_domain() and return -EBUSY
        iommu/mediatek: Fix a build warning of BIT(32) in ARM
        iommu/mediatek: Fix a build fail of m4u_type
        iommu: qcom: annotate PM functions as __maybe_unused
        iommu/pamu: Fix PAMU boot crash
        memory: mtk-smi: Degrade SMI init to module_init
        iommu/mediatek: Enlarge the validate PA range for 4GB mode
        iommu/mediatek: Disable iommu clock when system suspend
        iommu/mediatek: Move pgtable allocation into domain_alloc
        iommu/mediatek: Merge 2 M4U HWs into one iommu domain
        ...
      4dfc2788
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20170904' of git://git.infradead.org/linux-mtd · a59e57da
      Linus Torvalds authored
      Pull MTD updates from Boris Brezillon:
       "General updates:
         - Constify pci_device_id in various drivers
         - Constify device_type
         - Remove pad control code from the Gemini driver
         - Use %pOF to print OF node full_name
         - Various fixes in the physmap_of driver
         - Remove unused vars in mtdswap
         - Check devm_kzalloc() return value in the spear_smi driver
         - Check clk_prepare_enable() return code in the st_spi_fsm driver
         - Create per MTD device debugfs enties
      
        NAND updates, from Boris Brezillon:
         - Fix memory leaks in the core
         - Remove unused NAND locking support
         - Rename nand.h into rawnand.h (preparing support for spi NANDs)
         - Use NAND_MAX_ID_LEN where appropriate
         - Fix support for 20nm Hynix chips
         - Fix support for Samsung and Hynix SLC NANDs
         - Various cleanup, improvements and fixes in the qcom driver
         - Fixes for bugs detected by various static code analysis tools
         - Fix mxc ooblayout definition
         - Add a new part_parsers to tmio and sharpsl platform data in order
           to define a custom list of partition parsers
         - Request the reset line in exclusive mode in the sunxi driver
         - Fix a build error in the orion-nand driver when compiled for ARMv4
         - Allow 64-bit mvebu platforms to select the PXA3XX driver
      
        SPI NOR updates, from Cyrille Pitchen and Marek Vasut:
         - add support to the JEDEC JESD216B specification (SFDP tables).
         - add support to the Intel Denverton SPI flash controller.
         - fix error recovery for Spansion/Cypress SPI NOR memories.
         - fix 4-byte address management for the Aspeed SPI controller.
         - add support to some Microchip SST26 memory parts
         - remove unneeded pinctrl header Write a message for tag:"
      
      * tag 'for-linus-20170904' of git://git.infradead.org/linux-mtd: (74 commits)
        mtd: nand: complain loudly when chip->bits_per_cell is not correctly initialized
        mtd: nand: make Samsung SLC NAND usable again
        mtd: nand: tmio: Register partitions using the parsers
        mfd: tmio: Add partition parsers platform data
        mtd: nand: sharpsl: Register partitions using the parsers
        mtd: nand: sharpsl: Add partition parsers platform data
        mtd: nand: qcom: Support for IPQ8074 QPIC NAND controller
        mtd: nand: qcom: support for IPQ4019 QPIC NAND controller
        dt-bindings: qcom_nandc: IPQ8074 QPIC NAND documentation
        dt-bindings: qcom_nandc: IPQ4019 QPIC NAND documentation
        dt-bindings: qcom_nandc: fix the ipq806x device tree example
        mtd: nand: qcom: support for different DEV_CMD register offsets
        mtd: nand: qcom: QPIC data descriptors handling
        mtd: nand: qcom: enable BAM or ADM mode
        mtd: nand: qcom: erased codeword detection configuration
        mtd: nand: qcom: support for read location registers
        mtd: nand: qcom: support for passing flags in DMA helper functions
        mtd: nand: qcom: add BAM DMA descriptor handling
        mtd: nand: qcom: allocate BAM transaction
        mtd: nand: qcom: DMA mapping support for register read buffer
        ...
      a59e57da
    • Linus Torvalds's avatar
      Merge tag 'for-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 0ce5c79f
      Linus Torvalds authored
      Pull power supply and reset changes from Sebastian Reichel:
       "New chip/feature support:
         - bq27xxx: support updating battery config from DT
         - bq24190: support loading battery charge info from DT
         - LTC2941: add LTC2942/LTC2944 support
         - max17042: add ACPI support
         - max1721x: new driver
      
        Misc:
         - Move bq27xxx w1 driver from w1 into power-supply subsystem
         - Introduce power_supply_set_input_current_limit_from_supplier
         - constify stuff
         - some minor fixes"
      
      * tag 'for-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (39 commits)
        power: supply: bq27xxx: enable writing capacity values for bq27421
        power: supply: bq24190_charger: Get input_current_limit from our supplier
        power: supply: bq24190_charger: Export 5V boost converter as regulator
        power: supply: bq24190_charger: Add power_supply_battery_info support
        power: supply: bq24190_charger: Add property system-minimum-microvolt
        power: supply: bq24190_charger: Enable devicetree config
        dt-bindings: power: supply: Add docs for TI BQ24190 battery charger
        power: supply: bq27xxx: Remove duplicate chip data arrays
        power: supply: bq27xxx: Enable data memory update for certain chips
        power: supply: bq27xxx: Add chip IDs for previously shadowed chips
        power: supply: bq27xxx: Create single chip data table
        power: supply: bq24190_charger: Add ti,bq24192i to devicetree table
        power: supply: bq24190_charger: Add input_current_limit property
        power: supply: Add power_supply_set_input_current_limit_from_supplier helper
        power: supply: max17042_battery: Fix compiler warning
        power: supply: core: Delete two error messages for a failed memory allocation in power_supply_check_supplies()
        power: supply: make device_attribute const
        power: supply: max17042_battery: Fix ACPI interrupt issues
        power: supply: max17042_battery: Add support for ACPI enumeration
        power: supply: lp8788: Make several arrays static const * const
        ...
      0ce5c79f
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.14' of git://github.com/andersson/remoteproc · 7151202b
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This extends the Qualcomm GLINK implementation to support the
        additional features used for communicating with modem and DSP
        coprocessors in modern Qualcomm platforms.
      
        In addition to this there's support for placing virtio RPMSG buffers
        in non-System RAM"
      
      * tag 'rpmsg-v4.14' of git://github.com/andersson/remoteproc: (29 commits)
        rpmsg: glink: initialize ret to zero to ensure error status check is correct
        rpmsg: glink: fix null pointer dereference on a null intent
        dt-bindings: soc: qcom: Extend GLINK to cover SMEM
        remoteproc: qcom: adsp: Allow defining GLINK edge
        rpmsg: glink: Export symbols from common code
        rpmsg: glink: Release idr lock before returning on error
        rpmsg: glink: Handle remote rx done command
        rpmsg: glink: Request for intents when unavailable
        rpmsg: glink: Use the intents passed by remote
        rpmsg: glink: Receive and store the remote intent buffers
        rpmsg: glink: Add announce_create ops and preallocate intents
        rpmsg: glink: Add rx done command
        rpmsg: glink: Make RX FIFO peak accessor to take an offset
        rpmsg: glink: Use the local intents when receiving data
        rpmsg: glink: Add support for TX intents
        rpmsg: glink: Fix idr_lock from mutex to spinlock
        rpmsg: glink: Add support for transport version negotiation
        rpmsg: glink: Introduce glink smem based transport
        rpmsg: glink: Do a mbox_free_channel in remove
        rpmsg: glink: Return -EAGAIN when there is no FIFO space
        ...
      7151202b
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.14' of git://github.com/andersson/remoteproc · d7efc352
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds and improves remoteproc support for TI DA8xx/OMAP-L13x DSP,
        TI Keystone 66AK2G DSP and iMX6SX/7D Cortex M4 coprocessors. It
        introduces the Qualcomm restart notifier and a few fixes"
      
      * tag 'rproc-v4.14' of git://github.com/andersson/remoteproc:
        remoteproc: Introduce rproc handle accessor for children
        remoteproc: qcom: Make ssr_notifiers local
        remoteproc: Stop subdevices in reverse order
        remoteproc: imx_rproc: add a NXP/Freescale imx_rproc driver
        remoteproc: dt: Provide bindings for iMX6SX/7D Remote Processor Controller driver
        remoteproc: qcom: Use PTR_ERR_OR_ZERO
        remoteproc: st: explicitly request exclusive reset control
        remoteproc: qcom: explicitly request exclusive reset control
        remoteproc/keystone: explicitly request exclusive reset control
        remoteproc/keystone: Add support for Keystone 66AK2G SOCs
        remoteproc/davinci: Add device tree support for OMAP-L138 DSP
        dt-bindings: remoteproc: Add bindings for Davinci DSP processors
        remoteproc/davinci: Add support to parse internal memories
        remoteproc/davinci: Switch to platform_get_resource_byname()
        remoteproc: make device_type const
        soc: qcom: GLINK SSR notifier
        remoteproc: qcom: Add support for SSR notifications
        remoteproc: Merge __rproc_boot() with rproc_boot()
      d7efc352
    • Linus Torvalds's avatar
      Merge tag 'vfio-v4.14-rc1' of git://github.com/awilliam/linux-vfio · 8c1d70b2
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Base MSI remapping on either IOMMU domain or IRQ domain support
         (Robin Murphy)
      
       - Prioritize hardware MSI regions over software defined regions (Robin
         Murphy)
      
       - Fix no-iommu reference counting (Eric Auger)
      
       - Stall removing last device from group for container cleanup (Alex
         Williamson)
      
       - Constify amba_id (Arvind Yadav)
      
      * tag 'vfio-v4.14-rc1' of git://github.com/awilliam/linux-vfio:
        vfio: platform: constify amba_id
        vfio: Stall vfio_del_group_dev() for container group detach
        vfio: fix noiommu vfio_iommu_group_get reference count
        vfio/type1: Give hardware MSI regions precedence
        vfio/type1: Cope with hardware MSI reserved regions
      8c1d70b2
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · d2d8f51e
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
      
       - new drivers for Spreadtrum I2C, Intel Cherry Trail Whiskey Cove SMBUS
      
       - quite some driver updates
      
       - cleanups for the i2c-mux subsystem
      
       - some subsystem-wide constification
      
       - further cleanup of include/linux/i2c
      
      * 'i2c/for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (50 commits)
        i2c: sprd: Fix undefined reference errors
        i2c: nomadik: constify amba_id
        i2c: versatile: Make i2c_algo_bit_data const
        i2c: busses: make i2c_adapter_quirks const
        i2c: busses: make i2c_adapter const
        i2c: busses: make i2c_algorithm const
        i2c: Add Spreadtrum I2C controller driver
        dt-bindings: i2c: Add Spreadtrum I2C controller documentation
        i2c-cht-wc: make cht_wc_i2c_adap_driver static
        MAINTAINERS: Add entry for drivers/i2c/busses/i2c-cht-wc.c
        i2c: aspeed: Retain delay/setup/hold values when configuring bus frequency
        dt-bindings: i2c: eeprom: Document vendor to be used and deprecated ones
        i2c: i801: Restore the presence state of P2SB PCI device after reading BAR
        MAINTAINERS: drop entry for Blackfin I2C and Sonic's email
        blackfin: merge the two TWI header files
        i2c: davinci: Preserve return value of devm_clk_get
        i2c: mediatek: Add i2c compatible for MediaTek MT7622
        dt-bindings: i2c: Add MediaTek MT7622 i2c binding
        dt-bindings: i2c: modify information formats
        i2c: mux: i2c-arb-gpio-challenge: allow compiling w/o OF support
        ...
      d2d8f51e
    • Trond Myklebust's avatar
      NFS: Count the bytes of skipped subrequests in nfs_lock_and_join_requests() · 1bd5d6d0
      Trond Myklebust authored
      If we skip a subrequest due to a zero refcount, we should still count
      the byte range that it covered so that we accurately reconstruct the
      original request size.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      1bd5d6d0
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.14' of git://linux-nfs.org/~bfields/linux · ad9a19d0
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "More RDMA work and some op-structure constification from Chuck Lever,
        and a small cleanup to our xdr encoding"
      
      * tag 'nfsd-4.14' of git://linux-nfs.org/~bfields/linux:
        svcrdma: Estimate Send Queue depth properly
        rdma core: Add rdma_rw_mr_payload()
        svcrdma: Limit RQ depth
        svcrdma: Populate tail iovec when receiving
        nfsd: Incoming xdr_bufs may have content in tail buffer
        svcrdma: Clean up svc_rdma_build_read_chunk()
        sunrpc: Const-ify struct sv_serv_ops
        nfsd: Const-ify NFSv4 encoding and decoding ops arrays
        sunrpc: Const-ify instances of struct svc_xprt_ops
        nfsd4: individual encoders no longer see error cases
        nfsd4: skip encoder in trivial error cases
        nfsd4: define ->op_release for compound ops
        nfsd4: opdesc will be useful outside nfs4proc.c
        nfsd4: move some nfsd4 op definitions to xdr4.h
      ad9a19d0
    • Linus Torvalds's avatar
      Merge branch 'for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 66ba772e
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "The changes range through all types: cleanups, core chagnes, sanity
        checks, fixes, other user visible changes, detailed list below:
      
         - deprecated: user transaction ioctl
      
         - mount option ssd does not change allocation alignments
      
         - degraded read-write mount is allowed if all the raid profile
           constraints are met, now based on more accurate check
      
         - defrag: do not reset compression afterwards; the NOCOMPRESS flag
           can be now overriden by defrag
      
         - prep work for better extent reference tracking (related to the
           qgroup slowness with balance)
      
         - prep work for compression heuristics
      
         - memory allocation reductions (may help latencies on a loaded
           system)
      
         - better accounting for io waiting states
      
         - error handling improvements (removed BUGs)
      
         - added more sanity checks for shared refs
      
         - fix readdir vs pagefault deadlock under some circumstances
      
         - fix for 'no-hole' mode, certain combination of compressed and
           inline extents
      
         - send: fix emission of invalid clone operations
      
         - fixup file mode if setting acls fail
      
         - more fixes from fuzzing
      
         - oher cleanups"
      
      * 'for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (104 commits)
        btrfs: submit superblock io with REQ_META and REQ_PRIO
        btrfs: remove unnecessary memory barrier in btrfs_direct_IO
        btrfs: remove superfluous chunk_tree argument from btrfs_alloc_dev_extent
        btrfs: Remove chunk_objectid parameter of btrfs_alloc_dev_extent
        btrfs: pass fs_info to btrfs_del_root instead of tree_root
        Btrfs: add one more sanity check for shared ref type
        Btrfs: remove BUG_ON in __add_tree_block
        Btrfs: remove BUG() in add_data_reference
        Btrfs: remove BUG() in print_extent_item
        Btrfs: remove BUG() in btrfs_extent_inline_ref_size
        Btrfs: convert to use btrfs_get_extent_inline_ref_type
        Btrfs: add a helper to retrive extent inline ref type
        btrfs: scrub: simplify scrub worker initialization
        btrfs: scrub: clean up division in scrub_find_csum
        btrfs: scrub: clean up division in __scrub_mark_bitmap
        btrfs: scrub: use bool for flush_all_writes
        btrfs: preserve i_mode if __btrfs_set_acl() fails
        btrfs: Remove extraneous chunk_objectid variable
        btrfs: Remove chunk_objectid argument from btrfs_make_block_group
        btrfs: Remove extra parentheses from condition in copy_items()
        ...
      66ba772e
    • Linus Torvalds's avatar
      Merge branch 'for-4.14/block-postmerge' of git://git.kernel.dk/linux-block · 126e76ff
      Linus Torvalds authored
      Pull followup block layer updates from Jens Axboe:
       "I ended up splitting the main pull request for this series into two,
        mainly because of clashes between NVMe fixes that went into 4.13 after
        the for-4.14 branches were split off. This pull request is mostly
        NVMe, but not exclusively. In detail, it contains:
      
         - Two pull request for NVMe changes from Christoph. Nothing new on
           the feature front, basically just fixes all over the map for the
           core bits, transport, rdma, etc.
      
         - Series from Bart, cleaning up various bits in the BFQ scheduler.
      
         - Series of bcache fixes, which has been lingering for a release or
           two. Coly sent this in, but patches from various people in this
           area.
      
         - Set of patches for BFQ from Paolo himself, updating both
           documentation and fixing some corner cases in performance.
      
         - Series from Omar, attempting to now get the 4k loop support
           correct. Our confidence level is higher this time.
      
         - Series from Shaohua for loop as well, improving O_DIRECT
           performance and fixing a use-after-free"
      
      * 'for-4.14/block-postmerge' of git://git.kernel.dk/linux-block: (74 commits)
        bcache: initialize dirty stripes in flash_dev_run()
        loop: set physical block size to logical block size
        bcache: fix bch_hprint crash and improve output
        bcache: Update continue_at() documentation
        bcache: silence static checker warning
        bcache: fix for gc and write-back race
        bcache: increase the number of open buckets
        bcache: Correct return value for sysfs attach errors
        bcache: correct cache_dirty_target in __update_writeback_rate()
        bcache: gc does not work when triggering by manual command
        bcache: Don't reinvent the wheel but use existing llist API
        bcache: do not subtract sectors_to_gc for bypassed IO
        bcache: fix sequential large write IO bypass
        bcache: Fix leak of bdev reference
        block/loop: remove unused field
        block/loop: fix use after free
        bfq: Use icq_to_bic() consistently
        bfq: Suppress compiler warnings about comparisons
        bfq: Check kstrtoul() return value
        bfq: Declare local functions static
        ...
      126e76ff
    • Trond Myklebust's avatar
      NFS: Don't hold the group lock when calling nfs_release_request() · 8b77484f
      Trond Myklebust authored
      That can deadlock if this is the last reference since
      nfs_page_group_destroy() calls nfs_page_group_sync_on_bit().
      Note that even if the page was removed from the subpage list,
      the req->wb_head could still be pointing to the old head.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      8b77484f
    • Randy Dunlap's avatar
      libnvdimm, btt: fix format string warnings · 04c3c982
      Randy Dunlap authored
      Fix format warnings (seen on i386) in nvdimm/btt.c:
      
      ../drivers/nvdimm/btt.c: In function ‘btt_map_init’:
      ../drivers/nvdimm/btt.c:430:3: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
         dev_WARN_ONCE(to_dev(arena), size < 512,
         ^
      ../drivers/nvdimm/btt.c: In function ‘btt_log_init’:
      ../drivers/nvdimm/btt.c:474:3: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=]
         dev_WARN_ONCE(to_dev(arena), size < 512,
         ^
      
      Fixes: 86652d2e ("libnvdimm, btt: clean up warning and error messages")
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Cc: Vishal Verma <vishal.l.verma@intel.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      04c3c982
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · fbd01410
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "The iwlwifi firmware compat fix is in here as well as some other
        stuff:
      
        1) Fix request socket leak introduced by BPF deadlock fix, from Eric
           Dumazet.
      
        2) Fix VLAN handling with TXQs in mac80211, from Johannes Berg.
      
        3) Missing __qdisc_drop conversions in prio and qfq schedulers, from
           Gao Feng.
      
        4) Use after free in netlink nlk groups handling, from Xin Long.
      
        5) Handle MTU update properly in ipv6 gre tunnels, from Xin Long.
      
        6) Fix leak of ipv6 fib tables on netns teardown, from Sabrina Dubroca
           with follow-on fix from Eric Dumazet.
      
        7) Need RCU and preemption disabled during generic XDP data patch,
           from John Fastabend"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)
        bpf: make error reporting in bpf_warn_invalid_xdp_action more clear
        Revert "mdio_bus: Remove unneeded gpiod NULL check"
        bpf: devmap, use cond_resched instead of cpu_relax
        bpf: add support for sockmap detach programs
        net: rcu lock and preempt disable missing around generic xdp
        bpf: don't select potentially stale ri->map from buggy xdp progs
        net: tulip: Constify tulip_tbl
        net: ethernet: ti: netcp_core: no need in netif_napi_del
        davicom: Display proper debug level up to 6
        net: phy: sfp: rename dt properties to match the binding
        dt-binding: net: sfp binding documentation
        dt-bindings: add SFF vendor prefix
        dt-bindings: net: don't confuse with generic PHY property
        ip6_tunnel: fix setting hop_limit value for ipv6 tunnel
        ip_tunnel: fix setting ttl and tos value in collect_md mode
        ipv6: fix typo in fib6_net_exit()
        tcp: fix a request socket leak
        sctp: fix missing wake ups in some situations
        netfilter: xt_hashlimit: fix build error caused by 64bit division
        netfilter: xt_hashlimit: alloc hashtable with right size
        ...
      fbd01410
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · fbf4432f
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
      
       - most of the rest of MM
      
       - a small number of misc things
      
       - lib/ updates
      
       - checkpatch
      
       - autofs updates
      
       - ipc/ updates
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (126 commits)
        ipc: optimize semget/shmget/msgget for lots of keys
        ipc/sem: play nicer with large nsops allocations
        ipc/sem: drop sem_checkid helper
        ipc: convert kern_ipc_perm.refcount from atomic_t to refcount_t
        ipc: convert sem_undo_list.refcnt from atomic_t to refcount_t
        ipc: convert ipc_namespace.count from atomic_t to refcount_t
        kcov: support compat processes
        sh: defconfig: cleanup from old Kconfig options
        mn10300: defconfig: cleanup from old Kconfig options
        m32r: defconfig: cleanup from old Kconfig options
        drivers/pps: use surrounding "if PPS" to remove numerous dependency checks
        drivers/pps: aesthetic tweaks to PPS-related content
        cpumask: make cpumask_next() out-of-line
        kmod: move #ifdef CONFIG_MODULES wrapper to Makefile
        kmod: split off umh headers into its own file
        MAINTAINERS: clarify kmod is just a kernel module loader
        kmod: split out umh code into its own file
        test_kmod: flip INT checks to be consistent
        test_kmod: remove paranoid UINT_MAX check on uint range processing
        vfat: deduplicate hex2bin()
        ...
      fbf4432f
    • Linus Torvalds's avatar
      remove gperf left-overs from build system · c054be10
      Linus Torvalds authored
      I removed all the gperf use, but not the Makefile rules.  Sam Ravnborg
      says I get bonus points for cleaning this up.  I'll hold him to it.
      Requested-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c054be10
    • Trond Myklebust's avatar
      NFS: Remove pnfs_generic_transfer_commit_list() · 5d2a9d9d
      Trond Myklebust authored
      It's pretty much a duplicate of nfs_scan_commit_list() that also
      clears the PG_COMMIT_TO_DS flag.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      5d2a9d9d
    • Trond Myklebust's avatar
      NFS: nfs_lock_and_join_requests and nfs_scan_commit_list can deadlock · 137da553
      Trond Myklebust authored
      Since the commit list is not ordered, it is possible for nfs_scan_commit_list
      to hold a request that nfs_lock_and_join_requests() is waiting for, while
      at the same time trying to grab a request that nfs_lock_and_join_requests
      already holds.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      137da553
    • Daniel Borkmann's avatar
      bpf: make error reporting in bpf_warn_invalid_xdp_action more clear · 9beb8bed
      Daniel Borkmann authored
      Differ between illegal XDP action code and just driver
      unsupported one to provide better feedback when we throw
      a one-time warning here. Reason is that with 814abfab
      ("xdp: add bpf_redirect helper function") not all drivers
      support the new XDP return code yet and thus they will
      fall into their 'default' case when checking for return
      codes after program return, which then triggers a
      bpf_warn_invalid_xdp_action() stating that the return
      code is illegal, but from XDP perspective it's not.
      
      I decided not to place something like a XDP_ACT_MAX define
      into uapi i) given we don't have this either for all other
      program types, ii) future action codes could have further
      encoding there, which would render such define unsuitable
      and we wouldn't be able to rip it out again, and iii) we
      rarely add new action codes.
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9beb8bed
    • Florian Fainelli's avatar
      Revert "mdio_bus: Remove unneeded gpiod NULL check" · a010a2f6
      Florian Fainelli authored
      This reverts commit 95b80bf3 ("mdio_bus:
      Remove unneeded gpiod NULL check"), this commit assumed that GPIOLIB
      checks for NULL descriptors, so it's safe to drop them, but it is not
      when CONFIG_GPIOLIB is disabled in the kernel. If we do call
      gpiod_set_value_cansleep() on a GPIO descriptor we will issue warnings
      coming from the inline stubs declared in include/linux/gpio/consumer.h.
      
      Fixes: 95b80bf3 ("mdio_bus: Remove unneeded gpiod NULL check")
      Reported-by: default avatarWoojung Huh <Woojung.Huh@microchip.com>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a010a2f6
    • David S. Miller's avatar
      Merge branch 'xdp-bpf-fixes' · a7bc5774
      David S. Miller authored
      John Fastabend says:
      
      ====================
      net: Fixes for XDP/BPF
      
      The following fixes, UAPI updates, and small improvement,
      
      i. XDP needs to be called inside RCU with preempt disabled.
      
      ii. Not strictly a bug fix but we have an attach command in the
      sockmap UAPI already to avoid having a single kernel released with
      only the attach and not the detach I'm pushing this into net branch.
      Its early in the RC cycle so I think this is OK (not ideal but better
      than supporting a UAPI with a missing detach forever).
      
      iii. Final patch replace cpu_relax with cond_resched in devmap.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a7bc5774
    • John Fastabend's avatar
      bpf: devmap, use cond_resched instead of cpu_relax · 374fb014
      John Fastabend authored
      Be a bit more friendly about waiting for flush bits to complete.
      Replace the cpu_relax() with a cond_resched().
      Suggested-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      374fb014
    • John Fastabend's avatar
      bpf: add support for sockmap detach programs · 5a67da2a
      John Fastabend authored
      The bpf map sockmap supports adding programs via attach commands. This
      patch adds the detach command to keep the API symmetric and allow
      users to remove previously added programs. Otherwise the user would
      have to delete the map and re-add it to get in this state.
      
      This also adds a series of additional tests to capture detach operation
      and also attaching/detaching invalid prog types.
      
      API note: socks will run (or not run) programs depending on the state
      of the map at the time the sock is added. We do not for example walk
      the map and remove programs from previously attached socks.
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5a67da2a