1. 18 Nov, 2017 30 commits
  2. 17 Nov, 2017 4 commits
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · a3841f94
      Linus Torvalds authored
      Pull libnvdimm and dax updates from Dan Williams:
       "Save for a few late fixes, all of these commits have shipped in -next
        releases since before the merge window opened, and 0day has given a
        build success notification.
      
        The ext4 touches came from Jan, and the xfs touches have Darrick's
        reviewed-by. An xfstest for the MAP_SYNC feature has been through
        a few round of reviews and is on track to be merged.
      
         - Introduce MAP_SYNC and MAP_SHARED_VALIDATE, a mechanism to enable
           'userspace flush' of persistent memory updates via filesystem-dax
           mappings. It arranges for any filesystem metadata updates that may
           be required to satisfy a write fault to also be flushed ("on disk")
           before the kernel returns to userspace from the fault handler.
           Effectively every write-fault that dirties metadata completes an
           fsync() before returning from the fault handler. The new
           MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag
           is validated as supported by the filesystem's ->mmap() file
           operation.
      
         - Add support for the standard ACPI 6.2 label access methods that
           replace the NVDIMM_FAMILY_INTEL (vendor specific) label methods.
           This enables interoperability with environments that only implement
           the standardized methods.
      
         - Add support for the ACPI 6.2 NVDIMM media error injection methods.
      
         - Add support for the NVDIMM_FAMILY_INTEL v1.6 DIMM commands for
           latch last shutdown status, firmware update, SMART error injection,
           and SMART alarm threshold control.
      
         - Cleanup physical address information disclosures to be root-only.
      
         - Fix revalidation of the DIMM "locked label area" status to support
           dynamic unlock of the label area.
      
         - Expand unit test infrastructure to mock the ACPI 6.2 Translate SPA
           (system-physical-address) command and error injection commands.
      
        Acknowledgements that came after the commits were pushed to -next:
      
         - 957ac8c4 ("dax: fix PMD faults on zero-length files"):
      Reviewed-by: default avatarRoss Zwisler <[email protected]>
      
         - a39e596b ("xfs: support for synchronous DAX faults") and
           7b565c9f ("xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()")
              Reviewed-by: Darrick J. Wong <darr[email protected]>"
      
      * tag 'libnvdimm-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (49 commits)
        acpi, nfit: add 'Enable Latch System Shutdown Status' command support
        dax: fix general protection fault in dax_alloc_inode
        dax: fix PMD faults on zero-length files
        dax: stop requiring a live device for dax_flush()
        brd: remove dax support
        dax: quiet bdev_dax_supported()
        fs, dax: unify IOMAP_F_DIRTY read vs write handling policy in the dax core
        tools/testing/nvdimm: unit test clear-error commands
        acpi, nfit: validate commands against the device type
        tools/testing/nvdimm: stricter bounds checking for error injection commands
        xfs: support for synchronous DAX faults
        xfs: Implement xfs_filemap_pfn_mkwrite() using __xfs_filemap_fault()
        ext4: Support for synchronous DAX faults
        ext4: Simplify error handling in ext4_dax_huge_fault()
        dax: Implement dax_finish_sync_fault()
        dax, iomap: Add support for synchronous faults
        mm: Define MAP_SYNC and VM_SYNC flags
        dax: Allow tuning whether dax_insert_mapping_entry() dirties entry
        dax: Allow dax_iomap_fault() to return pfn
        dax: Fix comment describing dax_iomap_fault()
        ...
      a3841f94
    • Linus Torvalds's avatar
      Merge tag 'for-4.15/dm-changes-2' of... · adeba81a
      Linus Torvalds authored
      Merge tag 'for-4.15/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull  more device mapper updates from Mike Snitzer:
       "Given your expected travel I figured I'd get these fixes to you sooner
        rather than later.
      
         - a DM multipath [email protected] fix to silence an annoying error message
           that isn't _really_ an error
      
         - a DM core @stable fix for discard support that was enabled for an
           entire DM device despite only having partial support for discards
           due to a mix of discard capabilities across the underlying devices.
      
         - a couple other DM core discard fixes.
      
         - a DM bufio @stable fix that resolves a 32-bit overflow"
      
      * tag 'for-4.15/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm bufio: fix integer overflow when limiting maximum cache size
        dm: clear all discard attributes in queue_limits when discards are disabled
        dm: do not set 'discards_supported' in targets that do not need it
        dm: discard support requires all targets in a table support discards
        dm mpath: remove annoying message of 'blk_get_request() returned -11'
      adeba81a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 854ac870
      Linus Torvalds authored
      Pull rdma maintainership update from Doug Ledford:
       "Add Jason Gunthorpe as co-maintainer of the RDMA stack.
      
        The change is simply to add Jason Gunthorpe to the MAINTAINERS file
        for the RDMA stack (and update him in the .mailmap). Jason and I have
        talked offline, and Jason will be filing a ticket with the k.o
        helpdesk to get an account on k.o, and then we will likely move the
        rdma tree to an area where we can both access it and use a shared repo
        + individual topic branches + merged up for-next branch as the staging
        basis for each release.
      
        Timing here is nice because in the US we are headed into a holiday
        period whereas Jason will be around to keep the patch flow progressing
        (I guess Canadians do their equivalent to Thanksgiving in October, so
        he doesn't have an excuse to ignore email for the next week ;-))"
      
      [ .. and Konstantin already got Jason his kernel.org account between the
        pull request and this actual pull    - Linus ]
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        RDMA: Add Jason Gunthorpe as a co-maintainer
      854ac870
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cf9b0772
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "This branch contains platform-related driver updates for ARM and
        ARM64, these are the areas that bring the changes:
      
        New drivers:
      
         - driver support for Renesas R-Car V3M (R8A77970)
      
         - power management support for Amlogic GX
      
         - a new driver for the Tegra BPMP thermal sensor
      
         - a new bus driver for Technologic Systems NBUS
      
        Changes for subsystems that prefer to merge through arm-soc:
      
         - the usual updates for reset controller drivers from Philipp Zabel,
           with five added drivers for SoCs in the arc, meson, socfpa,
           uniphier and mediatek families
      
         - updates to the ARM SCPI and PSCI frameworks, from Sudeep Holla,
           Heiner Kallweit and Lorenzo Pieralisi
      
        Changes specific to some ARM-based SoC
      
         - the Freescale/NXP DPAA QBMan drivers from PowerPC can now work on
           ARM as well
      
         - several changes for power management on Broadcom SoCs
      
         - various improvements on Qualcomm, Broadcom, Amlogic, Atmel,
           Mediatek
      
         - minor Cleanups for Samsung, TI OMAP SoCs"
      
      [ NOTE! This doesn't work without the previous ARM SoC device-tree pull,
        because the R8A77970 driver is missing a header file that came from
        that pull.
      
        The fact that this got merged afterwards only fixes it at this point,
        and bisection of that driver will fail if/when you walk into the
        history of that driver.           - Linus ]
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (96 commits)
        soc: amlogic: meson-gx-pwrc-vpu: fix power-off when powered by bootloader
        bus: add driver for the Technologic Systems NBUS
        memory: omap-gpmc: Remove deprecated gpmc_update_nand_reg()
        soc: qcom: remove unused label
        soc: amlogic: gx pm domain: add PM and OF dependencies
        drivers/firmware: psci_checker: Add missing destroy_timer_on_stack()
        dt-bindings: power: add amlogic meson power domain bindings
        soc: amlogic: add Meson GX VPU Domains driver
        soc: qcom: Remote filesystem memory driver
        dt-binding: soc: qcom: Add binding for rmtfs memory
        of: reserved_mem: Accessor for acquiring reserved_mem
        of/platform: Generalize /reserved-memory handling
        soc: mediatek: pwrap: fix fatal compiler error
        soc: mediatek: pwrap: fix compiler errors
        arm64: mediatek: cleanup message for platform selection
        soc: Allow test-building of MediaTek drivers
        soc: mediatek: place Kconfig for all SoC drivers under menu
        soc: mediatek: pwrap: add support for MT7622 SoC
        soc: mediatek: pwrap: add common way for setup CS timing extenstion
        soc: mediatek: pwrap: add MediaTek MT6380 as one slave of pwrap
        ..
      cf9b0772
  3. 16 Nov, 2017 6 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 527d1470
      Linus Torvalds authored
      Pull ARM device-tree updates from Arnd Bergmann:
       "We add device tree files for a couple of additional SoCs in various
        areas:
      
        Allwinner R40/V40 for entertainment, Broadcom Hurricane 2 for
        networking, Amlogic A113D for audio, and Renesas R-Car V3M for
        automotive.
      
        As usual, lots of new boards get added based on those and other SoCs:
      
         - Actions S500 based CubieBoard6 single-board computer
      
         - Amlogic Meson-AXG A113D based development board
         - Amlogic S912 based Khadas VIM2 single-board computer
         - Amlogic S912 based Tronsmart Vega S96 set-top-box
      
         - Allwinner H5 based NanoPi NEO Plus2 single-board computer
         - Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers
         - Allwinner A83T based TBS A711 Tablet
      
         - Broadcom Hurricane 2 based Ubiquiti UniFi Switch 8
         - Broadcom bcm47xx based Luxul XAP-1440/XAP-810/ABR-4500/XBR-4500
           wireless access points and routers
      
         - NXP i.MX51 based Zodiac Inflight Innovations RDU1 board
         - NXP i.MX53 based GE Healthcare PPD biometric monitor
         - NXP i.MX6 based Pistachio single-board computer
         - NXP i.MX6 based Vining-2000 automotive diagnostic interface
         - NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants
      
         - Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone
         - Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet
      
         - Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA
      
         - Renesas R-Car V3M (R8A77970) SoC and "Eagle" reference board
         - Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards
         - Renasas r8a7745 based iWave G22D-SODIMM SoM
      
         - Rockchip rk3288 based Amarula Vyasa single-board computer
      
         - Samsung Exynos5800 based Odroid HC1 single-board computer
      
        For existing SoC support, there was a lot of ongoing work, as usual
        most of that concentrated on the Renesas, Rockchip, OMAP, i.MX,
        Amlogic and Allwinner platforms, but others were also active.
      
        Rob Herring and many others worked on reducing the number of issues
        that the latest version of 'dtc' now warns about. Unfortunately there
        is still a lot left to do.
      
        A rework of the ARM foundation model introduced several new files for
        common variations of the model"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (599 commits)
        arm64: dts: uniphier: route on-board device IRQ to GPIO controller for PXs3
        dt-bindings: bus: Add documentation for the Technologic Systems NBUS
        arm64: dts: actions: s900-bubblegum-96: Add fake uart5 clock
        ARM: dts: owl-s500: Add CubieBoard6
        dt-bindings: arm: actions: Add CubieBoard6
        ARM: dts: owl-s500-guitar-bb-rev-b: Add fake uart3 clock
        ARM: dts: owl-s500: Set power domains for CPU2 and CPU3
        arm: dts: mt7623: remove unused compatible string for pio node
        arm: dts: mt7623: update usb related nodes
        arm: dts: mt7623: update crypto node
        ARM: dts: sun8i: a711: Enable USB OTG
        ARM: dts: sun8i: a711: Add regulator support
        ARM: dts: sun8i: a83t: bananapi-m3: Enable AP6212 WiFi on mmc1
        ARM: dts: sun8i: a83t: cubietruck-plus: Enable AP6330 WiFi on mmc1
        ARM: dts: sun8i: a83t: Move mmc1 pinctrl setting to dtsi file
        ARM: dts: sun8i: a83t: allwinner-h8homlet-v2: Add AXP818 regulator nodes
        ARM: dts: sun8i: a83t: bananapi-m3: Add AXP813 regulator nodes
        ARM: dts: sun8i: a83t: cubietruck-plus: Add AXP818 regulator nodes
        ARM: dts: sunxi: Add dtsi for AXP81x PMIC
        arm64: dts: allwinner: H5: Restore EMAC changes
        ...
      527d1470
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8c609698
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "Most of the commits are for defconfig changes, to enable newly added
        drivers or features that people have started using. For the changed
        lines lines, we have mostly cleanups, the affected platforms are OMAP,
        Versatile, EP93xx, Samsung, Broadcom, i.MX, and Actions.
      
        The largest single change is the introduction of the TI "sysc" bus
        driver, with the intention of cleaning up more legacy code.
      
        Two new SoC platforms get added this time:
      
         - Allwinner R40 is a modernized version of the A20 chip, now with a
           Quad-Core ARM Cortex-A7. According to the manufacturer, it is
           intended for "Smart Hardware"
      
         - Broadcom Hurricane 2 (Aka Strataconnect BCM5334X) is a family of
           chips meant for managed gigabit ethernet switches, based around a
           Cortex-A9 CPU.
      
        Finally, we gain SMP support for two platforms: Renesas R-Car E2 and
        Amlogic Meson8/8b, which were previously added but only supported
        uniprocessor operation"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (118 commits)
        ARM: multi_v7_defconfig: Select RPMSG_VIRTIO as module
        ARM: multi_v7_defconfig: enable CONFIG_GPIO_UNIPHIER
        arm64: defconfig: enable CONFIG_GPIO_UNIPHIER
        ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8b
        ARM: meson: Add SMP bringup code for Meson8 and Meson8b
        ARM: smp_scu: allow the platform code to read the SCU CPU status
        ARM: smp_scu: add a helper for powering on a specific CPU
        dt-bindings: Amlogic: Add Meson8 and Meson8b SMP related documentation
        ARM: OMAP3: Delete an unnecessary variable initialisation in omap3xxx_hwmod_init()
        ARM: OMAP3: Use common error handling code in omap3xxx_hwmod_init()
        ARM: defconfig: select the right SX150X driver
        arm64: defconfig: Enable QCOM_IOMMU
        arm64: Add ThunderX drivers to defconfig
        arm64: defconfig: Enable Tegra PCI controller
        cpufreq: imx6q: Move speed grading check to cpufreq driver
        arm64: defconfig: re-enable Qualcomm DB410c USB
        ARM: configs: stm32: Add MDMA support in STM32 defconfig
        ARM: imx: Enable cpuidle for i.MX6DL starting at 1.1
        bus: ti-sysc: Fix unbalanced pm_runtime_enable by adding remove
        bus: ti-sysc: mark PM functions as __maybe_unused
        ...
      8c609698
    • Eric Biggers's avatar
      dm bufio: fix integer overflow when limiting maximum cache size · 74d4108d
      Eric Biggers authored
      The default max_cache_size_bytes for dm-bufio is meant to be the lesser
      of 25% of the size of the vmalloc area and 2% of the size of lowmem.
      However, on 32-bit systems the intermediate result in the expression
      
          (VMALLOC_END - VMALLOC_START) * DM_BUFIO_VMALLOC_PERCENT / 100
      
      overflows, causing the wrong result to be computed.  For example, on a
      32-bit system where the vmalloc area is 520093696 bytes, the result is
      1174405 rather than the expected 130023424, which makes the maximum
      cache size much too small (far less than 2% of lowmem).  This causes
      severe performance problems for dm-verity users on affected systems.
      
      Fix this by using mult_frac() to correctly multiply by a percentage.  Do
      this for all places in dm-bufio that multiply by a percentage.  Also
      replace (VMALLOC_END - VMALLOC_START) with VMALLOC_TOTAL, which contrary
      to the comment is now defined in include/linux/vmalloc.h.
      
      Depends-on: 9993bc63 ("sched/x86: Fix overflow in cyc2ns_offset")
      Fixes: 95d402f0 ("dm: add bufio")
      Cc: <[email protected]> # v3.2+
      Signed-off-by: default avatarEric Biggers <[email protected]>
      Signed-off-by: default avatarMike Snitzer <[email protected]>
      74d4108d
    • Mike Snitzer's avatar
      dm: clear all discard attributes in queue_limits when discards are disabled · 5d47c89f
      Mike Snitzer authored
      Otherwise, it can happen that the QUEUE_FLAG_DISCARD isn't set but the
      various discard attributes (which get exposed via sysfs) may be set.
      Signed-off-by: default avatarMike Snitzer <[email protected]>
      5d47c89f
    • Mike Snitzer's avatar
      dm: do not set 'discards_supported' in targets that do not need it · 7dea378b
      Mike Snitzer authored
      The DM target's 'discards_supported' flag is intended to act as an
      override.  Meaning, even if the underlying storage doesn't support
      discards the DM target will.
      Signed-off-by: default avatarMike Snitzer <[email protected]>
      7dea378b
    • Mike Snitzer's avatar
      dm: discard support requires all targets in a table support discards · 8a74d29d
      Mike Snitzer authored
      A DM device with a mix of discard capabilities (due to some underlying
      devices not having discard support) _should_ just return -EOPNOTSUPP for
      the region of the device that doesn't support discards (even if only by
      way of the underlying driver formally not supporting discards).  BUT,
      that does ask the underlying driver to handle something that it never
      advertised support for.  In doing so we're exposing users to the
      potential for a underlying disk driver hanging if/when a discard is
      issued a the device that is incapable and never claimed to support
      discards.
      
      Fix this by requiring that each DM target in a DM table provide discard
      support as a prereq for a DM device to advertise support for discards.
      
      This may cause some configurations that were happily supporting discards
      (even in the face of a mix of discard support) to stop supporting
      discards -- but the risk of users hitting driver hangs, and forced
      reboots, outweighs supporting those fringe mixed discard
      configurations.
      
      Cc: [email protected]
      Signed-off-by: default avatarMike Snitzer <[email protected]>
      8a74d29d