1. 21 Mar, 2018 2 commits
    • Dan Williams's avatar
      libnvdimm, nfit: fix persistence domain reporting · fe9a552e
      Dan Williams authored
      The persistence domain is a point in the platform where once writes
      reach that destination the platform claims it will make them persistent
      relative to power loss. In the ACPI NFIT this is currently communicated
      as 2 bits in the "NFIT - Platform Capabilities Structure". The bits
      comprise a hierarchy, i.e. bit0 "CPU Cache Flush to NVDIMM Durability on
      Power Loss Capable" implies bit1 "Memory Controller Flush to NVDIMM
      Durability on Power Loss Capable".
      
      Commit 96c3a239 "libnvdimm: expose platform persistence attr..."
      shows the persistence domain as flags, but it's really an enumerated
      hierarchy.
      
      Fix this newly introduced user ABI to show the closest available
      persistence domain before userspace develops dependencies on seeing, or
      needing to develop code to tolerate, the raw NFIT flags communicated
      through the libnvdimm-generic region attribute.
      
      Fixes: 96c3a239 ("libnvdimm: expose platform persistence attr...")
      Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      fe9a552e
    • Dan Williams's avatar
      libnvdimm, region: hide persistence_domain when unknown · 896196dc
      Dan Williams authored
      Similar to other region attributes, do not emit the persistence_domain
      attribute if its contents are empty.
      
      Fixes: 96c3a239 ("libnvdimm: expose platform persistence attr...")
      Cc: Dave Jiang <dave.jiang@intel.com>
      Reviewed-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      896196dc
  2. 16 Mar, 2018 1 commit
  3. 14 Mar, 2018 2 commits
    • Dan Williams's avatar
      x86, memremap: fix altmap accounting at free · a7e6c701
      Dan Williams authored
      Commit 24b6d416 "mm: pass the vmem_altmap to vmemmap_free" converted
      the vmemmap_free() path to pass the altmap argument all the way through
      the call chain rather than looking it up based on the page.
      Unfortunately that ends up over freeing altmap allocated pages in some
      cases since free_pagetable() is used to free both memmap space and pte
      space, where only the memmap stored in huge pages uses altmap
      allocations.
      
      Given that altmap allocations for memmap space are special cased in
      vmemmap_populate_hugepages() add a symmetric / special case
      free_hugepage_table() to handle altmap freeing, and cleanup the unneeded
      passing of altmap to leaf functions that do not require it.
      
      Without this change the sanity check accounting in
      devm_memremap_pages_release() will throw a warning with the following
      signature.
      
       nd_pmem pfn10.1: devm_memremap_pages_release: failed to free all reserved pages
       WARNING: CPU: 44 PID: 3539 at kernel/memremap.c:310 devm_memremap_pages_release+0x1c7/0x220
       CPU: 44 PID: 3539 Comm: ndctl Tainted: G             L   4.16.0-rc1-linux-stable #7
       RIP: 0010:devm_memremap_pages_release+0x1c7/0x220
       [..]
       Call Trace:
        release_nodes+0x225/0x270
        device_release_driver_internal+0x15d/0x210
        bus_remove_device+0xe2/0x160
        device_del+0x130/0x310
        ? klist_release+0x56/0x100
        ? nd_region_notify+0xc0/0xc0 [libnvdimm]
        device_unregister+0x16/0x60
      
      This was missed in testing since not all configurations will trigger
      this warning.
      
      Fixes: 24b6d416 ("mm: pass the vmem_altmap to vmemmap_free")
      Reported-by: default avatarJane Chu <jane.chu@oracle.com>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      a7e6c701
    • Colin Ian King's avatar
      libnvdimm: remove redundant assignment to pointer 'dev' · 0cbfeef2
      Colin Ian King authored
      Pointer dev is being assigned a value that is never read, it is being
      re-assigned the same value later on, hence the initialization is redundant
      and can be removed.
      
      Cleans up clang warning:
      drivers/nvdimm/pfn_devs.c:307:17: warning: Value stored to 'dev' during
      its initialization is never read
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Reviewed-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      0cbfeef2
  4. 07 Mar, 2018 1 commit
  5. 06 Mar, 2018 1 commit
  6. 04 Mar, 2018 6 commits
    • Linus Torvalds's avatar
      Linux 4.16-rc4 · 661e50bc
      Linus Torvalds authored
      661e50bc
    • Linus Torvalds's avatar
      Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e64b9562
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A small set of fixes for x86:
      
         - Add missing instruction suffixes to assembly code so it can be
           compiled by newer GAS versions without warnings.
      
         - Switch refcount WARN exceptions to UD2 as we did in general
      
         - Make the reboot on Intel Edison platforms work
      
         - A small documentation update so text and sample command match"
      
      * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation, x86, resctrl: Make text and sample command match
        x86/platform/intel-mid: Handle Intel Edison reboot correctly
        x86/asm: Add instruction suffixes to bitops
        x86/entry/64: Add instruction suffix
        x86/refcounts: Switch to UD2 for exceptions
      e64b9562
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7225a442
      Linus Torvalds authored
      Pull x86/pti fixes from Thomas Gleixner:
       "Three fixes related to melted spectrum:
      
         - Sync the cpu_entry_area page table to initial_page_table on 32 bit.
      
           Otherwise suspend/resume fails because resume uses
           initial_page_table and triggers a triple fault when accessing the
           cpu entry area.
      
         - Zero the SPEC_CTL MRS on XEN before suspend to address a
           shortcoming in the hypervisor.
      
         - Fix another switch table detection issue in objtool"
      
      * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu_entry_area: Sync cpu_entry_area to initial_page_table
        objtool: Fix another switch table detection issue
        x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
      7225a442
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4c4ce302
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A small set of fixes from the timer departement:
      
         - Add a missing timer wheel clock forward when migrating timers off a
           unplugged CPU to prevent operating on a stale clock base and
           missing timer deadlines.
      
         - Use the proper shift count to extract data from a register value to
           prevent evaluating unrelated bits
      
         - Make the error return check in the FSL timer driver work correctly.
           Checking an unsigned variable for less than zero does not really
           work well.
      
         - Clarify the confusing comments in the ARC timer code"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timers: Forward timer base before migrating timers
        clocksource/drivers/arc_timer: Update some comments
        clocksource/drivers/mips-gic-timer: Use correct shift count to extract data
        clocksource/drivers/fsl_ftm_timer: Fix error return checking
      4c4ce302
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ff8d5836
      Linus Torvalds authored
      Pull irq fixlet from Thomas Gleixner:
       "Just a documentation update for the missing device tree property of
        the R-Car M3N interrupt controller"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        dt-bindings/irqchip/renesas-irqc: Document R-Car M3-N support
      ff8d5836
    • Linus Torvalds's avatar
      Merge tag 'for-4.16-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · af8c0816
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - when NR_CPUS is large, a SRCU structure can significantly inflate
         size of the main filesystem structure that would not be possible to
         allocate by kmalloc, so the kvalloc fallback is used
      
       - improved error handling
      
       - fix endiannes when printing some filesystem attributes via sysfs,
         this is could happen when a filesystem is moved between different
         endianity hosts
      
       - send fixes: the NO_HOLE mode should not send a write operation for a
         file hole
      
       - fix log replay for for special files followed by file hardlinks
      
       - fix log replay failure after unlink and link combination
      
       - fix max chunk size calculation for DUP allocation
      
      * tag 'for-4.16-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix log replay failure after unlink and link combination
        Btrfs: fix log replay failure after linking special file and fsync
        Btrfs: send, fix issuing write op when processing hole in no data mode
        btrfs: use proper endianness accessors for super_copy
        btrfs: alloc_chunk: fix DUP stripe size handling
        btrfs: Handle btrfs_set_extent_delalloc failure in relocate_file_extent_cluster
        btrfs: handle failure of add_pending_csums
        btrfs: use kvzalloc to allocate btrfs_fs_info
      af8c0816
  7. 03 Mar, 2018 11 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 58bdf601
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "A driver fix and a documentation fix (which makes dependency handling
        for the next cycle easier)"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: octeon: Prevent error message on bus error
        dt-bindings: at24: sort manufacturers alphabetically
      58bdf601
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 20f14172
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A 4.16 regression fix, three fixes for -stable, and a cleanup fix:
      
         - During the merge window support for the new ACPI NVDIMM Platform
           Capabilities structure disabled support for "deep flush", a
           force-unit- access like mechanism for persistent memory. Restore
           that mechanism.
      
         - VFIO like RDMA is yet one more memory registration / pinning
           interface that is incompatible with Filesystem-DAX. Disable long
           term pins of Filesystem-DAX mappings via VFIO.
      
         - The Filesystem-DAX detection to prevent long terms pins mistakenly
           also disabled Device-DAX pins which are not subject to the same
           block- map collision concerns.
      
         - Similar to the setup path, softlockup warnings can trigger in the
           shutdown path for large persistent memory namespaces. Teach
           for_each_device_pfn() to perform cond_resched() in all cases.
      
         - Boaz noticed that the might_sleep() in dax_direct_access() is stale
           as of the v4.15 kernel.
      
        These have received a build success notification from the 0day robot,
        and the longterm pin fixes have appeared in -next. However, I recently
        rebased the tree to remove some other fixes that need to be reworked
        after review feedback.
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        memremap: fix softlockup reports at teardown
        libnvdimm: re-enable deep flush for pmem devices via fsync()
        vfio: disable filesystem-dax page pinning
        dax: fix vma_is_fsdax() helper
        dax: ->direct_access does not sleep anymore
      20f14172
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v4.16' of... · 0eb3412a
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - suppress sparse warnings about unknown attributes
      
       - fix typos and stale comments
      
       - fix build error of arch/sh
      
       - fix wrong use of ld-option vs cc-ldoption
      
       - remove redundant GCC_PLUGINS_CFLAGS assignment
      
       - fix another memory leak of Kconfig
      
       - fix line number in error messages of Kconfig
      
       - do not write confusing CONFIG_DEFCONFIG_LIST out to .config
      
       - add xstrdup() to Kconfig to handle memory shortage errors
      
       - show also a Debian package name if ncurses is missing
      
      * tag 'kbuild-fixes-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        MAINTAINERS: take over Kconfig maintainership
        kconfig: fix line number in recursive inclusion error message
        Coccinelle: memdup: Fix typo in warning messages
        kconfig: Update ncurses package names for menuconfig
        kbuild/kallsyms: trivial typo fix
        kbuild: test --build-id linker flag by ld-option instead of cc-ldoption
        kbuild: drop superfluous GCC_PLUGINS_CFLAGS assignment
        kconfig: Don't leak choice names during parsing
        sh: fix build error for empty CONFIG_BUILTIN_DTB_SOURCE
        kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
        kconfig: add xstrdup() helper
        kbuild: disable sparse warnings about unknown attributes
        Makefile: Fix lying comment re. silentoldconfig
      0eb3412a
    • Linus Torvalds's avatar
      Merge tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 7cf901b3
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
        - some build fixes with randconfigs
      
        - an m88ds3103 fix to prevent an OOPS if the chip doesn't provide the
          right version during probe (with can happen if the hardware hangs)
      
        - a potential out of array bounds reference in tvp5150
      
        - some fixes and improvements in the DVB memory mapped API (added for
          kernel 4.16)
      
      * tag 'media/v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: vb2: Makefile: place vb2-trace together with vb2-core
        media: Don't let tvp5150_get_vbi() go out of vbi_ram_default array
        media: dvb: update buffer mmaped flags and frame counter
        media: dvb: add continuity error indicators for memory mapped buffers
        media: dmxdev: Fix the logic that enables DMA mmap support
        media: dmxdev: fix error code for invalid ioctls
        media: m88ds3103: don't call a non-initalized function
        media: au0828: add VIDEO_V4L2 dependency
        media: dvb: fix DVB_MMAP dependency
        media: dvb: fix DVB_MMAP symbol name
        media: videobuf2: fix build issues with vb2-trace
        media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part
      7cf901b3
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog · d6d0972a
      Linus Torvalds authored
      Pull watchdog fixes from Wim Van Sebroeck:
      
       - rave-sp: add NVMEM dependency
      
       - build fixes for i6300esb_wdt, xen_wdt and sp5100_tco
      
      * tag 'linux-watchdog-4.16-fixes-1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: sp5100_tco.c: fix potential build failure
        watchdog: xen_wdt: fix potential build failure
        watchdog: i6300esb: fix build failure
        watchdog: rave-sp: add NVMEM dependency
      d6d0972a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 03a6c259
      Linus Torvalds authored
      Pull KVM fixes from Radim Krčmář:
       "x86:
      
         - fix NULL dereference when using userspace lapic
      
         - optimize spectre v1 mitigations by allowing guests to use LFENCE
      
         - make microcode revision configurable to prevent guests from
           unnecessarily blacklisting spectre v2 mitigation feature"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: fix vcpu initialization with userspace lapic
        KVM: X86: Allow userspace to define the microcode version
        KVM: X86: Introduce kvm_get_msr_feature()
        KVM: SVM: Add MSR-based feature support for serializing LFENCE
        KVM: x86: Add a framework for supporting MSR-based features
      03a6c259
    • Dan Williams's avatar
      memremap: fix softlockup reports at teardown · 949b9325
      Dan Williams authored
      The cond_resched() currently in the setup path needs to be duplicated in
      the teardown path. Rather than require each instance of
      for_each_device_pfn() to open code the same sequence, embed it in the
      helper.
      
      Link: https://github.com/intel/ixpdimm_sw/issues/11
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: <stable@vger.kernel.org>
      Fixes: 71389703 ("mm, zone_device: Replace {get, put}_zone_device_page()...")
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      949b9325
    • Dave Jiang's avatar
      libnvdimm: re-enable deep flush for pmem devices via fsync() · 5fdf8e5b
      Dave Jiang authored
      Re-enable deep flush so that users always have a way to be sure that a
      write makes it all the way out to media. Writes from the PMEM driver
      always arrive at the NVDIMM since movnt is used to bypass the cache, and
      the driver relies on the ADR (Asynchronous DRAM Refresh) mechanism to
      flush write buffers on power failure. The Deep Flush mechanism is there
      to explicitly write buffers to protect against (rare) ADR failure.  This
      change prevents a regression in deep flush behavior so that applications
      can continue to depend on fsync() as a mechanism to trigger deep flush
      in the filesystem-DAX case.
      
      Fixes: 06e8ccda ("acpi: nfit: Add support for detect platform CPU cache...")
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      5fdf8e5b
    • Masahiro Yamada's avatar
      MAINTAINERS: take over Kconfig maintainership · 50186e12
      Masahiro Yamada authored
      I have recently picked up Kconfig patches to my tree without any
      declaration.  Making it official now.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      50186e12
    • Dan Williams's avatar
      vfio: disable filesystem-dax page pinning · 94db151d
      Dan Williams authored
      Filesystem-DAX is incompatible with 'longterm' page pinning. Without
      page cache indirection a DAX mapping maps filesystem blocks directly.
      This means that the filesystem must not modify a file's block map while
      any page in a mapping is pinned. In order to prevent the situation of
      userspace holding of filesystem operations indefinitely, disallow
      'longterm' Filesystem-DAX mappings.
      
      RDMA has the same conflict and the plan there is to add a 'with lease'
      mechanism to allow the kernel to notify userspace that the mapping is
      being torn down for block-map maintenance. Perhaps something similar can
      be put in place for vfio.
      
      Note that xfs and ext4 still report:
      
         "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"
      
      ...at mount time, and resolving the dax-dma-vs-truncate problem is one
      of the last hurdles to remove that designation.
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: kvm@vger.kernel.org
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Tested-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
      Fixes: d475c634 ("dax,ext2: replace XIP read and write with DAX I/O")
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      94db151d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 329ad5e5
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Update pci.ids location (documentation only) (Randy Dunlap)
      
       - Fix a crash when BIOS didn't assign a BAR and we try to enlarge it
         (Christian König)
      
      * tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Allow release of resources that were never assigned
        PCI: Update location of pci.ids file
      329ad5e5
  8. 02 Mar, 2018 16 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 5fbdefcf
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
      
       - a patch to change the ordering of cache and TLB flushes to hopefully
         fix the random segfaults we very rarely face (by Dave Anglin).
      
       - a patch to hide the virtual kernel memory layout due to security
         reasons.
      
       - two small patches to make the kernel run more smoothly under qemu.
      
      * 'parisc-4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Reduce irq overhead when run in qemu
        parisc: Use cr16 interval timers unconditionally on qemu
        parisc: Check if secondary CPUs want own PDC calls
        parisc: Hide virtual kernel memory layout
        parisc: Fix ordering of cache and TLB flushes
      5fbdefcf
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 0573fed9
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Five minor fixes for Xen-specific drivers"
      
      * tag 'for-linus-4.16a-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        pvcalls-front: 64-bit align flags
        x86/xen: add tty0 and hvc0 as preferred consoles for dom0
        xen-netfront: Fix hang on device removal
        xen/pirq: fix error path cleanup when binding MSIs
        xen/pvcalls: fix null pointer dereference on map->sock
      0573fed9
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client · 2833419a
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "A cap handling fix from Zhi that ensures that metadata writeback isn't
        delayed and three error path memory leak fixups from Chengguang"
      
      * tag 'ceph-for-4.16-rc4' of git://github.com/ceph/ceph-client:
        ceph: fix potential memory leak in init_caches()
        ceph: fix dentry leak when failing to init debugfs
        libceph, ceph: avoid memory leak when specifying same option several times
        ceph: flush dirty caps of unlinked inode ASAP
      2833419a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20180302' of git://git.kernel.dk/linux-block · fb6d47a5
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A collection of fixes for this series. This is a little larger than
        usual at this time, but that's mainly because I was out on vacation
        last week. Nothing in here is major in any way, it's just two weeks of
        fixes. This contains:
      
         - NVMe pull from Keith, with a set of fixes from the usual suspects.
      
         - mq-deadline zone unlock fix from Damien, fixing an issue with the
           SMR zone locking added for 4.16.
      
         - two bcache fixes sent in by Michael, with changes from Coly and
           Tang.
      
         - comment typo fix from Eric for blktrace.
      
         - return-value error handling fix for nbd, from Gustavo.
      
         - fix a direct-io case where we don't defer to a completion handler,
           making us sleep from IRQ device completion. From Jan.
      
         - a small series from Jan fixing up holes around handling of bdev
           references.
      
         - small set of regression fixes from Jiufei, mostly fixing problems
           around the gendisk pointer -> partition index change.
      
         - regression fix from Ming, fixing a boundary issue with the discard
           page cache invalidation.
      
         - two-patch series from Ming, fixing both a core blk-mq-sched and
           kyber issue around token freeing on a requeue condition"
      
      * tag 'for-linus-20180302' of git://git.kernel.dk/linux-block: (24 commits)
        block: fix a typo
        block: display the correct diskname for bio
        block: fix the count of PGPGOUT for WRITE_SAME
        mq-deadline: Make sure to always unlock zones
        nvmet: fix PSDT field check in command format
        nvme-multipath: fix sysfs dangerously created links
        nbd: fix return value in error handling path
        bcache: fix kcrashes with fio in RAID5 backend dev
        bcache: correct flash only vols (check all uuids)
        blktrace_api.h: fix comment for struct blk_user_trace_setup
        blockdev: Avoid two active bdev inodes for one device
        genhd: Fix BUG in blkdev_open()
        genhd: Fix use after free in __blkdev_get()
        genhd: Add helper put_disk_and_module()
        genhd: Rename get_disk() to get_disk_and_module()
        genhd: Fix leaked module reference for NVME devices
        direct-io: Fix sleep in atomic due to sync AIO
        nvme-pci: Fix nvme queue cleanup if IRQ setup fails
        block: kyber: fix domain token leak during requeue
        blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch
        ...
      fb6d47a5
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · ff06b55e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - mmc: core: Avoid hang when claiming host
      
        MMC host:
         - dw_mmc: Avoid hang when accessing registers
         - dw_mmc: Fix out-of-bounds access for slot's caps
         - dw_mmc-k3: Fix out-of-bounds access through DT alias
         - sdhci-pci: Fix S0i3 for Intel BYT-based controllers"
      
      * tag 'mmc-v4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Avoid hanging to claim host for mmc via some nested calls
        mmc: dw_mmc: Avoid accessing registers in runtime suspended state
        mmc: dw_mmc: Fix out-of-bounds access for slot's caps
        mmc: dw_mmc: Factor out dw_mci_init_slot_caps
        mmc: dw_mmc-k3: Fix out-of-bounds access through DT alias
        mmc: sdhci-pci: Fix S0i3 for Intel BYT-based controllers
      ff06b55e
    • Linus Torvalds's avatar
      Merge tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · a5c05b74
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix three issues in cpufreq drivers: one recent regression, one
        leftover Kconfig dependency and one old but "stable" material.
      
        Specifics:
      
         - Make the task scheduler load and utilization signals be
           frequency-invariant again after recent changes in the SCPI cpufreq
           driver (Dietmar Eggemann).
      
         - Drop an unnecessary leftover Kconfig dependency from the SCPI
           cpufreq driver (Sudeep Holla).
      
         - Fix the initialization of the s3c24xx cpufreq driver (Viresh
           Kumar)"
      
      * tag 'pm-4.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: s3c24xx: Fix broken s3c_cpufreq_init()
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      a5c05b74
    • Masahiro Yamada's avatar
      kconfig: fix line number in recursive inclusion error message · 5ae6fcc4
      Masahiro Yamada authored
      When recursive inclusion is detected, the line number of the last
      'included from:' is wrong.
      
      [Test Case]
      
      Kconfig:
        -------->8--------
        source "Kconfig2"
        -------->8--------
      
      Kconfig2:
        -------->8--------
        source "Kconfig3"
        -------->8--------
      
      Kconfig3:
        -------->8--------
        source "Kconfig"
        -------->8--------
      
      [Result]
      
        $ make allyesconfig
        scripts/kconfig/conf  --allyesconfig Kconfig
        Kconfig:1: recursive inclusion detected. Inclusion path:
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:3'
        scripts/kconfig/Makefile:89: recipe for target 'allyesconfig' failed
        make[1]: *** [allyesconfig] Error 1
        Makefile:512: recipe for target 'allyesconfig' failed
        make: *** [allyesconfig] Error 2
      
      where we expect
      
          current file : 'Kconfig'
          included from: 'Kconfig3:1'
          included from: 'Kconfig2:1'
          included from: 'Kconfig:1'
      
      The 'iter->lineno+1' in the second fpinrtf() should be 'iter->lineno-1'.
      I refactored the code to merge the two fprintf() calls.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
      5ae6fcc4
    • Dafna Hirschfeld's avatar
      Coccinelle: memdup: Fix typo in warning messages · a11761c2
      Dafna Hirschfeld authored
      Replace 'kmemdep' with 'kmemdup' in warning messages.
      Signed-off-by: default avatarDafna Hirschfeld <dafna3@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Acked-by: default avatarNicolas Palix <nicolas.palix@imag.fr>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      a11761c2
    • Jan Glauber's avatar
      i2c: octeon: Prevent error message on bus error · 7c424679
      Jan Glauber authored
      The error message:
      
      [Fri Feb 16 13:42:13 2018] i2c-thunderx 0000:01:09.4: unhandled state: 0
      
      is mis-leading as state 0 (bus error) is not an unknown state.
      
      Return -EIO as before but avoid printing the message. Also rename
      STAT_ERROR to STATE_BUS_ERROR.
      Signed-off-by: default avatarJan Glauber <jglauber@cavium.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      7c424679
    • Wolfram Sang's avatar
      Merge tag 'at24-4.16-rc4-for-wolfram' of... · 1a0e3a35
      Wolfram Sang authored
      Merge tag 'at24-4.16-rc4-for-wolfram' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-current
      
      Pull in this fixup to get rid of a dependency for the next cycle:
      
      "- sort the manufacturers in DT bindings alphabetically"
      1a0e3a35
    • Rafael J. Wysocki's avatar
      Merge branch 'cpufreq-scpi' · b61e0703
      Rafael J. Wysocki authored
      * cpufreq-scpi:
        cpufreq: scpi: Fix incorrect arm_big_little config dependency
        cpufreq: scpi: invoke frequency-invariance setter function
      b61e0703
    • Helge Deller's avatar
      parisc: Reduce irq overhead when run in qemu · 636a415b
      Helge Deller authored
      When run under QEMU, calling mfctl(16) creates some overhead because the
      qemu timer has to be scaled and moved into the register. This patch
      reduces the number of calls to mfctl(16) by moving the calls out of the
      loops.
      
      Additionally, increase the minimal time interval to 8000 cycles instead
      of 500 to compensate possible QEMU delays when delivering interrupts.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      636a415b
    • Helge Deller's avatar
      parisc: Use cr16 interval timers unconditionally on qemu · 5ffa8518
      Helge Deller authored
      When running on qemu we know that the (emulated) cr16 cpu-internal
      clocks are syncronized. So let's use them unconditionally on qemu.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: stable@vger.kernel.org # 4.14+
      5ffa8518
    • Helge Deller's avatar
      parisc: Check if secondary CPUs want own PDC calls · 0ed1fe4a
      Helge Deller authored
      The architecture specification says (for 64-bit systems): PDC is a per
      processor resource, and operating system software must be prepared to
      manage separate pointers to PDCE_PROC for each processor.  The address
      of PDCE_PROC for the monarch processor is stored in the Page Zero
      location MEM_PDC. The address of PDCE_PROC for each non-monarch
      processor is passed in gr26 when PDCE_RESET invokes OS_RENDEZ.
      
      Currently we still use one PDC for all CPUs, but in case we face a
      machine which is following the specification let's warn about it.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0ed1fe4a
    • Helge Deller's avatar
      parisc: Hide virtual kernel memory layout · fd8d0ca2
      Helge Deller authored
      For security reasons do not expose the virtual kernel memory layout to
      userspace.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Suggested-by: default avatarKees Cook <keescook@chromium.org>
      Cc: stable@vger.kernel.org # 4.15
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      fd8d0ca2
    • John David Anglin's avatar
      parisc: Fix ordering of cache and TLB flushes · 0adb24e0
      John David Anglin authored
      The change to flush_kernel_vmap_range() wasn't sufficient to avoid the
      SMP stalls.  The problem is some drivers call these routines with
      interrupts disabled.  Interrupts need to be enabled for flush_tlb_all()
      and flush_cache_all() to work.  This version adds checks to ensure
      interrupts are not disabled before calling routines that need IPI
      interrupts.  When interrupts are disabled, we now drop into slower code.
      
      The attached change fixes the ordering of cache and TLB flushes in
      several cases.  When we flush the cache using the existing PTE/TLB
      entries, we need to flush the TLB after doing the cache flush.  We don't
      need to do this when we flush the entire instruction and data caches as
      these flushes don't use the existing TLB entries.  The same is true for
      tmpalias region flushes.
      
      The flush_kernel_vmap_range() and invalidate_kernel_vmap_range()
      routines have been updated.
      
      Secondly, we added a new purge_kernel_dcache_range_asm() routine to
      pacache.S and use it in invalidate_kernel_vmap_range().  Nominally,
      purges are faster than flushes as the cache lines don't have to be
      written back to memory.
      
      Hopefully, this is sufficient to resolve the remaining problems due to
      cache speculation.  So far, testing indicates that this is the case.  I
      did work up a patch using tmpalias flushes, but there is a performance
      hit because we need the physical address for each page, and we also need
      to sequence access to the tmpalias flush code.  This increases the
      probability of stalls.
      
      Signed-off-by: John David Anglin <dave.anglin@bell.net>
      Cc: stable@vger.kernel.org # 4.9+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      0adb24e0