1. 09 Nov, 2018 9 commits
    • Paul Burton's avatar
      MIPS: traps: Never enable FPU when CONFIG_MIPS_FP_SUPPORT=n · 5328f742
      Paul Burton authored
      When CONFIG_MIPS_FP_SUPPORT=n we don't support floating point, so we'll
      never need to enable the FPU. Avoid doing so on a Co-Processor Unusable
      exception (do_cpu), and remove the Floating Point Exception handler
      (do_fpe) which should never be executed when the FPU is disabled.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21007/
      Cc: linux-mips@linux-mips.org
      5328f742
    • Paul Burton's avatar
      MIPS: cpu-probe: Avoid probing FPU when CONFIG_MIPS_FP_SUPPORT=n · b2e628a8
      Paul Burton authored
      When CONFIG_MIPS_FP_SUPPORT=n we don't support floating point so there's
      no point in attempting to detect an FPU. Avoid doing so.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21021/
      Cc: linux-mips@linux-mips.org
      b2e628a8
    • Paul Burton's avatar
      MIPS: Stub asm/fpu.h functions · 9ec55930
      Paul Burton authored
      Provide stub versions of functions in asm/fpu.h when
      CONFIG_MIPS_FP_SUPPORT=n. Two approaches are taken to the functions
      provided:
      
        - Functions which can safely be called when FP is not enabled provide
          stubs which return an error where appropriate or are simple no-ops.
      
        - Functions which should only ever be called in cases where
          cpu_has_fpu is true or the FPU was successfully enabled are declared
          extern & annotated with __compiletime_error() to detect cases in
          which they are called incorrectly.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21006/
      Cc: linux-mips@linux-mips.org
      9ec55930
    • Paul Burton's avatar
      MIPS: Hardcode cpu_has_fpu=0 when CONFIG_MIPS_FP_SUPPORT=n · b372e83b
      Paul Burton authored
      When CONFIG_MIPS_FP_SUPPORT=n we don't support floating point, so
      there's no point in detecting presence of an FPU. Hardcode
      cpu_has_fpu=0 such that we optimize out code that makes use of the FPU.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21005/
      Cc: linux-mips@linux-mips.org
      b372e83b
    • Paul Burton's avatar
      MIPS: Introduce CONFIG_MIPS_FP_SUPPORT · c92e47e5
      Paul Burton authored
      Introduce a Kconfig variable that will indicate whether to include
      support for floating point in the kernel. For now this is always
      enabled, and will be made configurable in a later patch.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21016/
      Cc: linux-mips@linux-mips.org
      c92e47e5
    • Paul Burton's avatar
      MIPS: Better abstract R2300 FPU usage in Kconfig · 97f7dcbf
      Paul Burton authored
      Introduce a CONFIG_CPU_R2300_FPU Kconfig symbol mirroring the existing
      CONFIG_CPU_R4K_FPU, and use it to determine whether to build r4k_fpu.S.
      
      This removes the duplicate R3000 & TX39XX cases in
      arch/mips/kernel/Makefile and prepares us for the possibility of
      disabling FP support later.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21004/
      Cc: linux-mips@linux-mips.org
      97f7dcbf
    • Paul Burton's avatar
      MIPS: Drop forward declarations of sigcontext in asm/fpu.h · 7d3713a4
      Paul Burton authored
      asm/fpu.h contains forward declarations of struct sigcontext & struct
      sigcontext32 which appear to have been unused since commit 137f6f3e
      ("MIPS: Cleanup signal code initialization"). Remove the dead code.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21015/
      Cc: linux-mips@linux-mips.org
      7d3713a4
    • Paul Burton's avatar
      MIPS: Ensure emulated FP sets PF_USED_MATH · 1975ed43
      Paul Burton authored
      Emulated floating point instructions don't ensure that the PF_USED_MATH
      flag is set for the task. This results in a couple of inconsistencies:
      
        - ptrace will return the default initial state of FP registers rather
          than the values actually stored in struct thread_struct, hiding
          state that has been updated by emulated floating point instructions.
      
        - If a task migrates to a CPU with an FPU after having emulated
          floating point instructions then its floating point register state
          will be reset to the default ~0 bit pattern, losing state from the
          emulated instructions.
      
      Fix this by calling init_fp_ctx() from fpu_emulator_cop1Handler() to
      consistently initialize FP state if it was previously uninitialized,
      setting the PF_USED_MATH flag in the process.
      
      All callers of fpu_emulator_cop1Handler() either call lose_fpu(1) before
      it in order to save any live FPU registers to struct thread_struct, or
      in the case of do_cpu() already know that the task does not own an FPU
      so lose_fpu(1) would be a no-op. Since we know that saving FP context
      will be unnecessary in the case where FP context was just initialized we
      move this call into fpu_emulator_cop1Handler() too, providing
      consistency & avoiding needless duplication.
      
      Calls to own_fpu(1) are common after return from
      fpu_emulator_cop1Handler() too, but this would not be a no-op in the
      do_cpu() case so these are left as-is. A potential future improvement
      could be to have fpu_emulator_cop1Handler() restore FPU state
      automatically only if it saved it, though this may not be optimal if
      some callers are better off without their current calls to own_fpu(1).
      One potential example of this could be mipsr2_decoder() which as-is
      could end up saving & restoring FP context repeatedly & unnecessarily if
      emulating multiple FP instructions.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21003/
      Cc: linux-mips@linux-mips.org
      1975ed43
    • Paul Burton's avatar
      MIPS: Simplify FP context initialization · cc97ab23
      Paul Burton authored
      MIPS has up until now had 3 different ways for a task's floating point
      context to be initialized:
      
        - If the task's first use of FP involves it gaining ownership of an
          FPU then _init_fpu() is used to initialize the FPU's registers such
          that they all contain ~0, and the FPU registers will be stored to
          struct thread_info later (eg. when context switching).
      
        - If the task first uses FP on a CPU without an associated FPU then
          fpu_emulator_init_fpu() initializes the task's floating point
          register state in struct thread_info such that all floating point
          register contain the bit pattern 0x7ff800007ff80000, different to
          the _init_fpu() behaviour.
      
        - If a task's floating point context is first accessed via ptrace then
          init_fp_ctx() initializes the floating point register state in
          struct thread_info to ~0, giving equivalent state to _init_fpu().
      
      The _init_fpu() path has 2 separate implementations - one for r2k/r3k
      style systems & one for r4k style systems. The _init_fpu() path also
      requires that we be careful to clear & restore the value of the
      Config5.FRE bit on modern systems in order to avoid inadvertently
      triggering floating point exceptions.
      
      None of this code is in a performance critical hot path - it runs only
      the first time a task uses floating point. As such it doesn't seem to
      warrant the complications of maintaining the _init_fpu() path.
      
      Remove _init_fpu() & fpu_emulator_init_fpu(), instead using
      init_fp_ctx() consistently to initialize floating point register state
      in struct thread_info. Upon a task's first use of floating point this
      will typically mean that we initialize state in memory & then load it
      into FPU registers using _restore_fp() just as we would on a context
      switch. For other paths such as __compute_return_epc_for_insn() or
      mipsr2_decoder() this results in a significant simplification of the
      work to be done.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21002/
      Cc: linux-mips@linux-mips.org
      cc97ab23
  2. 08 Nov, 2018 5 commits
    • Paul Burton's avatar
      MIPS: BCM5xxx: Remove dead init_fpu code · b1013f1e
      Paul Burton authored
      The BMIPS5xxx core_init function contains a call to an init_fpu function
      inside an #ifdef whose condition never evaluates true. Remove the dead
      code. FPU initialization happens later, primarily when a userland
      program attempts to use it.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21018/
      Cc: linux-mips@linux-mips.org
      b1013f1e
    • Paul Burton's avatar
      MIPS: Hide CONFIG_MIPS_O32_FP64_SUPPORT prompt for >= MIPSr6 · b7f1e273
      Paul Burton authored
      From MIPSr6 onwards FP64 support is mandatory, and so
      CONFIG_MIPS_O32_FP64_SUPPORT is always selected for configurations which
      support O32 binaries. Hide the useless unchangeable prompt in these
      cases.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21019/
      Cc: linux-mips@linux-mips.org
      b7f1e273
    • Paul Burton's avatar
      MIPS: Hardcode cpu_has_mmips=1 for microMIPS kernels · a013ba39
      Paul Burton authored
      If we built the kernel targeting the microMIPS ISA then the very fact
      that the kernel is running implies that the CPU supports microMIPS. Thus
      we can hardcode cpu_has_mmips to 1 allowing the compiler greater scope
      for optimisation due to the compile-time constant.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21022/
      Cc: linux-mips@linux-mips.org
      a013ba39
    • Paul Burton's avatar
      MIPS: Simplify GCC_OFF_SMALL_ASM definition · d08b8ccc
      Paul Burton authored
      The GCC_OFF_SMALL_ASM macro defines the constraint to use for
      instructions needing "small offsets", typically the LL or SC
      instructions. Historically these had 16 bit offsets, but microMIPS &
      MIPS32/MIPS64r6 onwards reduced the width of the offset field.
      
      GCC 4.9 & higher supports a ZC constraint which matches the offset
      requirements of the LL & SC instructions. Where supported we can use
      the ZC constraint regardless of ISA, and it will handle the requirements
      of the ISA correctly. As such we require 3 cases:
      
        - GCC 4.9 & higher can use ZC.
      
        - GCC older than 4.9 must use the older R constraint, which does not
          take into account microMIPS or MIPSr6.
      
        - microMIPS builds therefore require GCC 4.9 or higher. MIPSr6 support
          was only introduced in newer compilers anyway so it can be ignored
          here.
      
      The current code complicates this a little by specifically having MIPSr6
      bypass the GCC version check, and using the R constraint for pre-MIPSr6
      builds even if the compiler supports ZC which would be equivalent.
      
      Simplify this such that the code straightforwardly implements the 3
      cases outlined above.
      
      For non-GCC compilers we presume that ZC is safe to use. In practice the
      only non-GCC compiler of interest is clang and it has supported the ZC
      constraint since version 3.7.0. It seems safe enough to presume that
      nobody will expect to built a working kernel using a clang version older
      than that, and if they do then they'll have bigger problems. As such we
      don't check the clang version number & just presume ZC is usable when
      the compiler is not GCC.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/20999/
      Cc: linux-mips@linux-mips.org
      d08b8ccc
    • Paul Burton's avatar
      MIPS: Remove GCC_IMM_ASM & GCC_REG_ACCUM macros · 57810ecb
      Paul Burton authored
      asm/compiler.h defined GCC_IMM_ASM & GCC_REG_ACCUM macros, both of which
      are defined differently for GCC pre-3.4 or GCC 3.4 & higher. We only
      support building with GCC 4.6 & higher since commit cafa0010 ("Raise
      the minimum required gcc version to 4.6"), which makes the pre-3.4
      definition dead code.
      
      Rather than leave the macro definitions around, inline the GCC 3.4 &
      higher definitions into the single file that uses them & remove the
      macros entirely.
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Patchwork: https://patchwork.linux-mips.org/patch/21000/
      Cc: linux-mips@linux-mips.org
      57810ecb
  3. 06 Nov, 2018 4 commits
  4. 05 Nov, 2018 2 commits
  5. 04 Nov, 2018 9 commits
    • Linus Torvalds's avatar
      Linux 4.20-rc1 · 65102238
      Linus Torvalds authored
      65102238
    • Linus Torvalds's avatar
      Merge tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs · 42bd06e9
      Linus Torvalds authored
      Pull UBIFS updates from Richard Weinberger:
      
       - Full filesystem authentication feature, UBIFS is now able to have the
         whole filesystem structure authenticated plus user data encrypted and
         authenticated.
      
       - Minor cleanups
      
      * tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs: (26 commits)
        ubifs: Remove unneeded semicolon
        Documentation: ubifs: Add authentication whitepaper
        ubifs: Enable authentication support
        ubifs: Do not update inode size in-place in authenticated mode
        ubifs: Add hashes and HMACs to default filesystem
        ubifs: authentication: Authenticate super block node
        ubifs: Create hash for default LPT
        ubfis: authentication: Authenticate master node
        ubifs: authentication: Authenticate LPT
        ubifs: Authenticate replayed journal
        ubifs: Add auth nodes to garbage collector journal head
        ubifs: Add authentication nodes to journal
        ubifs: authentication: Add hashes to index nodes
        ubifs: Add hashes to the tree node cache
        ubifs: Create functions to embed a HMAC in a node
        ubifs: Add helper functions for authentication support
        ubifs: Add separate functions to init/crc a node
        ubifs: Format changes for authentication support
        ubifs: Store read superblock node
        ubifs: Drop write_node
        ...
      42bd06e9
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 4710e789
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Bugfix:
         - Fix build issues on architectures that don't provide 64-bit cmpxchg
      
        Cleanups:
         - Fix a spelling mistake"
      
      * tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: fix spelling mistake, EACCESS -> EACCES
        SUNRPC: Use atomic(64)_t for seq_send(64)
      4710e789
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35e74524
      Linus Torvalds authored
      Pull more timer updates from Thomas Gleixner:
       "A set of commits for the new C-SKY architecture timers"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        dt-bindings: timer: gx6605s SOC timer
        clocksource/drivers/c-sky: Add gx6605s SOC system timer
        dt-bindings: timer: C-SKY Multi-processor timer
        clocksource/drivers/c-sky: Add C-SKY SMP timer
      35e74524
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.20' of git://github.com/jonmason/ntb · 04578e84
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Fairly minor changes and bug fixes:
      
        NTB IDT thermal changes and hook into hwmon, ntb_netdev clean-up of
        private struct, and a few bug fixes"
      
      * tag 'ntb-4.20' of git://github.com/jonmason/ntb:
        ntb: idt: Alter the driver info comments
        ntb: idt: Discard temperature sensor IRQ handler
        ntb: idt: Add basic hwmon sysfs interface
        ntb: idt: Alter temperature read method
        ntb_netdev: Simplify remove with client device drvdata
        NTB: transport: Try harder to alloc an aligned MW buffer
        ntb: ntb_transport: Mark expected switch fall-throughs
        ntb: idt: Set PCIe bus address to BARLIMITx
        NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks
        ntb: intel: fix return value for ndev_vec_mask()
        ntb_netdev: fix sleep time mismatch
      04578e84
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 71e56028
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "A memory (under-)allocation fix and a comment fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/topology: Fix off by one bug
        sched/rt: Update comment in pick_next_task_rt()
      71e56028
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 601a8807
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "A number of fixes and some late updates:
      
         - make in_compat_syscall() behavior on x86-32 similar to other
           platforms, this touches a number of generic files but is not
           intended to impact non-x86 platforms.
      
         - objtool fixes
      
         - PAT preemption fix
      
         - paravirt fixes/cleanups
      
         - cpufeatures updates for new instructions
      
         - earlyprintk quirk
      
         - make microcode version in sysfs world-readable (it is already
           world-readable in procfs)
      
         - minor cleanups and fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        compat: Cleanup in_compat_syscall() callers
        x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT
        objtool: Support GCC 9 cold subfunction naming scheme
        x86/numa_emulation: Fix uniform-split numa emulation
        x86/paravirt: Remove unused _paravirt_ident_32
        x86/mm/pat: Disable preemption around __flush_tlb_all()
        x86/paravirt: Remove GPL from pv_ops export
        x86/traps: Use format string with panic() call
        x86: Clean up 'sizeof x' => 'sizeof(x)'
        x86/cpufeatures: Enumerate MOVDIR64B instruction
        x86/cpufeatures: Enumerate MOVDIRI instruction
        x86/earlyprintk: Add a force option for pciserial device
        objtool: Support per-function rodata sections
        x86/microcode: Make revision and processor flags world-readable
      601a8807
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 01897f3e
      Linus Torvalds authored
      Pull perf updates and fixes from Ingo Molnar:
       "These are almost all tooling updates: 'perf top', 'perf trace' and
        'perf script' fixes and updates, an UAPI header sync with the merge
        window versions, license marker updates, much improved Sparc support
        from David Miller, and a number of fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (66 commits)
        perf intel-pt/bts: Calculate cpumode for synthesized samples
        perf intel-pt: Insert callchain context into synthesized callchains
        perf tools: Don't clone maps from parent when synthesizing forks
        perf top: Start display thread earlier
        tools headers uapi: Update linux/if_link.h header copy
        tools headers uapi: Update linux/netlink.h header copy
        tools headers: Sync the various kvm.h header copies
        tools include uapi: Update linux/mmap.h copy
        perf trace beauty: Use the mmap flags table generated from headers
        perf beauty: Wire up the mmap flags table generator to the Makefile
        perf beauty: Add a generator for MAP_ mmap's flag constants
        tools include uapi: Update asound.h copy
        tools arch uapi: Update asm-generic/unistd.h and arm64 unistd.h copies
        tools include uapi: Update linux/fs.h copy
        perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc}
        perf cs-etm: Correct CPU mode for samples
        perf unwind: Take pgoff into account when reporting elf to libdwfl
        perf top: Do not use overwrite mode by default
        perf top: Allow disabling the overwrite mode
        perf trace: Beautify mount's first pathname arg
        ...
      01897f3e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e9ebc215
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "An irqchip driver fix and a memory (over-)allocation fix"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/irq-mvebu-sei: Fix a NULL vs IS_ERR() bug in probe function
        irq/matrix: Fix memory overallocation
      e9ebc215
  6. 03 Nov, 2018 11 commits
    • Peter Zijlstra's avatar
      sched/topology: Fix off by one bug · 993f0b05
      Peter Zijlstra authored
      With the addition of the NUMA identity level, we increased @level by
      one and will run off the end of the array in the distance sort loop.
      
      Fixed: 051f3ca0 ("sched/topology: Introduce NUMA identity node sched domain")
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      993f0b05
    • Ingo Molnar's avatar
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d2ff0ff2
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A few fixes who have come in near or during the merge window:
      
         - Removal of a VLA usage in Marvell mpp platform code
      
         - Enable some IPMI options for ARM64 servers by default, helps
           testing
      
         - Enable PREEMPT on 32-bit ARMv7 defconfig
      
         - Minor fix for stm32 DT (removal of an unused DMA property)
      
         - Bugfix for TI OMAP1-based ams-delta (-EINVAL -> IRQ_NOTCONNECTED)"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: stm32: update HASH1 dmas property on stm32mp157c
        ARM: orion: avoid VLA in orion_mpp_conf
        ARM: defconfig: Update multi_v7 to use PREEMPT
        arm64: defconfig: Enable some IPMI configs
        soc: ti: QMSS: Fix usage of irq_set_affinity_hint
        ARM: OMAP1: ams-delta: Fix impossible .irq < 0
      d2ff0ff2
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 83650fd5
      Linus Torvalds authored
      Pull more arm64 updates from Catalin Marinas:
      
       - fix W+X page (mark RO) allocated by the arm64 kprobes code
      
       - Makefile fix for .i files in out of tree modules
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: kprobe: make page to RO mode when allocate it
        arm64: kdump: fix small typo
        arm64: makefile fix build of .i file in external module case
      83650fd5
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.20-2' of git://git.infradead.org/users/hch/dma-mapping · 3308a383
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
       "Avoid compile warnings on non-default arm64 configs"
      
      * tag 'dma-mapping-4.20-2' of git://git.infradead.org/users/hch/dma-mapping:
        arm64: fix warnings without CONFIG_IOMMU_DMA
      3308a383
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 9a12efc5
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - clean-up leftovers in Kconfig files
      
       - remove stale oldnoconfig and silentoldconfig targets
      
       - remove unneeded cc-fullversion and cc-name variables
      
       - improve merge_config script to allow overriding option prefix
      
      * tag 'kbuild-v4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: remove cc-name variable
        kbuild: replace cc-name test with CONFIG_CC_IS_CLANG
        merge_config.sh: Allow to define config prefix
        kbuild: remove unused cc-fullversion variable
        kconfig: remove silentoldconfig target
        kconfig: remove oldnoconfig target
        powerpc: PCI_MSI needs PCI
        powerpc: remove CONFIG_MCA leftovers
        powerpc: remove CONFIG_PCI_QSPAN
        scsi: aha152x: rename the PCMCIA define
      9a12efc5
    • Linus Torvalds's avatar
      Merge tag '4.20-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 16944728
      Linus Torvalds authored
      Pull cifs fixes and updates from Steve French:
       "Three small fixes (one Kerberos related, one for stable, and another
        fixes an oops in xfstest 377), two helpful debugging improvements,
        three patches for cifs directio and some minor cleanup"
      
      * tag '4.20-rc1-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix signed/unsigned mismatch on aio_read patch
        cifs: don't dereference smb_file_target before null check
        CIFS: Add direct I/O functions to file_operations
        CIFS: Add support for direct I/O write
        CIFS: Add support for direct I/O read
        smb3: missing defines and structs for reparse point handling
        smb3: allow more detailed protocol info on open files for debugging
        smb3: on kerberos mount if server doesn't specify auth type use krb5
        smb3: add trace point for tree connection
        cifs: fix spelling mistake, EACCESS -> EACCES
        cifs: fix return value for cifs_listxattr
      16944728
    • Linus Torvalds's avatar
      Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ed61a132
      Linus Torvalds authored
      Pull 9p fix from Al Viro:
       "Regression fix for net/9p handling of iov_iter; broken by braino when
        switching to iov_iter_is_kvec() et.al., spotted and fixed by Marc"
      
      * 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        iov_iter: Fix 9p virtio breakage
      ed61a132
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · af102b33
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is a set of minor small (and safe changes) that didn't make the
        initial pull request plus some bug fixes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: mvsas: Remove set but not used variable 'id'
        scsi: qla2xxx: Remove two arguments from qlafx00_error_entry()
        scsi: qla2xxx: Make sure that qlafx00_ioctl_iosb_entry() initializes 'res'
        scsi: qla2xxx: Remove a set-but-not-used variable
        scsi: qla2xxx: Make qla2x00_sysfs_write_nvram() easier to analyze
        scsi: qla2xxx: Declare local functions 'static'
        scsi: qla2xxx: Improve several kernel-doc headers
        scsi: qla2xxx: Modify fall-through annotations
        scsi: 3w-sas: 3w-9xxx: Use unsigned char for cdb
        scsi: mvsas: Use dma_pool_zalloc
        scsi: target: Don't request modules that aren't even built
        scsi: target: Set response length for REPORT TARGET PORT GROUPS
      af102b33
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · cddfa11a
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
      
       - more ocfs2 work
      
       - various leftovers
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        memory_hotplug: cond_resched in __remove_pages
        bfs: add sanity check at bfs_fill_super()
        kernel/sysctl.c: remove duplicated include
        kernel/kexec_file.c: remove some duplicated includes
        mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask
        ocfs2: fix clusters leak in ocfs2_defrag_extent()
        ocfs2: dlmglue: clean up timestamp handling
        ocfs2: don't put and assigning null to bh allocated outside
        ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry
        ocfs2: don't use iocb when EIOCBQUEUED returns
        ocfs2: without quota support, avoid calling quota recovery
        ocfs2: remove ocfs2_is_o2cb_active()
        mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings
        include/linux/notifier.h: SRCU: fix ctags
        mm: handle no memcg case in memcg_kmem_charge() properly
      cddfa11a
    • Michal Hocko's avatar
      memory_hotplug: cond_resched in __remove_pages · dd33ad7b
      Michal Hocko authored
      We have received a bug report that unbinding a large pmem (>1TB) can
      result in a soft lockup:
      
        NMI watchdog: BUG: soft lockup - CPU#9 stuck for 23s! [ndctl:4365]
        [...]
        Supported: Yes
        CPU: 9 PID: 4365 Comm: ndctl Not tainted 4.12.14-94.40-default #1 SLE12-SP4
        Hardware name: Intel Corporation S2600WFD/S2600WFD, BIOS SE5C620.86B.01.00.0833.051120182255 05/11/2018
        task: ffff9cce7d4410c0 task.stack: ffffbe9eb1bc4000
        RIP: 0010:__put_page+0x62/0x80
        Call Trace:
         devm_memremap_pages_release+0x152/0x260
         release_nodes+0x18d/0x1d0
         device_release_driver_internal+0x160/0x210
         unbind_store+0xb3/0xe0
         kernfs_fop_write+0x102/0x180
         __vfs_write+0x26/0x150
         vfs_write+0xad/0x1a0
         SyS_write+0x42/0x90
         do_syscall_64+0x74/0x150
         entry_SYSCALL_64_after_hwframe+0x3d/0xa2
        RIP: 0033:0x7fd13166b3d0
      
      It has been reported on an older (4.12) kernel but the current upstream
      code doesn't cond_resched in the hot remove code at all and the given
      range to remove might be really large.  Fix the issue by calling
      cond_resched once per memory section.
      
      Link: http://lkml.kernel.org/r/20181031125840.23982-1-mhocko@kernel.orgSigned-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Cc: Dan Williams <dan.j.williams@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dd33ad7b