Skip to content
  1. Dec 16, 2017
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.15-rc4' of git://github.com/ceph/ceph-client · dd3d66b8
      Linus Torvalds authored
      Pull ceph fix from Ilya Dryomov:
       "CephFS inode trimming fix from Zheng, marked for stable"
      
      * tag 'ceph-for-4.15-rc4' of git://github.com/ceph/ceph-client:
        ceph: drop negative child dentries before try pruning inode's alias
      dd3d66b8
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 227701e0
      Linus Torvalds authored
      Pull overlayfs fixes from Miklos Szeredi:
      
       - fix incomplete syncing of filesystem
      
       - fix regression in readdir on ovl over 9p
      
       - only follow redirects when needed
      
       - misc fixes and cleanups
      
      * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: fix overlay: warning prefix
        ovl: Use PTR_ERR_OR_ZERO()
        ovl: Sync upper dirty data when syncing overlayfs
        ovl: update ctx->pos on impure dir iteration
        ovl: Pass ovl_get_nlink() parameters in right order
        ovl: don't follow redirects if redirect_dir=off
      227701e0
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 06f976ec
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "There are some significant fixes in here for FP state corruption,
        hardware access/dirty PTE corruption and an erratum workaround for the
        Falkor CPU.
      
        I'm hoping that things finally settle down now, but never say never...
      
        Summary:
      
         - Fix FPSIMD context switch regression introduced in -rc2
      
         - Fix ABI break with SVE CPUID register reporting
      
         - Fix use of uninitialised variable
      
         - Fixes to hardware access/dirty management and sanity checking
      
         - CPU erratum workaround for Falkor CPUs
      
         - Fix reporting of writeable+executable mappings
      
         - Fix signal reporting for RAS errors"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: fpsimd: Fix copying of FP state from signal frame into task struct
        arm64/sve: Report SVE to userspace via CPUID only if supported
        arm64: fix CONFIG_DEBUG_WX address reporting
        arm64: fault: avoid send SIGBUS two times
        arm64: hw_breakpoint: Use linux/uaccess.h instead of asm/uaccess.h
        arm64: Add software workaround for Falkor erratum 1041
        arm64: Define cputype macros for Falkor CPU
        arm64: mm: Fix false positives in set_pte_at access/dirty race detection
        arm64: mm: Fix pte_mkclean, pte_mkdirty semantics
        arm64: Initialise high_memory global variable earlier
      06f976ec
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e53000b1
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes:
      
         - fix the s2ram regression related to confusion around segment
           register restoration, plus related cleanups that make the code more
           robust
      
         - a guess-unwinder Kconfig dependency fix
      
         - an isoimage build target fix for certain tool chain combinations
      
         - instruction decoder opcode map fixes+updates, and the syncing of
           the kernel decoder headers to the objtool headers
      
         - a kmmio tracing fix
      
         - two 5-level paging related fixes
      
         - a topology enumeration fix on certain SMP systems"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Resync objtool's instruction decoder source code copy with the kernel's latest version
        x86/decoder: Fix and update the opcodes map
        x86/power: Make restore_processor_context() sane
        x86/power/32: Move SYSENTER MSR restoration to fix_processor_context()
        x86/power/64: Use struct desc_ptr for the IDT in struct saved_context
        x86/unwinder/guess: Prevent using CONFIG_UNWINDER_GUESS=y with CONFIG_STACKDEPOT=y
        x86/build: Don't verify mtools configuration file for isoimage
        x86/mm/kmmio: Fix mmiotrace for page unaligned addresses
        x86/boot/compressed/64: Print error if 5-level paging is not supported
        x86/boot/compressed/64: Detect and handle 5-level paging at boot-time
        x86/smpboot: Do not use smp_num_siblings in __max_logical_packages calculation
      e53000b1
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1f76a755
      Linus Torvalds authored
      Pull locking fixes from Ingo Molnar:
       "Misc fixes:
      
         - Fix a S390 boot hang that was caused by the lock-break logic.
           Remove lock-break to begin with, as review suggested it was
           unreasonably fragile and our confidence in its continued good
           health is lower than our confidence in its removal.
      
         - Remove the lockdep cross-release checking code for now, because of
           unresolved false positive warnings. This should make lockdep work
           well everywhere again.
      
         - Get rid of the final (and single) ACCESS_ONCE() straggler and
           remove the API from v4.15.
      
         - Fix a liblockdep build warning"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/lib/lockdep: Add missing declaration of 'pr_cont()'
        checkpatch: Remove ACCESS_ONCE() warning
        compiler.h: Remove ACCESS_ONCE()
        tools/include: Remove ACCESS_ONCE()
        tools/perf: Convert ACCESS_ONCE() to READ_ONCE()
        locking/lockdep: Remove the cross-release locking checks
        locking/core: Remove break_lock field when CONFIG_GENERIC_LOCKBREAK=y
        locking/core: Fix deadlock during boot on systems with GENERIC_LOCKBREAK
      1f76a755
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a58653cc
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Two fixes: a crash fix for an ARM SoC platform, and kernel-doc
        warnings fixes"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/rt: Do not pull from current CPU if only one CPU to pull
        sched/core: Fix kernel-doc warnings after code movement
      a58653cc
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fba3614
      Linus Torvalds authored
      Pull perf tooling fix from Ingo Molnar:
       "Synchronize kernel <-> tooling headers to resolve two build warnings
        in the perf build"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/headers: Synchronize kernel <-> tooling headers
      3fba3614
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35d57884
      Linus Torvalds authored
      Pull early_ioremap fix from Ingo Molnar:
       "A boot hang fix when the EFI earlyprintk driver is enabled"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep
      35d57884
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.15-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · bde6b37e
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Two minor fixes for running as Xen dom0:
      
         - when built as 32 bit kernel on large machines the Xen LAPIC
           emulation should report a rather modern LAPIC in order to support
           enough APIC-Ids
      
         - The Xen LAPIC emulation is needed for dom0 only, so build it only
           for kernels supporting to run as Xen dom0"
      
      * tag 'for-linus-4.15-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: XEN_ACPI_PROCESSOR is Dom0-only
        x86/Xen: don't report ancient LAPIC version
      bde6b37e
    • Will Deacon's avatar
      arm64: fpsimd: Fix copying of FP state from signal frame into task struct · a4544831
      Will Deacon authored
      Commit 9de52a75 ("arm64: fpsimd: Fix failure to restore FPSIMD
      state after signals") fixed an issue reported in our FPSIMD signal
      restore code but inadvertently introduced another issue which tends to
      manifest as random SEGVs in userspace.
      
      The problem is that when we copy the struct fpsimd_state from the kernel
      stack (populated from the signal frame) into the struct held in the
      current thread_struct, we blindly copy uninitialised stack into the
      "cpu" field, which means that context-switching of the FP registers is
      no longer reliable.
      
      This patch fixes the problem by copying only the user_fpsimd member of
      struct fpsimd_state. We should really rework the function prototypes
      to take struct user_fpsimd_state * instead, but let's just get this
      fixed for now.
      
      Cc: Dave Martin <Dave.Martin@arm.com>
      Fixes: 9de52a75
      
       ("arm64: fpsimd: Fix failure to restore FPSIMD state after signals")
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      a4544831
  2. Dec 15, 2017
    • Steven Rostedt's avatar
      sched/rt: Do not pull from current CPU if only one CPU to pull · f73c52a5
      Steven Rostedt authored
      
      
      Daniel Wagner reported a crash on the BeagleBone Black SoC.
      
      This is a single CPU architecture, and does not have a functional
      arch_send_call_function_single_ipi() implementation which can crash
      the kernel if that is called.
      
      As it only has one CPU, it shouldn't be called, but if the kernel is
      compiled for SMP, the push/pull RT scheduling logic now calls it for
      irq_work if the one CPU is overloaded, it can use that function to call
      itself and crash the kernel.
      
      Ideally, we should disable the SCHED_FEAT(RT_PUSH_IPI) if the system
      only has a single CPU. But SCHED_FEAT is a constant if sched debugging
      is turned off. Another fix can also be used, and this should also help
      with normal SMP machines. That is, do not initiate the pull code if
      there's only one RT overloaded CPU, and that CPU happens to be the
      current CPU that is scheduling in a lower priority task.
      
      Even on a system with many CPUs, if there's many RT tasks waiting to
      run on a single CPU, and that CPU schedules in another RT task of lower
      priority, it will initiate the PULL logic in case there's a higher
      priority RT task on another CPU that is waiting to run. But if there is
      no other CPU with waiting RT tasks, it will initiate the RT pull logic
      on itself (as it still has RT tasks waiting to run). This is a wasted
      effort.
      
      Not only does this help with SMP code where the current CPU is the only
      one with RT overloaded tasks, it should also solve the issue that
      Daniel encountered, because it will prevent the PULL logic from
      executing, as there's only one CPU on the system, and the check added
      here will cause it to exit the RT pull code.
      
      Reported-by: default avatarDaniel Wagner <wagi@monom.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-rt-users <linux-rt-users@vger.kernel.org>
      Cc: stable@vger.kernel.org
      Fixes: 4bdced5c
      
       ("sched/rt: Simplify the IPI based RT balancing logic")
      Link: http://lkml.kernel.org/r/20171202130454.4cbbfe8d@vmware.local.home
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      f73c52a5
    • Ingo Molnar's avatar
      tools/headers: Synchronize kernel <-> tooling headers · 643e345c
      Ingo Molnar authored
      
      
      Two kernel headers got modified recently, which are used by tooling as well:
      
       tools/include/uapi/linux/kvm.h
       arch/x86/include/asm/cpufeatures.h
      
      None of those changes have an effect on tooling, so do a plain copy.
      
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      643e345c
    • Ingo Molnar's avatar
      objtool: Resync objtool's instruction decoder source code copy with the kernel's latest version · 215eada7
      Ingo Molnar authored
      
      
      This fixes the following warning:
      
        warning: objtool: x86 instruction decoder differs from kernel
      
      Note that there are cleanups queued up for v4.16 that will make this
      warning more informative and will make the syncing easier as well.
      
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      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>
      215eada7
    • Randy Dunlap's avatar
      x86/decoder: Fix and update the opcodes map · f5b5fab1
      Randy Dunlap authored
      
      
      Update x86-opcode-map.txt based on the October 2017 Intel SDM publication.
      Fix INVPID to INVVPID.
      Add UD0 and UD1 instruction opcodes.
      
      Also sync the objtool and perf tooling copies of this file.
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Masami Hiramatsu <masami.hiramatsu@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/aac062d7-c0f6-96e3-5c92-ed299e2bd3da@infradead.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      f5b5fab1
    • Andy Lutomirski's avatar
      x86/power: Make restore_processor_context() sane · 7ee18d67
      Andy Lutomirski authored
      My previous attempt to fix a couple of bugs in __restore_processor_context():
      
        5b06bbcf
      
       ("x86/power: Fix some ordering bugs in __restore_processor_context()")
      
      ... introduced yet another bug, breaking suspend-resume.
      
      Rather than trying to come up with a minimal fix, let's try to clean it up
      for real.  This patch fixes quite a few things:
      
       - The old code saved a nonsensical subset of segment registers.
         The only registers that need to be saved are those that contain
         userspace state or those that can't be trivially restored without
         percpu access working.  (On x86_32, we can restore percpu access
         by writing __KERNEL_PERCPU to %fs.  On x86_64, it's easier to
         save and restore the kernel's GSBASE.)  With this patch, we
         restore hardcoded values to the kernel state where applicable and
         explicitly restore the user state after fixing all the descriptor
         tables.
      
       - We used to use an unholy mix of inline asm and C helpers for
         segment register access.  Let's get rid of the inline asm.
      
      This fixes the reported s2ram hangs and make the code all around
      more logical.
      
      Analyzed-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Reported-by: default avatarPavel Machek <pavel@ucw.cz>
      Tested-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Tested-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Borislav Petkov <bpetkov@suse.de>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Fixes: 5b06bbcf
      
       ("x86/power: Fix some ordering bugs in __restore_processor_context()")
      Link: http://lkml.kernel.org/r/398ee68e5c0f766425a7b746becfc810840770ff.1513286253.git.luto@kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      7ee18d67
    • Andy Lutomirski's avatar
      x86/power/32: Move SYSENTER MSR restoration to fix_processor_context() · 896c80be
      Andy Lutomirski authored
      
      
      x86_64 restores system call MSRs in fix_processor_context(), and
      x86_32 restored them along with segment registers.  The 64-bit
      variant makes more sense, so move the 32-bit code to match the
      64-bit code.
      
      No side effects are expected to runtime behavior.
      
      Tested-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Borislav Petkov <bpetkov@suse.de>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Link: http://lkml.kernel.org/r/65158f8d7ee64dd6bbc6c1c83b3b34aaa854e3ae.1513286253.git.luto@kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      896c80be
    • Andy Lutomirski's avatar
      x86/power/64: Use struct desc_ptr for the IDT in struct saved_context · 090edbe2
      Andy Lutomirski authored
      
      
      x86_64's saved_context nonsensically used separate idt_limit and
      idt_base fields and then cast &idt_limit to struct desc_ptr *.
      
      This was correct (with -fno-strict-aliasing), but it's confusing,
      served no purpose, and required #ifdeffery. Simplify this by
      using struct desc_ptr directly.
      
      No change in functionality.
      
      Tested-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Borislav Petkov <bpetkov@suse.de>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Link: http://lkml.kernel.org/r/967909ce38d341b01d45eff53e278e2728a3a93a.1513286253.git.luto@kernel.org
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      090edbe2
    • Linus Torvalds's avatar
      Merge tag 'pm-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 032b4cc8
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "This fixes an issue in two recent commits that may cause
        pm_runtime_enable() to be called for too many times for some devices
        during the "thaw" transition belonging to hibernation"
      
      * tag 'pm-4.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / sleep: Avoid excess pm_runtime_enable() calls in device_resume()
      032b4cc8
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 04243787
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Various fix-ups:
      
         - comment fixes
      
         - build fix
      
         - better memory alloction (don't use NR_CPUS)
      
         - configuration fix
      
         - build warning fix
      
         - enhanced callback parameter (to simplify users of trace hooks)
      
         - give up on stack tracing when RCU isn't watching (it's a lost
           cause)"
      
      * tag 'trace-v4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Have stack trace not record if RCU is not watching
        tracing: Pass export pointer as argument to ->write()
        ring-buffer: Remove unused function __rb_data_page_index()
        tracing: make PREEMPTIRQ_EVENTS depend on TRACING
        tracing: Allocate mask_str buffer dynamically
        tracing: always define trace_{irq,preempt}_{enable_disable}
        tracing: Fix code comments in trace.c
      04243787
    • Steven Rostedt (VMware)'s avatar
      tracing: Have stack trace not record if RCU is not watching · b00d607b
      Steven Rostedt (VMware) authored
      
      
      The stack tracer records a stack dump whenever it sees a stack usage that is
      more than what it ever saw before. This can happen at any function that is
      being traced. If it happens when the CPU is going idle (or other strange
      locations), RCU may not be watching, and in this case, the recording of the
      stack trace will trigger a warning. There's been lots of efforts to make
      hacks to allow stack tracing to proceed even if RCU is not watching, but
      this only causes more issues to appear. Simply do not trace a stack if RCU
      is not watching. It probably isn't a bad stack anyway.
      
      Acked-by: default avatar"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      b00d607b
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.15-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · c4f988ee
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - add a pci_get_domain_bus_and_slot() stub for the CONFIG_PCI=n case to
         avoid build breakage in the v4.16 merge window if a
         pci_get_bus_and_slot() -> pci_get_domain_bus_and_slot() patch gets
         merged before the PCI tree (Randy Dunlap)
      
       - fix an AMD boot regression in the 64bit BAR support added in v4.15
         (Christian König)
      
       - fix an R-Car use-after-free that causes a crash if no PCIe card is
         present (Geert Uytterhoeven)
      
      * tag 'pci-v4.15-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: rcar: Fix use-after-free in probe error path
        x86/PCI: Only enable a 64bit BAR on single-socket AMD Family 15h
        x86/PCI: Fix infinite loop in search for 64bit BAR placement
        PCI: Add pci_get_domain_bus_and_slot() stub
      c4f988ee
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 18d40eae
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "17 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        arch: define weak abort()
        mm, oom_reaper: fix memory corruption
        kernel: make groups_sort calling a responsibility group_info allocators
        mm/frame_vector.c: release a semaphore in 'get_vaddr_frames()'
        tools/slabinfo-gnuplot: force to use bash shell
        kcov: fix comparison callback signature
        mm/slab.c: do not hash pointers when debugging slab
        mm/page_alloc.c: avoid excessive IRQ disabled times in free_unref_page_list()
        mm/memory.c: mark wp_huge_pmd() inline to prevent build failure
        scripts/faddr2line: fix CROSS_COMPILE unset error
        Documentation/vm/zswap.txt: update with same-value filled page feature
        exec: avoid gcc-8 warning for get_task_comm
        autofs: fix careless error in recent commit
        string.h: workaround for increased stack usage
        mm/kmemleak.c: make cond_resched() rate-limiting more efficient
        lib/rbtree,drm/mm: add rbtree_replace_node_cached()
        include/linux/idr.h: add #include <linux/bug.h>
      18d40eae
    • Sudip Mukherjee's avatar
      arch: define weak abort() · 7c2c11b2
      Sudip Mukherjee authored
      gcc toggle -fisolate-erroneous-paths-dereference (default at -O2
      onwards) isolates faulty code paths such as null pointer access, divide
      by zero etc.  If gcc port doesnt implement __builtin_trap, an abort() is
      generated which causes kernel link error.
      
      In this case, gcc is generating abort due to 'divide by zero' in
      lib/mpi/mpih-div.c.
      
      Currently 'frv' and 'arc' are failing.  Previously other arch was also
      broken like m32r was fixed by commit d22e3d69
      
       ("m32r: fix build
      failure").
      
      Let's define this weak function which is common for all arch and fix the
      problem permanently.  We can even remove the arch specific 'abort' after
      this is done.
      
      Link: http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukherjee@gmail.com
      Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
      Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>
      Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c2c11b2
    • Michal Hocko's avatar
      mm, oom_reaper: fix memory corruption · 4837fe37
      Michal Hocko authored
      David Rientjes has reported the following memory corruption while the
      oom reaper tries to unmap the victims address space
      
        BUG: Bad page map in process oom_reaper  pte:6353826300000000 pmd:00000000
        addr:00007f50cab1d000 vm_flags:08100073 anon_vma:ffff9eea335603f0 mapping:          (null) index:7f50cab1d
        file:          (null) fault:          (null) mmap:          (null) readpage:          (null)
        CPU: 2 PID: 1001 Comm: oom_reaper
        Call Trace:
           unmap_page_range+0x1068/0x1130
           __oom_reap_task_mm+0xd5/0x16b
           oom_reaper+0xff/0x14c
           kthread+0xc1/0xe0
      
      Tetsuo Handa has noticed that the synchronization inside exit_mmap is
      insufficient.  We only synchronize with the oom reaper if
      tsk_is_oom_victim which is not true if the final __mmput is called from
      a different context than the oom victim exit path.  This can trivially
      happen from context of any task which has grabbed mm reference (e.g.  to
      read /proc/<pid>/ file which requires mm etc.).
      
      The race would look like this
      
        oom_reaper		oom_victim		task
      						mmget_not_zero
      			do_exit
      			  mmput
        __oom_reap_task_mm				mmput
        						  __mmput
      						    exit_mmap
      						      remove_vma
          unmap_page_range
      
      Fix this issue by providing a new mm_is_oom_victim() helper which
      operates on the mm struct rather than a task.  Any context which
      operates on a remote mm struct should use this helper in place of
      tsk_is_oom_victim.  The flag is set in mark_oom_victim and never cleared
      so it is stable in the exit_mmap path.
      
      Debugged by Tetsuo Handa.
      
      Link: http://lkml.kernel.org/r/20171210095130.17110-1-mhocko@kernel.org
      Fixes: 21292580
      
       ("mm: oom: let oom_reap_task and exit_mmap run concurrently")
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Andrea Argangeli <andrea@kernel.org>
      Cc: <stable@vger.kernel.org>	[4.14]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4837fe37
    • Thiago Rafael Becker's avatar
      kernel: make groups_sort calling a responsibility group_info allocators · bdcf0a42
      Thiago Rafael Becker authored
      
      
      In testing, we found that nfsd threads may call set_groups in parallel
      for the same entry cached in auth.unix.gid, racing in the call of
      groups_sort, corrupting the groups for that entry and leading to
      permission denials for the client.
      
      This patch:
       - Make groups_sort globally visible.
       - Move the call to groups_sort to the modifiers of group_info
       - Remove the call to groups_sort from set_groups
      
      Link: http://lkml.kernel.org/r/20171211151420.18655-1-thiago.becker@gmail.com
      Signed-off-by: default avatarThiago Rafael Becker <thiago.becker@gmail.com>
      Reviewed-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
      Reviewed-by: default avatarNeilBrown <neilb@suse.com>
      Acked-by: default avatar"J. Bruce Fields" <bfields@fieldses.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.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>
      bdcf0a42
    • Christophe JAILLET's avatar
      mm/frame_vector.c: release a semaphore in 'get_vaddr_frames()' · 1f704fd0
      Christophe JAILLET authored
      A semaphore is acquired before this check, so we must release it before
      leaving.
      
      Link: http://lkml.kernel.org/r/20171211211009.4971-1-christophe.jaillet@wanadoo.fr
      Fixes: b7f0554a
      
       ("mm: fail get_vaddr_frames() for filesystem-dax mappings")
      Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: David Sterba <dsterba@suse.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1f704fd0
    • Liu, Changcheng's avatar
      tools/slabinfo-gnuplot: force to use bash shell · 0b265c3b
      Liu, Changcheng authored
      
      
      On some linux distributions, the default link of sh is dash which
      deoesn't support split array like "${var//,/ }"
      
      It's better to force to use bash shell directly.
      
      Link: http://lkml.kernel.org/r/20171208093751.GA175471@sofia
      Signed-off-by: default avatarLiu Changcheng <changcheng.liu@intel.com>
      Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b265c3b
    • Dmitry Vyukov's avatar
      kcov: fix comparison callback signature · 689d77f0
      Dmitry Vyukov authored
      Fix a silly copy-paste bug.  We truncated u32 args to u16.
      
      Link: http://lkml.kernel.org/r/20171207101134.107168-1-dvyukov@google.com
      Fixes: ded97d2c
      
       ("kcov: support comparison operands collection")
      Signed-off-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: syzkaller@googlegroups.com
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Vegard Nossum <vegard.nossum@oracle.com>
      Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      689d77f0
    • Geert Uytterhoeven's avatar
      mm/slab.c: do not hash pointers when debugging slab · 85c3e4a5
      Geert Uytterhoeven authored
      If CONFIG_DEBUG_SLAB/CONFIG_DEBUG_SLAB_LEAK are enabled, the slab code
      prints extra debug information when e.g.  corruption is detected.  This
      includes pointers, which are not very useful when hashed.
      
      Fix this by using %px to print unhashed pointers instead where it makes
      sense, and by removing the printing of a last user pointer referring to
      code.
      
      [geert+renesas@glider.be: v2]
        Link: http://lkml.kernel.org/r/1513179267-2509-1-git-send-email-geert+renesas@glider.be
      Link: http://lkml.kernel.org/r/1512641861-5113-1-git-send-email-geert+renesas@glider.be
      Fixes: ad67b74d
      
       ("printk: hash addresses printed with %p")
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarChristoph Lameter <cl@linux.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: "Tobin C . Harding" <me@tobin.cc>
      Cc: Kees Cook <keescook@chromium.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      85c3e4a5
    • Lucas Stach's avatar
      mm/page_alloc.c: avoid excessive IRQ disabled times in free_unref_page_list() · c24ad77d
      Lucas Stach authored
      Since commit 9cca35d4 ("mm, page_alloc: enable/disable IRQs once
      when freeing a list of pages") we see excessive IRQ disabled times of up
      to 25ms on an embedded ARM system (tracing overhead included).
      
      This is due to graphics buffers being freed back to the system via
      release_pages().  Graphics buffers can be huge, so it's not hard to hit
      cases where the list of pages to free has 2048 entries.  Disabling IRQs
      while freeing all those pages is clearly not a good idea.
      
      Introduce a batch limit, which allows IRQ servicing once every few
      pages.  The batch count is the same as used in other parts of the MM
      subsystem when dealing with IRQ disabled regions.
      
      Link: http://lkml.kernel.org/r/20171207170314.4419-1-l.stach@pengutronix.de
      Fixes: 9cca35d4
      
       ("mm, page_alloc: enable/disable IRQs once when freeing a list of pages")
      Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
      Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c24ad77d
    • Geert Uytterhoeven's avatar
      mm/memory.c: mark wp_huge_pmd() inline to prevent build failure · 183f24aa
      Geert Uytterhoeven authored
      With gcc 4.1.2:
      
          mm/memory.o: In function `wp_huge_pmd':
          memory.c:(.text+0x9b4): undefined reference to `do_huge_pmd_wp_page'
      
      Interestingly, wp_huge_pmd() is emitted in the assembler output, but
      never called.
      
      Apparently replacing the call to pmd_write() in __handle_mm_fault() by a
      call to the more complex pmd_access_permitted() reduced the ability of
      the compiler to remove unused code.
      
      Fix this by marking wp_huge_pmd() inline, like was done in commit
      91a90140 ("mm/memory.c: mark create_huge_pmd() inline to prevent
      build failure") for a similar problem.
      
      [akpm@linux-foundation.org: add comment]
      Link: http://lkml.kernel.org/r/1512335500-10889-1-git-send-email-geert@linux-m68k.org
      Fixes: c7da82b8
      
       ("mm: replace pmd_write with pmd_access_permitted in fault + gup paths")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      183f24aa
    • Liu, Changcheng's avatar
      scripts/faddr2line: fix CROSS_COMPILE unset error · 4cc90b4c
      Liu, Changcheng authored
      faddr2line hit var unbound error when CROSS_COMPILE isn't set since
      nounset option is set in bash script.
      
      Link: http://lkml.kernel.org/r/20171206013022.GA83929@sofia
      Fixes: 95a87982
      
       ("scripts/faddr2line: extend usage on generic arch")
      Signed-off-by: default avatarLiu Changcheng <changcheng.liu@intel.com>
      Reported-by: default avatarRichard Weinberger <richard.weinberger@gmail.com>
      Reviewed-by: default avatarRichard Weinberger <richard@nod.at>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Philippe Ombredanne <pombredanne@nexb.com>
      Cc: NeilBrown <neilb@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4cc90b4c
    • Srividya Desireddy's avatar
      Documentation/vm/zswap.txt: update with same-value filled page feature · 51f73fff
      Srividya Desireddy authored
      
      
      Update zswap document with details on same-value filled pages
      identification feature.  The usage of zswap.same_filled_pages_enabled
      module parameter is explained.
      
      Link: http://lkml.kernel.org/r/20171206114852epcms5p6973b02a9f455d5d3c765eafda0fe2631@epcms5p6
      Signed-off-by: default avatarSrividya Desireddy <srividya.dr@samsung.com>
      Acked-by: default avatarDan Streetman <ddstreet@ieee.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      51f73fff
    • Arnd Bergmann's avatar
      exec: avoid gcc-8 warning for get_task_comm · 3756f640
      Arnd Bergmann authored
      
      
      gcc-8 warns about using strncpy() with the source size as the limit:
      
        fs/exec.c:1223:32: error: argument to 'sizeof' in 'strncpy' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
      
      This is indeed slightly suspicious, as it protects us from source
      arguments without NUL-termination, but does not guarantee that the
      destination is terminated.
      
      This keeps the strncpy() to ensure we have properly padded target
      buffer, but ensures that we use the correct length, by passing the
      actual length of the destination buffer as well as adding a build-time
      check to ensure it is exactly TASK_COMM_LEN.
      
      There are only 23 callsites which I all reviewed to ensure this is
      currently the case.  We could get away with doing only the check or
      passing the right length, but it doesn't hurt to do both.
      
      Link: http://lkml.kernel.org/r/20171205151724.1764896-1-arnd@arndb.de
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Suggested-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Serge Hallyn <serge@hallyn.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Aleksa Sarai <asarai@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Frederic Weisbecker <frederic@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3756f640
    • NeilBrown's avatar
      autofs: fix careless error in recent commit · 302ec300
      NeilBrown authored
      Commit ecc0c469 ("autofs: don't fail mount for transient error") was
      meant to replace an 'if' with a 'switch', but instead added the 'switch'
      leaving the case in place.
      
      Link: http://lkml.kernel.org/r/87zi6wstmw.fsf@notabene.neil.brown.name
      Fixes: ecc0c469
      
       ("autofs: don't fail mount for transient error")
      Reported-by: default avatarBen Hutchings <ben.hutchings@codethink.co.uk>
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      Cc: Ian Kent <raven@themaw.net>
      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>
      302ec300
    • Arnd Bergmann's avatar
      string.h: workaround for increased stack usage · 146734b0
      Arnd Bergmann authored
      The hardened strlen() function causes rather large stack usage in at
      least one file in the kernel, in particular when CONFIG_KASAN is
      enabled:
      
        drivers/media/usb/em28xx/em28xx-dvb.c: In function 'em28xx_dvb_init':
        drivers/media/usb/em28xx/em28xx-dvb.c:2062:1: error: the frame size of 3256 bytes is larger than 204 bytes [-Werror=frame-larger-than=]
      
      Analyzing this problem led to the discovery that gcc fails to merge the
      stack slots for the i2c_board_info[] structures after we strlcpy() into
      them, due to the 'noreturn' attribute on the source string length check.
      
      I reported this as a gcc bug, but it is unlikely to get fixed for gcc-8,
      since it is relatively easy to work around, and it gets triggered
      rarely.  An earlier workaround I did added an empty inline assembly
      statement before the call to fortify_panic(), which works surprisingly
      well, but is really ugly and unintuitive.
      
      This is a new approach to the same problem, this time addressing it by
      not calling the 'extern __real_strnlen()' function for string constants
      where __builtin_strlen() is a compile-time constant and therefore known
      to be safe.
      
      We do this by checking if the last character in the string is a
      compile-time constant '\0'.  If it is, we can assume that strlen() of
      the string is also constant.
      
      As a side-effect, this should also improve the object code output for
      any other call of strlen() on a string constant.
      
      [akpm@linux-foundation.org: add comment]
      Link: http://lkml.kernel.org/r/20171205215143.3085755-1-arnd@arndb.de
      Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82365
      Link: https://patchwork.kernel.org/patch/9980413/
      Link: https://patchwork.kernel.org/patch/9974047/
      Fixes: 6974f0c4
      
       ("include/linux/string.h: add the option of fortified string.h functions")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Daniel Micay <danielmicay@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Martin Wilck <mwilck@suse.com>
      Cc: Dan Williams <dan.j.williams@intel.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>
      146734b0
    • Andrew Morton's avatar
      mm/kmemleak.c: make cond_resched() rate-limiting more efficient · 13ab183d
      Andrew Morton authored
      Commit bde5f6bc ("kmemleak: add scheduling point to
      kmemleak_scan()") tries to rate-limit the frequency of cond_resched()
      calls, but does it in a way which might incur an expensive division
      operation in the inner loop.  Simplify this.
      
      Fixes: bde5f6bc
      
       ("kmemleak: add scheduling point to kmemleak_scan()")
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Yisheng Xie <xieyisheng1@huawei.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13ab183d
    • Chris Wilson's avatar
      lib/rbtree,drm/mm: add rbtree_replace_node_cached() · 338f1d9d
      Chris Wilson authored
      Add a variant of rbtree_replace_node() that maintains the leftmost cache
      of struct rbtree_root_cached when replacing nodes within the rbtree.
      
      As drm_mm is the only rb_replace_node() being used on an interval tree,
      the mistake looks fairly self-contained.  Furthermore the only user of
      drm_mm_replace_node() is its testsuite...
      
      Testcase: igt/drm_mm/replace
      
      Link: http://lkml.kernel.org/r/20171122100729.3742-1-chris@chris-wilson.co.uk
      Link: https://patchwork.freedesktop.org/patch/msgid/20171109212435.9265-1-chris@chris-wilson.co.uk
      Fixes: f808c13f
      
       ("lib/interval_tree: fast overlap detection")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Acked-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Cc: Jérôme Glisse <jglisse@redhat.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off...
      338f1d9d
    • Wei Wang's avatar
      include/linux/idr.h: add #include <linux/bug.h> · c47d7f56
      Wei Wang authored
      The <linux/bug.h> was removed from radix-tree.h by commit f5bba9d1
      ("include/linux/radix-tree.h: remove unneeded #include <linux/bug.h>").
      
      Since that commit, tools/testing/radix-tree/ couldn't pass compilation
      due to tools/testing/radix-tree/idr.c:17: undefined reference to
      WARN_ON_ONCE.  This patch adds the bug.h header to idr.h to solve the
      issue.
      
      Link: http://lkml.kernel.org/r/1511963726-34070-2-git-send-email-wei.w.wang@intel.com
      Fixes: f5bba9d1
      
       ("include/linux/radix-tree.h: remove unneeded #include <linux/bug.h>")
      Signed-off-by: default avatarWei Wang <wei.w.wang@intel.com>
      Cc: Matthew Wilcox <mawilcox@microsoft.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c47d7f56
    • Linus Torvalds's avatar
      Merge tag '4.15-rc-smb3' of git://git.samba.org/sfrench/cifs-2.6 · d455df0b
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Small SMB3 fixes for stable and 4.15rc"
      
      * tag '4.15-rc-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: don't log STATUS_NOT_FOUND errors for DFS
        cifs: fix NULL deref in SMB2_read
      d455df0b