1. 09 Oct, 2017 6 commits
    • Paul Burton's avatar
      MIPS: math-emu: Remove pr_err() calls from fpu_emu() · ca8eb05b
      Paul Burton authored
      The FPU emulator includes 2 calls to pr_err() which are triggered by
      invalid instruction encodings for MIPSr6 cmp.cond.fmt instructions.
      These cases are not kernel errors, merely invalid instructions which are
      already handled by delivering a SIGILL which will provide notification
      that something failed in cases where that makes sense.
      
      In cases where that SIGILL is somewhat expected & being handled, for
      example when crashme happens to generate one of the affected bad
      encodings, the message is printed with no useful context about what
      triggered it & spams the kernel log for no good reason.
      
      Remove the pr_err() calls to make crashme run silently & treat the bad
      encodings the same way we do others, with a SIGILL & no further kernel
      log output.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Fixes: f8c3c671 ("MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction")
      Cc: linux-mips@linux-mips.org
      Cc: stable <stable@vger.kernel.org> # v4.3+
      Patchwork: https://patchwork.linux-mips.org/patch/17253/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ca8eb05b
    • Paul Burton's avatar
      MIPS: Fix generic-board-config.sh for builds using O= · e1270575
      Paul Burton authored
      When configuring the kernel using one of the generic MIPS defconfig
      targets, the generic-board-config.sh script is used to check
      requirements listed in board config fragments against a reference config
      in order to determine which board config fragments to merge into the
      final config.
      
      When specifying O= to configure in a directory other than the kernel
      source directory, this generic-board-config.sh script is invoked in the
      directory that we are configuring in (ie. the directory that O equals),
      and the path to the reference config is relative to the current
      directory. The script then changes the current directory to the source
      tree, which unfortunately breaks later access to the reference file
      since its path is relative to a directory that is no longer the current
      working directory. This results in configuration failing with errors
      such as:
      
        $ make ARCH=mips O=tmp 32r2_defconfig
        make[1]: Entering directory '/home/pburton/src/linux/tmp'
        Using ../arch/mips/configs/generic_defconfig as base
        Merging ../arch/mips/configs/generic/32r2.config
        Merging ../arch/mips/configs/generic/eb.config
        grep: ./.config.32r2_defconfig: No such file or directory
        grep: ./.config.32r2_defconfig: No such file or directory
        The base file '.config' does not exist.  Exit.
        make[1]: *** [arch/mips/Makefile:505: 32r2_defconfig] Error 1
        make[1]: Leaving directory '/home/pburton/src/linux-ingenic/tmp'
        make: *** [Makefile:145: sub-make] Error 2
      
      Fix this by avoiding changing the working directory in
      generic-board-config.sh, instead using full paths to files under
      $(srctree)/ where necessary.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Fixes: 27e0d4b0 ("MIPS: generic: Allow filtering enabled boards by requirements")
      Cc: linux-mips@linux-mips.org
      Cc: kbuild test robot <fengguang.wu@intel.com>
      Cc: kbuild-all@01.org
      Patchwork: https://patchwork.linux-mips.org/patch/17231/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      e1270575
    • Paul Burton's avatar
      MIPS: Fix cmpxchg on 32b signed ints for 64b kernel with !kernel_uses_llsc · 133d68e0
      Paul Burton authored
      Commit 8263db4d ("MIPS: cmpxchg: Implement __cmpxchg() as a
      function") refactored our implementation of __cmpxchg() to be a function
      rather than a macro, with the aim of making it easier to read & modify.
      Unfortunately the commit breaks use of cmpxchg() for signed 32 bit
      values when we have a 64 bit kernel with kernel_uses_llsc == false,
      because:
      
       - In cmpxchg_local() we cast the old value to the type the pointer
         points to, and then to an unsigned long. If the pointer points to a
         signed type smaller than 64 bits then the old value will be sign
         extended to 64 bits. That is, bits beyond the size of the pointed to
         type will be set to 1 if the old value is negative. In the case of a
         signed 32 bit integer with a negative value, bits 63:32 will all be
         set.
      
       - In __cmpxchg_asm() we load the value from memory, ie. dereference the
         pointer, and store the value as an unsigned integer (__ret) whose
         size matches the pointer. For a 32 bit cmpxchg() this means we store
         the value in a u32, because the pointer provided to __cmpxchg_asm()
         by __cmpxchg() is of type volatile u32 *.
      
       - __cmpxchg_asm() then checks whether the value in memory (__ret)
         matches the provided old value, by comparing the two values. This
         results in the u32 being promoted to a 64 bit unsigned long to match
         the old argument - however because both types are unsigned the value
         is zero extended, which does not match the sign extension performed
         on the old value in cmpxchg_local() earlier.
      
      This mismatch means that unfortunate cmpxchg() calls can incorrectly
      fail for 64 bit kernels with kernel_uses_llsc == false. This is the case
      on at least non-SMP Cavium Octeon kernels, which hardcode
      kernel_uses_llsc in their cpu-feature-overrides.h header. Using a
      v4.13-rc7 kernel configured using cavium_octeon_defconfig with SMP
      manually disabled, this presents itself as oddity when we reach
      userland - for example:
      
        can't run '/bin/mount': Text file busy
        can't run '/bin/mkdir': Text file busy
        can't run '/bin/mkdir': Text file busy
        can't run '/bin/mount': Text file busy
        can't run '/bin/hostname': Text file busy
        can't run '/etc/init.d/rcS': Text file busy
        can't run '/sbin/getty': Text file busy
        can't run '/sbin/getty': Text file busy
      
      It appears that some part of the init process, which is in this case
      buildroot's busybox init, is running successfully. It never manages to
      reach the login prompt though, and complains about /sbin/getty being
      busy repeatedly and indefinitely.
      
      Fix this by casting the old value provided to __cmpxchg_asm() to an
      appropriately sized unsigned integer, such that we consistently
      zero-extend avoiding the mismatch. The __cmpxchg_small() case for 8 & 16
      bit values is unaffected because __cmpxchg_small() already masks
      provided values appropriately.
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Fixes: 8263db4d ("MIPS: cmpxchg: Implement __cmpxchg() as a function")
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17226/
      Cc: linux-mips@linux-mips.org
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      133d68e0
    • Kelvin Cheung's avatar
      MIPS: loongson1: set default number of rx and tx queues for stmmac · 1b6ad6df
      Kelvin Cheung authored
      Set the default number of RX and TX queues due to
      the recent changes of stmmac driver.
      Otherwise the ethernet will crash once it starts.
      Signed-off-by: default avatarKelvin Cheung <keguang.zhang@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17452/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      1b6ad6df
    • Matt Redfearn's avatar
      MIPS: bpf: Fix uninitialised target compiler error · 94c3390a
      Matt Redfearn authored
      Compiling ebpf_jit.c with gcc 4.9 results in a (likely spurious)
      compiler warning, as gcc has detected that the variable "target" may be
      used uninitialised. Since -Werror is active, this is treated as an error
      and causes a kernel build failure whenever CONFIG_MIPS_EBPF_JIT is
      enabled.
      
      arch/mips/net/ebpf_jit.c: In function 'build_one_insn':
      arch/mips/net/ebpf_jit.c:1118:80: error: 'target' may be used
      uninitialized in this function [-Werror=maybe-uninitialized]
          emit_instr(ctx, j, target);
                                                                                      ^
      cc1: all warnings being treated as errors
      
      Fix this by initialising "target" to 0. If it really is used
      uninitialised this would result in a jump to 0 and a detectable run time
      failure.
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
      Fixes: b6bd53f9 ("MIPS: Add missing file for eBPF JIT.")
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: David Daney <david.daney@cavium.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Colin Ian King <colin.king@canonical.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Cc: <stable@vger.kernel.org> # v4.13+
      Patchwork: https://patchwork.linux-mips.org/patch/17375/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      94c3390a
    • Linus Torvalds's avatar
      Linux 4.14-rc4 · 8a5776a5
      Linus Torvalds authored
      8a5776a5
  2. 07 Oct, 2017 4 commits
  3. 06 Oct, 2017 20 commits
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · dbeb1a8f
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
      
       - build fix to export the clk_bulk_prepare() symbol
      
       - suspend fix for Samsung Exynos SoCs where we need to keep clks on
         across suspend
      
       - two critical clk markings for clks that shouldn't ever turn off on
         Rockchip SoCs
      
       - a fix for a copy-paste mistake on Rockchip rk3128 causing some clks
         to touch the same bit and trample over one another
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: samsung: exynos4: Enable VPLL and EPLL clocks for suspend/resume cycle
        clk: Export clk_bulk_prepare()
        clk: rockchip: add sclk_timer5 as critical clock on rk3128
        clk: rockchip: fix up rk3128 pvtm and mipi_24m gate regs error
        clk: rockchip: add pclk_pmu as critical clock on rk3128
      dbeb1a8f
    • Linus Torvalds's avatar
      Merge tag 'arc-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · ed0f72f4
      Linus Torvalds authored
      Pull ARC udpates from Vineet Gupta:
      
       - updates for various platforms
      
       - boot log updates for upcoming HS48 family of cores (dual issue)
      
      * tag 'arc-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset
        ARC: [plat-hsdk]: Temporary fix to set CPU frequency to 1GHz
        ARC: fix allnoconfig build warning
        ARCv2: boot log: identify HS48 cores (dual issue)
        ARC: boot log: decontaminate ARCv2 ISA_CONFIG register
        arc: remove redundant UTS_MACHINE define in arch/arc/Makefile
        ARC: [plat-eznps] Update platform maintainer as Noam left
        ARC: [plat-hsdk] use actual clk driver to manage cpu clk
        ARC: [*defconfig] Reenable soft lock-up detector
        ARC: [plat-axs10x] sdio: Temporary fix of sdio ciu frequency
        ARC: [plat-hsdk] sdio: Temporary fix of sdio ciu frequency
        ARC: [plat-axs103] Add temporary quirk to reset ethernet IP
      ed0f72f4
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.14-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · eab26ad1
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - fix a race between overlapping copy on write aio
      
       - fix cow fork swapping when we defragment reflinked files
      
      * tag 'xfs-4.14-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: handle racy AIO in xfs_reflink_end_cow
        xfs: always swap the cow forks when swapping extents
      eab26ad1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 17d084c8
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A collection of fixes for this series. This contains:
      
         - NVMe pull request from Christoph, one uuid attribute fix, and one
           fix for the controller memory buffer address for remapped BARs.
      
         - use-after-free fix for bsg, from Benjamin Block.
      
         - bcache race/use-after-free fix for a list traversal, fixing a
           regression in this merge window. From Coly Li.
      
         - null_blk change configfs dependency change from a 'depends' to a
           'select'. This is a change from this merge window as well. From me.
      
         - nbd signal fix from Josef, fixing a regression introduced with the
           status code changes.
      
         - nbd MAINTAINERS mailing list entry update.
      
         - blk-throttle stall fix from Joseph Qi.
      
         - blk-mq-debugfs fix from Omar, fixing an issue where we don't
           register the IO scheduler debugfs directory, if the driver is
           loaded with it. Only shows up if you switch through the sysfs
           interface"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        bsg-lib: fix use-after-free under memory-pressure
        nvme-pci: Use PCI bus address for data/queues in CMB
        blk-mq-debugfs: fix device sched directory for default scheduler
        null_blk: change configfs dependency to select
        blk-throttle: fix possible io stall when upgrade to max
        MAINTAINERS: update list for NBD
        nbd: fix -ERESTARTSYS handling
        nvme: fix visibility of "uuid" ns attribute
        bcache: use llist_for_each_entry_safe() in __closure_wake_up()
      17d084c8
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 80cf1f8c
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Fix legacy IDE probe issues exposed by recent PCI core IRQ mapping
        changes (Bartlomiej Zolnierkiewicz, Lorenzo Pieralisi)"
      
      * tag 'pci-v4.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        ide: fix IRQ assignment for PCI bus order probing
        ide: pci: free PCI BARs on initialization failure
        ide: free hwif->portdev on hwif_init() failure
      80cf1f8c
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 27549068
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Bring initialisation of user space undefined instruction handling
         early (core_initcall) since late_initcall() happens after modprobe in
         initramfs is invoked. Similar fix for fpsimd initialisation
      
       - Increase the kernel stack when KASAN is enabled
      
       - Bring the PCI ACS enabling earlier via the
         iort_init_platform_devices()
      
       - Fix misleading data abort address printing (decimal vs hex)
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Ensure fpsimd support is ready before userspace is active
        arm64: Ensure the instruction emulation is ready for userspace
        arm64: Use larger stacks when KASAN is selected
        ACPI/IORT: Fix PCI ACS enablement
        arm64: fix misleading data abort decoding
      27549068
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 8d473320
      Linus Torvalds authored
      Pull KVM fixes from Radim Krčmář:
      
       - fix PPC XIVE interrupt delivery
      
       - fix x86 RCU breakage from asynchronous page faults when built without
         PREEMPT_COUNT
      
       - fix x86 build with -frecord-gcc-switches
      
       - fix x86 build without X86_LOCAL_APIC
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: add X86_LOCAL_APIC dependency
        x86/kvm: Move kvm_fastop_exception to .fixup section
        kvm/x86: Avoid async PF preempting the kernel incorrectly
        KVM: PPC: Book3S: Fix server always zero from kvmppc_xive_get_xive()
      8d473320
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · d109d83f
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
       "This is a pretty small pull request. Only 6 patches in total. There
        are no outstanding -rc patches on the mailing list after this pull
        request, so only if some new issues are discovered in the remainder of
        the rc cycles will you hear from me again.
      
        Summary:
         - a fix for iwpm netlink usage
         - a fix for error unwinding in mlx5
         - two fixes to vlan handling in qedr
         - a couple small i40iw fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        i40iw: Fix port number for query QP
        i40iw: Add missing memory barriers
        RDMA/qedr: Parse vlan priority as sl
        RDMA/qedr: Parse VLAN ID correctly and ignore the value of zero
        IB/mlx5: Fix label order in error path handling
        RDMA/iwpm: Properly mark end of NL messages
      d109d83f
    • Linus Torvalds's avatar
      Merge branch 'for-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · bf2db0b9
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Two more fixes for bugs introduced in 4.13.
      
        The sector_t problem with 32bit architecture and !LBDAF config seems
        serious but the number of affected deployments is hopefully low.
      
        The clashing status bits could lead to a confusing in-memory state of
        the whole-filesystem operations if used with the quota override sysfs
        knob"
      
      * 'for-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix overlap of fs_info::flags values
        btrfs: avoid overflow when sector_t is 32 bit
      bf2db0b9
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.14-rc4' of git://github.com/ceph/ceph-client · b77779b9
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Two fixups for CephFS snapshot-handling patches in -rc1"
      
      * tag 'ceph-for-4.14-rc4' of git://github.com/ceph/ceph-client:
        ceph: fix __choose_mds() for LSSNAP request
        ceph: properly queue cap snap for newly created snap realm
      b77779b9
    • Eugeniy Paltsev's avatar
      ARC: [plat-hsdk]: Add reset controller node to manage ethernet reset · ab8eb7db
      Eugeniy Paltsev authored
      DW ethernet controller on HSDK hangs sometimes after SW reset, so
      add reset node to make possible to reset DW ethernet controller HW.
      Signed-off-by: default avatarEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      ab8eb7db
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 8d4ef4e1
      Linus Torvalds authored
      Pull overlayfs fixes from Miklos Szeredi:
       "Fix a regression in 4.14 and one in 4.13. The latter is a case when
        Docker is doing something it really shouldn't and gets away with it.
        We now print a warning instead of erroring out.
      
        There are also fixes to several error paths"
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: fix regression caused by exclusive upper/work dir protection
        ovl: fix missing unlock_rename() in ovl_do_copy_up()
        ovl: fix dentry leak in ovl_indexdir_cleanup()
        ovl: fix dput() of ERR_PTR in ovl_cleanup_index()
        ovl: fix error value printed in ovl_lookup_index()
        ovl: fix may_write_real() for overlayfs directories
      8d4ef4e1
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 1249b571
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Nine small fixes, really nothing that stands out.
      
        A work-around for a spurious MCE on Power9. A CXL fault handling fix,
        some fixes to the new XIVE code, and a fix to the new 32-bit
        STRICT_KERNEL_RWX code.
      
        Fixes for old code/stable: an fix to an incorrect TLB flush on boot
        but not on any current machines, a compile error on 4xx and a fix to
        memory hotplug when using radix (Power9).
      
        Thanks to: Anton Blanchard, Cédric Le Goater, Christian Lamparter,
        Christophe Leroy, Christophe Lombard, Guenter Roeck, Jeremy Kerr,
        Michael Neuling, Nicholas Piggin"
      
      * tag 'powerpc-4.14-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/powernv: Increase memory block size to 1GB on radix
        powerpc/mm: Call flush_tlb_kernel_range with interrupts enabled
        powerpc/xive: Clear XIVE internal structures when a CPU is removed
        powerpc/xive: Fix IPI reset
        powerpc/4xx: Fix compile error with 64K pages on 40x, 44x
        powerpc: Fix action argument for cpufeatures-based TLB flush
        cxl: Fix memory page not handled
        powerpc: Fix workaround for spurious MCE on POWER9
        powerpc: Handle MCE on POWER9 with only DSISR bit 30 set
      1249b571
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-v4.14-rc4' of git://people.freedesktop.org/~airlied/linux · 9c0c1ada
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Some i915 fixes from the last two weeks (as they were on a strange
        base and I just waited for rc3), also a single sun4i hdmi fix"
      
      * tag 'drm-fixes-for-v4.14-rc4' of git://people.freedesktop.org/~airlied/linux:
        drm/i915/glk: Fix DMC/DC state idleness calculation
        drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
        drm/i915: Fix DDI PHY init if it was already on
        drm/sun4i: hdmi: Disable clks in bind function error path and unbind function
        drm/i915/bios: ignore HDMI on port A
        drm/i915: remove redundant variable hw_check
        drm/i915: always update ELD connector type after get modes
      9c0c1ada
    • Linus Torvalds's avatar
      Merge branch 'core-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 27efed3e
      Linus Torvalds authored
      Pull watchddog clean-up and fixes from Thomas Gleixner:
       "The watchdog (hard/softlockup detector) code is pretty much broken in
        its current state. The patch series addresses this by removing all
        duct tape and refactoring it into a workable state.
      
        The reasons why I ask for inclusion that late in the cycle are:
      
         1) The code causes lockdep splats vs. hotplug locking which get
            reported over and over. Unfortunately there is no easy fix.
      
         2) The risk of breakage is minimal because it's already broken
      
         3) As 4.14 is a long term stable kernel, I prefer to have working
            watchdog code in that and the lockdep issues resolved. I wouldn't
            ask you to pull if 4.14 wouldn't be a LTS kernel or if the
            solution would be easy to backport.
      
         4) The series was around before the merge window opened, but then got
            delayed due to the UP failure caused by the for_each_cpu()
            surprise which we discussed recently.
      
        Changes vs. V1:
      
         - Addressed your review points
      
         - Addressed the warning in the powerpc code which was discovered late
      
         - Changed two function names which made sense up to a certain point
           in the series. Now they match what they do in the end.
      
         - Fixed a 'unused variable' warning, which got not detected by the
           intel robot. I triggered it when trying all possible related config
           combinations manually. Randconfig testing seems not random enough.
      
        The changes have been tested by and reviewed by Don Zickus and tested
        and acked by Micheal Ellerman for powerpc"
      
      * 'core-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        watchdog/core: Put softlockup_threads_initialized under ifdef guard
        watchdog/core: Rename some softlockup_* functions
        powerpc/watchdog: Make use of watchdog_nmi_probe()
        watchdog/core, powerpc: Lock cpus across reconfiguration
        watchdog/core, powerpc: Replace watchdog_nmi_reconfigure()
        watchdog/hardlockup/perf: Fix spelling mistake: "permanetely" -> "permanently"
        watchdog/hardlockup/perf: Cure UP damage
        watchdog/hardlockup: Clean up hotplug locking mess
        watchdog/hardlockup/perf: Simplify deferred event destroy
        watchdog/hardlockup/perf: Use new perf CPU enable mechanism
        watchdog/hardlockup/perf: Implement CPU enable replacement
        watchdog/hardlockup/perf: Implement init time detection of perf
        watchdog/hardlockup/perf: Implement init time perf validation
        watchdog/core: Get rid of the racy update loop
        watchdog/core, powerpc: Make watchdog_nmi_reconfigure() two stage
        watchdog/sysctl: Clean up sysctl variable name space
        watchdog/sysctl: Get rid of the #ifdeffery
        watchdog/core: Clean up header mess
        watchdog/core: Further simplify sysctl handling
        watchdog/core: Get rid of the thread teardown/setup dance
        ...
      27efed3e
    • Suzuki K Poulose's avatar
      arm64: Ensure fpsimd support is ready before userspace is active · ae2e972d
      Suzuki K Poulose authored
      We register the pm/hotplug callbacks for FPSIMD as late_initcall,
      which happens after the userspace is active (from initramfs via
      populate_rootfs, a rootfs_initcall). Make sure we are ready even
      before the userspace could potentially use it, by promoting to
      a core_initcall.
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Dave Martin <dave.martin@arm.com>
      Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      ae2e972d
    • Suzuki K Poulose's avatar
      arm64: Ensure the instruction emulation is ready for userspace · c0d8832e
      Suzuki K Poulose authored
      We trap and emulate some instructions (e.g, mrs, deprecated instructions)
      for the userspace. However the handlers for these are registered as
      late_initcalls and the userspace could be up and running from the initramfs
      by that time (with populate_rootfs, which is a rootfs_initcall()). This
      could cause problems for the early applications ending up in failure
      like :
      
      [   11.152061] modprobe[93]: undefined instruction: pc=0000ffff8ca48ff4
      
      This patch promotes the specific calls to core_initcalls, which are
      guaranteed to be completed before we hit userspace.
      
      Cc: stable@vger.kernel.org
      Cc: Dave Martin <dave.martin@arm.com>
      Cc: Matthias Brugger <mbrugger@suse.com>
      Cc: James Morse <james.morse@arm.com>
      Reported-by: default avatarMatwey V. Kornilov <matwey.kornilov@gmail.com>
      Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      c0d8832e
    • Anton Blanchard's avatar
      powerpc/powernv: Increase memory block size to 1GB on radix · 53ecde0b
      Anton Blanchard authored
      Memory hot unplug on PowerNV radix hosts is broken. Our memory block
      size is 256MB but since we map the linear region with very large
      pages, each pte we tear down maps 1GB.
      
      A hot unplug of one 256MB memory block results in 768MB of memory
      getting unintentionally unmapped. At this point we are likely to oops.
      
      Fix this by increasing our memory block size to 1GB on PowerNV radix
      hosts.
      
      Fixes: 4b5d62ca ("powerpc/mm: add radix__remove_section_mapping()")
      Cc: stable@vger.kernel.org # v4.11+
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      53ecde0b
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2017-10-05' of git://anongit.freedesktop.org/git/drm-misc into drm-fixes · baf7c1f7
      Dave Airlie authored
      One bugfix in sun4i for 4.14
      
      * tag 'drm-misc-fixes-2017-10-05' of git://anongit.freedesktop.org/git/drm-misc:
        drm/sun4i: hdmi: Disable clks in bind function error path and unbind function
      baf7c1f7
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2017-10-04' of... · 00bb09c4
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2017-10-04' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes
      
      drm/i915 fixes for 4.14-rc4:
      
      All 3 highest GLK bugs fixed by Imre:
      - GLK drv reload - Fix DDI Phy init if it was already on.
      - GLK suspend resume - Reprogram DMC firmware after s3/s4.
      - GLK DC states - Fix idleness calculation.
      
      * tag 'drm-intel-fixes-2017-10-04' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915/glk: Fix DMC/DC state idleness calculation
        drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
        drm/i915: Fix DDI PHY init if it was already on
      00bb09c4
  4. 05 Oct, 2017 10 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7a92616c
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "This fixes a code ordering issue in the main suspend-to-idle loop that
        causes some "low power S0 idle" conditions to be incorrectly reported
        as unmet with suspend/resume debug messages enabled"
      
      * tag 'pm-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / s2idle: Invoke the ->wake() platform callback earlier
      7a92616c
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · ca935f8e
      Rafael J. Wysocki authored
      * pm-sleep:
        PM / s2idle: Invoke the ->wake() platform callback earlier
      ca935f8e
    • Linus Torvalds's avatar
      Merge tag 'for-4.14/dm-fixes' of... · 076264ad
      Linus Torvalds authored
      Merge tag 'for-4.14/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - a stable fix for the alignment of the event number reported at the
         end of the 'DM_LIST_DEVICES' ioctl.
      
       - a couple stable fixes for the DM crypt target.
      
       - a DM raid health status reporting fix.
      
      * tag 'for-4.14/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm raid: fix incorrect status output at the end of a "recover" process
        dm crypt: reject sector_size feature if device length is not aligned to it
        dm crypt: fix memory leak in crypt_ctr_cipher_old()
        dm ioctl: fix alignment of event number in the device list
      076264ad
    • Jonathan Brassow's avatar
      dm raid: fix incorrect status output at the end of a "recover" process · 41dcf197
      Jonathan Brassow authored
      There are three important fields that indicate the overall health and
      status of an array: dev_health, sync_ratio, and sync_action.  They tell
      us the condition of the devices in the array, and the degree to which
      the array is synchronized.
      
      This commit fixes a condition that is reported incorrectly.  When a member
      of the array is being rebuilt or a new device is added, the "recover"
      process is used to synchronize it with the rest of the array.  When the
      process is complete, but the sync thread hasn't yet been reaped, it is
      possible for the state of MD to be:
       mddev->recovery = [ MD_RECOVERY_RUNNING MD_RECOVERY_RECOVER MD_RECOVERY_DONE ]
       curr_resync_completed = <max dev size> (but not MaxSector)
       and all rdevs to be In_sync.
      This causes the 'array_in_sync' output parameter that is passed to
      rs_get_progress() to be computed incorrectly and reported as 'false' --
      or not in-sync.  This in turn causes the dev_health status characters to
      be reported as all 'a', rather than the proper 'A'.
      
      This can cause erroneous output for several seconds at a time when tools
      will want to be checking the condition due to events that are raised at
      the end of a sync process.  Fix this by properly calculating the
      'array_in_sync' return parameter in rs_get_progress().
      
      Also, remove an unnecessary intermediate 'recovery_cp' variable in
      rs_get_progress().
      Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      41dcf197
    • Arnd Bergmann's avatar
      KVM: add X86_LOCAL_APIC dependency · e42eef4b
      Arnd Bergmann authored
      The rework of the posted interrupt handling broke building without
      support for the local APIC:
      
      ERROR: "boot_cpu_physical_apicid" [arch/x86/kvm/kvm-intel.ko] undefined!
      
      That configuration is probably not particularly useful anyway, so
      we can avoid the randconfig failures by adding a Kconfig dependency.
      
      Fixes: 8b306e2f ("KVM: VMX: avoid double list add with VT-d posted interrupts")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      e42eef4b
    • Linus Torvalds's avatar
      Merge tag 'sound-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0f380715
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes, mostly with stable ones:
      
       - X32 ABI fix for PCM; likely not so many people suffer from it, but
         still better to fix
      
       - Two minor kernel warning fixes on USB audio devices spotted by
         syzkaller
      
       - Regression fix of echoaudio due to its inconsistent dimension
      
       - Fix for HBR support on Intel DP audio, on some recent chips
      
       - USB-audio quirk for yet another Plantronics devices
      
       - Fix for potential double-fetch in ASIHPI FIFO queue"
      
      * tag 'sound-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usx2y: Suppress kernel warning at page allocation failures
        Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
        ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
        ALSA: pcm: Fix structure definition for X32 ABI
        ALSA: usb-audio: Add sample rate quirk for Plantronics C310/C520-M
        ALSA: hda - program ICT bits to support HBR audio
        ALSA: asihpi: fix a potential double-fetch bug when copying puhm
        ALSA: compress: Remove unused variable
      0f380715
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 77ede3a0
      Linus Torvalds authored
      Pull HID subsystem fixes from Jiri Kosina:
      
       - buffer management size fix for i2c-hid driver, from Adrian Salido
      
       - tool ID regression fixes for Wacom driver from Jason Gerecke
      
       - a few small assorted fixes and a few device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        Revert "HID: multitouch: Support ALPS PTP stick with pid 0x120A"
        HID: hidraw: fix power sequence when closing device
        HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
        HID: wacom: generic: Clear ABS_MISC when tool leaves proximity
        HID: wacom: generic: Send MSC_SERIAL and ABS_MISC when leaving prox
        HID: i2c-hid: allocate hid buffers for real worst case
        HID: rmi: Make sure the HID device is opened on resume
        HID: multitouch: Support ALPS PTP stick with pid 0x120A
        HID: multitouch: support buttons and trackpoint on Lenovo X1 Tab Gen2
        HID: wacom: Correct coordinate system of touchring and pen twist
        HID: wacom: Properly report negative values from Intuos Pro 2 Bluetooth
        HID: multitouch: Fix system-control buttons not working
        HID: add multi-input quirk for IDC6680 touchscreen
        HID: wacom: leds: Don't try to control the EKR's read-only LEDs
        HID: wacom: bits shifted too much for 9th and 10th buttons
      77ede3a0
    • Jens Axboe's avatar
      Merge branch 'nvme-4.14' of git://git.infradead.org/nvme into for-linus · d7b544de
      Jens Axboe authored
      Pull NVMe fixes from Christoph:
      
      "A trivial one-liner from Martin to fix the visible of the uuid attr,
      and another one (originally from Abhishek Shah, rewritten by me) to fix
      the CMB addresses passed back to the controller in case of a system that
      remaps BAR addresses between host and device."
      d7b544de
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9a431ef9
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Check iwlwifi 9000 reorder buffer out-of-space condition properly,
          from Sara Sharon.
      
       2) Fix RCU splat in qualcomm rmnet driver, from Subash Abhinov
          Kasiviswanathan.
      
       3) Fix session and tunnel release races in l2tp, from Guillaume Nault
          and Sabrina Dubroca.
      
       4) Fix endian bug in sctp_diag_dump(), from Dan Carpenter.
      
       5) Several mlx5 driver fixes from the Mellanox folks (max flow counters
          cap check, invalid memory access in IPoIB support, etc.)
      
       6) tun_get_user() should bail if skb->len is zero, from Alexander
          Potapenko.
      
       7) Fix RCU lookups in inetpeer, from Eric Dumazet.
      
       8) Fix locking in packet_do_bund().
      
       9) Handle cb->start() error properly in netlink dump code, from Jason
          A. Donenfeld.
      
      10) Handle multicast properly in UDP socket early demux code. From Paolo
          Abeni.
      
      11) Several erspan bug fixes in ip_gre, from Xin Long.
      
      12) Fix use-after-free in socket filter code, in order to handle the
          fact that listener lock is no longer taken during the three-way TCP
          handshake. From Eric Dumazet.
      
      13) Fix infoleak in RTM_GETSTATS, from Nikolay Aleksandrov.
      
      14) Fix tail call generation in x86-64 BPF JIT, from Alexei Starovoitov.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (77 commits)
        net: 8021q: skip packets if the vlan is down
        bpf: fix bpf_tail_call() x64 JIT
        net: stmmac: dwmac-rk: Add RK3128 GMAC support
        rndis_host: support Novatel Verizon USB730L
        net: rtnetlink: fix info leak in RTM_GETSTATS call
        socket, bpf: fix possible use after free
        mlxsw: spectrum_router: Track RIF of IPIP next hops
        mlxsw: spectrum_router: Move VRF refcounting
        net: hns3: Fix an error handling path in 'hclge_rss_init_hw()'
        net: mvpp2: Fix clock resource by adding an optional bus clock
        r8152: add Linksys USB3GIGV1 id
        l2tp: fix l2tp_eth module loading
        ip_gre: erspan device should keep dst
        ip_gre: set tunnel hlen properly in erspan_tunnel_init
        ip_gre: check packet length and mtu correctly in erspan_xmit
        ip_gre: get key from session_id correctly in erspan_rcv
        tipc: use only positive error codes in messages
        ppp: fix __percpu annotation
        udp: perform source validation for mcast early demux
        IPv4: early demux can return an error code
        ...
      9a431ef9
    • Amir Goldstein's avatar
      ovl: fix regression caused by exclusive upper/work dir protection · 85fdee1e
      Amir Goldstein authored
      Enforcing exclusive ownership on upper/work dirs caused a docker
      regression: https://github.com/moby/moby/issues/34672.
      
      Euan spotted the regression and pointed to the offending commit.
      Vivek has brought the regression to my attention and provided this
      reproducer:
      
      Terminal 1:
      
        mount -t overlay -o workdir=work,lowerdir=lower,upperdir=upper none
              merged/
      
      Terminal 2:
      
        unshare -m
      
      Terminal 1:
      
        umount merged
        mount -t overlay -o workdir=work,lowerdir=lower,upperdir=upper none
              merged/
        mount: /root/overlay-testing/merged: none already mounted or mount point
               busy
      
      To fix the regression, I replaced the error with an alarming warning.
      With index feature enabled, mount does fail, but logs a suggestion to
      override exclusive dir protection by disabling index.
      Note that index=off mount does take the inuse locks, so a concurrent
      index=off will issue the warning and a concurrent index=on mount will fail.
      
      Documentation was updated to reflect this change.
      
      Fixes: 2cac0c00 ("ovl: get exclusive ownership on upper/work dirs")
      Cc: <stable@vger.kernel.org> # v4.13
      Reported-by: default avatarEuan Kemp <euank@euank.com>
      Reported-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      85fdee1e