Skip to content
  1. Aug 05, 2019
  2. Aug 04, 2019
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20190803' of git://github.com/jcmvbkbc/linux-xtensa · d8778f13
      Linus Torvalds authored
      Pull Xtensa fix from Max Filippov:
       "Fix build for xtensa cores with coprocessors that was broken by
        entry/return abstraction patch"
      
      * tag 'xtensa-20190803' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: fix build for cores with coprocessors
      d8778f13
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · cf6c8aef
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "A set of driver fixes for the I2C subsystem"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: s3c2410: Mark expected switch fall-through
        i2c: at91: fix clk_offset for sama5d2
        i2c: at91: disable TXRDY interrupt after sending data
        i2c: iproc: Fix i2c master read more than 63 bytes
        eeprom: at24: make spd world-readable again
      cf6c8aef
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8b7fd679
      Linus Torvalds authored
      Pull perf tooling fixes from Thomas Gleixner:
       "A set of updates for perf tools and documentation:
      
        perf header:
          - Prevent a division by zero
          - Deal with an uninitialized warning proper
      
        libbpf:
          - Fix the missiong __WORDSIZE definition for musl & al
      
        UAPI headers:
          - Synchronize kernel headers
      
        Documentation:
          - Fix the memory units for perf.data size"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        libbpf: fix missing __WORDSIZE definition
        perf tools: Fix perf.data documentation units for memory size
        perf header: Fix use of unitialized value warning
        perf header: Fix divide by zero error if f_header.attr_size==0
        tools headers UAPI: Sync if_link.h with the kernel
        tools headers UAPI: Sync sched.h with the kernel
        tools headers UAPI: Sync usbdevice_fs.h with the kernels to get new ioctl
        tools perf beauty: Fix usbdevfs_ioctl table generator to handle _IOC()
        tools headers UAPI: Update tools's copy of drm.h headers
        tools headers UAPI: Update tools's copy of mman.h headers
        tools headers UAPI: Update tools's copy of kvm.h headers
        tools include UAPI: Sync x86's syscalls_64.tbl and generic unistd.h to pick up clone3 and pidfd_open
      8b7fd679
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0432a0a0
      Linus Torvalds authored
      Pull vdso timer fixes from Thomas Gleixner:
       "A series of commits to deal with the regression caused by the generic
        VDSO implementation.
      
        The usage of clock_gettime64() for 32bit compat fallback syscalls
        caused seccomp filters to kill innocent processes because they only
        allow clock_gettime().
      
        Handle the compat syscalls with clock_gettime() as before, which is
        not a functional problem for the VDSO as the legacy compat application
        interface is not y2038 safe anyway. It's just extra fallback code
        which needs to be implemented on every architecture.
      
        It's opt in for now so that it does not break the compile of already
        converted architectures in linux-next. Once these are fixed, the
        #ifdeffery goes away.
      
        So much for trying to be smart and reuse code..."
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arm64: compat: vdso: Use legacy syscalls as fallback
        x86/vdso/32: Use 32bit syscall fallback
        lib/vdso/32: Provide legacy syscall fallbacks
        lib/vdso: Move fallback invocation to the callers
        lib/vdso/32: Remove inconsistent NULL pointer checks
      0432a0a0
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · af42e745
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A small bunch of fixes from the irqchip department:
      
         - Fix a couple of UAF on error paths (RZA1, GICv3 ITS)
      
         - Fix iMX GPCv2 trigger setting
      
         - Add missing of_node_put() on error path in MBIGEN
      
         - Add another bunch of /* fall-through */ to silence warnings"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/renesas-rza1: Fix an use-after-free in rza1_irqc_probe()
        irqchip/irq-imx-gpcv2: Forward irq type to parent
        irqchip/irq-mbigen: Add of_node_put() before return
        irqchip/gic-v3-its: Free unused vpt_page when alloc vpe table fail
        irqchip/gic-v3: Mark expected switch fall-through
      af42e745
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · e12b243d
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Avoid leaking kernel stack contents to userspace
      
       - Fix a potential null pointer dereference in the dabtree scrub code
      
      * tag 'xfs-5.3-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: Fix possible null-pointer dereferences in xchk_da_btree_block_check_sibling()
        xfs: fix stack contents leakage in the v1 inumber ioctls
      e12b243d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · b7aea68a
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "17 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        drivers/acpi/scan.c: document why we don't need the device_hotplug_lock
        memremap: move from kernel/ to mm/
        lib/test_meminit.c: use GFP_ATOMIC in RCU critical section
        asm-generic: fix -Wtype-limits compiler warnings
        cgroup: kselftest: relax fs_spec checks
        mm/memory_hotplug.c: remove unneeded return for void function
        mm/migrate.c: initialize pud_entry in migrate_vma()
        coredump: split pipe command whitespace before expanding template
        page flags: prioritize kasan bits over last-cpuid
        ubsan: build ubsan.c more conservatively
        kasan: remove clang version check for KASAN_STACK
        mm: compaction: avoid 100% CPU usage during compaction when a task is killed
        mm: migrate: fix reference check race between __find_get_block() and migration
        mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker
        ocfs2: remove set but not used variable 'last_hash'
        Revert "kmemleak: allow to coexist with fault injection"
        kernel/signal.c: fix a kernel-doc markup
      b7aea68a
  3. Aug 03, 2019
    • Linus Torvalds's avatar
      Merge tag 'riscv/for-v5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 61672549
      Linus Torvalds authored
      Pull RISC-V fixes from Paul Walmsley:
       "Three minor RISC-V-related changes for v5.3-rc3:
      
         - Add build ID to VDSO builds to avoid a double-free in perf when
           libelf isn't used
      
         - Align the RV64 defconfig to the output of "make savedefconfig" so
           subsequent defconfig patches don't get out of hand
      
         - Drop a superfluous DT property from the FU540 SoC DT data (since it
           must be already set in board data that includes it)"
      
      * tag 'riscv/for-v5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: defconfig: align RV64 defconfig to the output of "make savedefconfig"
        riscv: dts: fu540-c000: drop "timebase-frequency"
        riscv: Fix perf record without libelf support
      61672549
    • David Hildenbrand's avatar
      drivers/acpi/scan.c: document why we don't need the device_hotplug_lock · 7291edca
      David Hildenbrand authored
      
      
      Let's document why the lock is not needed in acpi_scan_init(), right now
      this is not really obvious.
      
      [akpm@linux-foundation.org: fix tpyo]
      Link: http://lkml.kernel.org/r/20190731135306.31524-1-david@redhat.com
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: Oscar Salvador <osalvador@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7291edca
    • Christoph Hellwig's avatar
      memremap: move from kernel/ to mm/ · 14c5ceba
      Christoph Hellwig authored
      
      
      memremap.c implements MM functionality for ZONE_DEVICE, so it really
      should be in the mm/ directory, not the kernel/ one.
      
      Link: http://lkml.kernel.org/r/20190722094143.18387-1-hch@lst.de
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      14c5ceba
    • Alexander Potapenko's avatar
      lib/test_meminit.c: use GFP_ATOMIC in RCU critical section · 733d1d1a
      Alexander Potapenko authored
      
      
      kmalloc() shouldn't sleep while in RCU critical section, therefore use
      GFP_ATOMIC instead of GFP_KERNEL.
      
      The bug was spotted by the 0day kernel testing robot.
      
      Link: http://lkml.kernel.org/r/20190725121703.210874-1-glider@google.com
      Fixes: 7e659650cbda ("lib: introduce test_meminit module")
      Signed-off-by: default avatarAlexander Potapenko <glider@google.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      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>
      733d1d1a
    • Qian Cai's avatar
      asm-generic: fix -Wtype-limits compiler warnings · cbedfe11
      Qian Cai authored
      Commit d66acc39 ("bitops: Optimise get_order()") introduced a
      compilation warning because "rx_frag_size" is an "ushort" while
      PAGE_SHIFT here is 16.
      
      The commit changed the get_order() to be a multi-line macro where
      compilers insist to check all statements in the macro even when
      __builtin_constant_p(rx_frag_size) will return false as "rx_frag_size"
      is a module parameter.
      
      In file included from ./arch/powerpc/include/asm/page_64.h:107,
                       from ./arch/powerpc/include/asm/page.h:242,
                       from ./arch/powerpc/include/asm/mmu.h:132,
                       from ./arch/powerpc/include/asm/lppaca.h:47,
                       from ./arch/powerpc/include/asm/paca.h:17,
                       from ./arch/powerpc/include/asm/current.h:13,
                       from ./include/linux/thread_info.h:21,
                       from ./arch/powerpc/include/asm/processor.h:39,
                       from ./include/linux/prefetch.h:15,
                       from drivers/net/ethernet/emulex/benet/be_main.c:14:
      drivers/net/ethernet/emulex/benet/be_main.c: In function 'be_rx_cqs_create':
      ./include/asm-generic/getorder.h:54:9: warning: comparison is always
      true due to limited range of data type [-Wtype-limits]
         (((n) < (1UL << PAGE_SHIFT)) ? 0 :  \
               ^
      drivers/net/ethernet/emulex/benet/be_main.c:3138:33: note: in expansion
      of macro 'get_order'
        adapter->big_page_size = (1 << get_order(rx_frag_size)) * PAGE_SIZE;
                                       ^~~~~~~~~
      
      Fix it by moving all of this multi-line macro into a proper function,
      and killing __get_order() off.
      
      [akpm@linux-foundation.org: remove __get_order() altogether]
      [cai@lca.pw: v2]
        Link: http://lkml.kernel.org/r/1564000166-31428-1-git-send-email-cai@lca.pw
      Link: http://lkml.kernel.org/r/1563914986-26502-1-git-send-email-cai@lca.pw
      Fixes: d66acc39
      
       ("bitops: Optimise get_order()")
      Signed-off-by: default avatarQian Cai <cai@lca.pw>
      Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jakub Jelinek <jakub@redhat.com>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Bill Wendling <morbo@google.com>
      Cc: James Y Knight <jyknight@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cbedfe11
    • Chris Down's avatar
      cgroup: kselftest: relax fs_spec checks · b59b1baa
      Chris Down authored
      
      
      On my laptop most memcg kselftests were being skipped because it claimed
      cgroup v2 hierarchy wasn't mounted, but this isn't correct.  Instead, it
      seems current systemd HEAD mounts it with the name "cgroup2" instead of
      "cgroup":
      
          % grep cgroup /proc/mounts
          cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
      
      I can't think of a reason to need to check fs_spec explicitly
      since it's arbitrary, so we can just rely on fs_vfstype.
      
      After these changes, `make TARGETS=cgroup kselftest` actually runs the
      cgroup v2 tests in more cases.
      
      Link: http://lkml.kernel.org/r/20190723210737.GA487@chrisdown.name
      Signed-off-by: default avatarChris Down <chris@chrisdown.name>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Roman Gushchin <guro@fb.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>
      b59b1baa
    • Weitao Hou's avatar
      mm/memory_hotplug.c: remove unneeded return for void function · aa4996b3
      Weitao Hou authored
      
      
      return is unneeded in void function
      
      Link: http://lkml.kernel.org/r/20190723130814.21826-1-houweitaoo@gmail.com
      Signed-off-by: default avatarWeitao Hou <houweitaoo@gmail.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarOscar Salvador <osalvador@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aa4996b3
    • Ralph Campbell's avatar
      mm/migrate.c: initialize pud_entry in migrate_vma() · 7b358c6f
      Ralph Campbell authored
      When CONFIG_MIGRATE_VMA_HELPER is enabled, migrate_vma() calls
      migrate_vma_collect() which initializes a struct mm_walk but didn't
      initialize mm_walk.pud_entry.  (Found by code inspection) Use a C
      structure initialization to make sure it is set to NULL.
      
      Link: http://lkml.kernel.org/r/20190719233225.12243-1-rcampbell@nvidia.com
      Fixes: 8763cb45
      
       ("mm/migrate: new memory migration helper for use with device memory")
      Signed-off-by: default avatarRalph Campbell <rcampbell@nvidia.com>
      Reviewed-by: default avatarJohn Hubbard <jhubbard@nvidia.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: Mel Gorman <mgorman@techsingularity.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>
      7b358c6f
    • Paul Wise's avatar
      coredump: split pipe command whitespace before expanding template · 315c6926
      Paul Wise authored
      Save the offsets of the start of each argument to avoid having to update
      pointers to each argument after every corename krealloc and to avoid
      having to duplicate the memory for the dump command.
      
      Executable names containing spaces were previously being expanded from
      %e or %E and then split in the middle of the filename.  This is
      incorrect behaviour since an argument list can represent arguments with
      spaces.
      
      The splitting could lead to extra arguments being passed to the core
      dump handler that it might have interpreted as options or ignored
      completely.
      
      Core dump handlers that are not aware of this Linux kernel issue will be
      using %e or %E without considering that it may be split and so they will
      be vulnerable to processes with spaces in their names breaking their
      argument list.  If their internals are otherwise well written, such as
      if they are written in shell but quote arguments, they will work better
      after this change than before.  If they are not well written, then there
      is a slight chance of breakage depending on the details of the code but
      they will already be fairly broken by the split filenames.
      
      Core dump handlers that are aware of this Linux kernel issue will be
      placing %e or %E as the last item in their core_pattern and then
      aggregating all of the remaining arguments into one, separated by
      spaces.  Alternatively they will be obtaining the filename via other
      methods.  Both of these will be compatible with the new arrangement.
      
      A side effect from this change is that unknown template types (for
      example %z) result in an empty argument to the dump handler instead of
      the argument being dropped.  This is a desired change as:
      
      It is easier for dump handlers to process empty arguments than dropped
      ones, especially if they are written in shell or don't pass each
      template item with a preceding command-line option in order to
      differentiate between individual template types.  Most core_patterns in
      the wild do not use options so they can confuse different template types
      (especially numeric ones) if an earlier one gets dropped in old kernels.
      If the kernel introduces a new template type and a core_pattern uses it,
      the core dump handler might not expect that the argument can be dropped
      in old kernels.
      
      For example, this can result in security issues when %d is dropped in
      old kernels.  This happened with the corekeeper package in Debian and
      resulted in the interface between corekeeper and Linux having to be
      rewritten to use command-line options to differentiate between template
      types.
      
      The core_pattern for most core dump handlers is written by the handler
      author who would generally not insert unknown template types so this
      change should be compatible with all the core dump handlers that exist.
      
      Link: http://lkml.kernel.org/r/20190528051142.24939-1-pabs3@bonedaddy.net
      Fixes: 74aadce9
      
       ("core_pattern: allow passing of arguments to user mode helper when core_pattern is a pipe")
      Signed-off-by: default avatarPaul Wise <pabs3@bonedaddy.net>
      Reported-by: Jakub Wilk <jwilk@jwilk.net> [https://bugs.debian.org/924398]
      Reported-by: default avatarPaul Wise &lt;pabs3@bonedaddy.net&gt; <[https://lore.kernel.org/linux-fsdevel/c8b7ecb8508895bf4adb62a748e2ea2c71854597.camel@bonedaddy.net/]>
      Suggested-by: default avatarJakub Wilk <jwilk@jwilk.net>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      315c6926
    • Arnd Bergmann's avatar
      page flags: prioritize kasan bits over last-cpuid · ee38d94a
      Arnd Bergmann authored
      ARM64 randdconfig builds regularly run into a build error, especially
      when NUMA_BALANCING and SPARSEMEM are enabled but not SPARSEMEM_VMEMMAP:
      
        #error "KASAN: not enough bits in page flags for tag"
      
      The last-cpuid bits are already contitional on the available space, so
      the result of the calculation is a bit random on whether they were
      already left out or not.
      
      Adding the kasan tag bits before last-cpuid makes it much more likely to
      end up with a successful build here, and should be reliable for
      randconfig at least, as long as that does not randomize NR_CPUS or
      NODES_SHIFT but uses the defaults.
      
      In order for the modified check to not trigger in the x86 vdso32 code
      where all constants are wrong (building with -m32), enclose all the
      definitions with an #ifdef.
      
      [arnd@arndb.de: build fix]
        Link: http://lkml.kernel.org/r/CAK8P3a3Mno1SWTcuAOT0Wa9VS15pdU6EfnkxLbDpyS55yO04+g@mail.gmail.com
      Link: http://lkml.kernel.org/r/20190722115520.3743282-1-arnd@arndb.de
      Link: https://lore.kernel.org/lkml/20190618095347.3850490-1-arnd@arndb.de/
      Fixes: 2813b9c0
      
       ("kasan, mm, arm64: tag non slab memory allocated via pagealloc")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarAndrey Konovalov <andreyknvl@google.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee38d94a
    • Arnd Bergmann's avatar
      ubsan: build ubsan.c more conservatively · af700eae
      Arnd Bergmann authored
      objtool points out several conditions that it does not like, depending
      on the combination with other configuration options and compiler
      variants:
      
      stack protector:
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0xbf: call to __stack_chk_fail() with UACCESS enabled
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0xbe: call to __stack_chk_fail() with UACCESS enabled
      
      stackleak plugin:
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0x4a: call to stackleak_track_stack() with UACCESS enabled
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0x4a: call to stackleak_track_stack() with UACCESS enabled
      
      kasan:
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch()+0x25: call to memcpy() with UACCESS enabled
        lib/ubsan.o: warning: objtool: __ubsan_handle_type_mismatch_v1()+0x25: call to memcpy() with UACCESS enabled
      
      The stackleak and kasan options just need to be disabled for this file
      as we do for other files already.  For the stack protector, we already
      attempt to disable it, but this fails on clang because the check is
      mixed with the gcc specific -fno-conserve-stack option.  According to
      Andrey Ryabinin, that option is not even needed, dropping it here fixes
      the stackprotector issue.
      
      Link: http://lkml.kernel.org/r/20190722125139.1335385-1-arnd@arndb.de
      Link: https://lore.kernel.org/lkml/20190617123109.667090-1-arnd@arndb.de/t/
      Link: https://lore.kernel.org/lkml/20190722091050.2188664-1-arnd@arndb.de/t/
      Fixes: d08965a2
      
       ("x86/uaccess, ubsan: Fix UBSAN vs. SMAP")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.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>
      af700eae
    • Arnd Bergmann's avatar
      kasan: remove clang version check for KASAN_STACK · ebb6d35a
      Arnd Bergmann authored
      asan-stack mode still uses dangerously large kernel stacks of tens of
      kilobytes in some drivers, and it does not seem that anyone is working
      on the clang bug.
      
      Turn it off for all clang versions to prevent users from accidentally
      enabling it once they update to clang-9, and to help automated build
      testing with clang-9.
      
      Link: https://bugs.llvm.org/show_bug.cgi?id=38809
      Link: http://lkml.kernel.org/r/20190719200347.2596375-1-arnd@arndb.de
      Fixes: 6baec880
      
       ("kasan: turn off asan-stack for clang-8 and earlier")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Qian Cai <cai@lca.pw>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ebb6d35a
    • Mel Gorman's avatar
      mm: compaction: avoid 100% CPU usage during compaction when a task is killed · 670105a2
      Mel Gorman authored
      "howaboutsynergy" reported via kernel buzilla number 204165 that
      compact_zone_order was consuming 100% CPU during a stress test for
      prolonged periods of time.  Specifically the following command, which
      should exit in 10 seconds, was taking an excessive time to finish while
      the CPU was pegged at 100%.
      
        stress -m 220 --vm-bytes 1000000000 --timeout 10
      
      Tracing indicated a pattern as follows
      
                stress-3923  [007]   519.106208: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106212: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106216: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106219: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106223: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106227: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106231: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106235: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106238: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
                stress-3923  [007]   519.106242: mm_compaction_isolate_migratepages: range=(0x70bb80 ~ 0x70bb80) nr_scanned=0 nr_taken=0
      
      Note that compaction is entered in rapid succession while scanning and
      isolating nothing.  The problem is that when a task that is compacting
      receives a fatal signal, it retries indefinitely instead of exiting
      while making no progress as a fatal signal is pending.
      
      It's not easy to trigger this condition although enabling zswap helps on
      the basis that the timing is altered.  A very small window has to be hit
      for the problem to occur (signal delivered while compacting and
      isolating a PFN for migration that is not aligned to SWAP_CLUSTER_MAX).
      
      This was reproduced locally -- 16G single socket system, 8G swap, 30%
      zswap configured, vm-bytes 22000000000 using Colin Kings stress-ng
      implementation from github running in a loop until the problem hits).
      Tracing recorded the problem occurring almost 200K times in a short
      window.  With this patch, the problem hit 4 times but the task existed
      normally instead of consuming CPU.
      
      This problem has existed for some time but it was made worse by commit
      cf66f070 ("mm, compaction: do not consider a need to reschedule as
      contention").  Before that commit, if the same condition was hit then
      locks would be quickly contended and compaction would exit that way.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204165
      Link: http://lkml.kernel.org/r/20190718085708.GE24383@techsingularity.net
      Fixes: cf66f070
      
       ("mm, compaction: do not consider a need to reschedule as contention")
      Signed-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: <stable@vger.kernel.org>	[5.1+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      670105a2
    • Jan Kara's avatar
      mm: migrate: fix reference check race between __find_get_block() and migration · ebdf4de5
      Jan Kara authored
      buffer_migrate_page_norefs() can race with bh users in the following
      way:
      
      CPU1                                    CPU2
      buffer_migrate_page_norefs()
        buffer_migrate_lock_buffers()
        checks bh refs
        spin_unlock(&mapping->private_lock)
                                              __find_get_block()
                                                spin_lock(&mapping->private_lock)
                                                grab bh ref
                                                spin_unlock(&mapping->private_lock)
        move page                               do bh work
      
      This can result in various issues like lost updates to buffers (i.e.
      metadata corruption) or use after free issues for the old page.
      
      This patch closes the race by holding mapping->private_lock while the
      mapping is being moved to a new page.  Ordinarily, a reference can be
      taken outside of the private_lock using the per-cpu BH LRU but the
      references are checked and the LRU invalidated if necessary.  The
      private_lock is held once the references are known so the buffer lookup
      slow path will spin on the private_lock.  Between the page lock and
      private_lock, it should be impossible for other references to be
      acquired and updates to happen during the migration.
      
      A user had reported data corruption issues on a distribution kernel with
      a similar page migration implementation as mainline.  The data
      corruption could not be reproduced with this patch applied.  A small
      number of migration-intensive tests were run and no performance problems
      were noted.
      
      [mgorman@techsingularity.net: Changelog, removed tracing]
      Link: http://lkml.kernel.org/r/20190718090238.GF24383@techsingularity.net
      Fixes: 89cb0888
      
       "mm: migrate: provide buffer_migrate_page_norefs()"
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: <stable@vger.kernel.org>	[5.0+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ebdf4de5
    • Yang Shi's avatar
      mm: vmscan: check if mem cgroup is disabled or not before calling memcg slab shrinker · fa1e512f
      Yang Shi authored
      Shakeel Butt reported premature oom on kernel with
      "cgroup_disable=memory" since mem_cgroup_is_root() returns false even
      though memcg is actually NULL.  The drop_caches is also broken.
      
      It is because commit aeed1d32 ("mm/vmscan.c: generalize
      shrink_slab() calls in shrink_node()") removed the !memcg check before
      !mem_cgroup_is_root().  And, surprisingly root memcg is allocated even
      though memory cgroup is disabled by kernel boot parameter.
      
      Add mem_cgroup_disabled() check to make reclaimer work as expected.
      
      Link: http://lkml.kernel.org/r/1563385526-20805-1-git-send-email-yang.shi@linux.alibaba.com
      Fixes: aeed1d32
      
       ("mm/vmscan.c: generalize shrink_slab() calls in shrink_node()")
      Signed-off-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
      Reported-by: default avatarShakeel Butt <shakeelb@google.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Reviewed-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Jan Hadrava <had@kam.mff.cuni.cz>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Roman Gushchin <guro@fb.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Qian Cai <cai@lca.pw>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: <stable@vger.kernel.org>	[4.19+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa1e512f
    • YueHaibing's avatar
      ocfs2: remove set but not used variable 'last_hash' · 7bc36e3c
      YueHaibing authored
      
      
      Fixes gcc '-Wunused-but-set-variable' warning:
      
        fs/ocfs2/xattr.c: In function ocfs2_xattr_bucket_find:
        fs/ocfs2/xattr.c:3828:6: warning: variable last_hash set but not used [-Wunused-but-set-variable]
      
      It's never used and can be removed.
      
      Link: http://lkml.kernel.org/r/20190716132110.34836-1-yuehaibing@huawei.com
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Acked-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7bc36e3c
    • Yang Shi's avatar
      Revert "kmemleak: allow to coexist with fault injection" · df9576de
      Yang Shi authored
      When running ltp's oom test with kmemleak enabled, the below warning was
      triggerred since kernel detects __GFP_NOFAIL & ~__GFP_DIRECT_RECLAIM is
      passed in:
      
        WARNING: CPU: 105 PID: 2138 at mm/page_alloc.c:4608 __alloc_pages_nodemask+0x1c31/0x1d50
        Modules linked in: loop dax_pmem dax_pmem_core ip_tables x_tables xfs virtio_net net_failover virtio_blk failover ata_generic virtio_pci virtio_ring virtio libata
        CPU: 105 PID: 2138 Comm: oom01 Not tainted 5.2.0-next-20190710+ #7
        Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.2-0-g5f4c7b1-prebuilt.qemu-project.org 04/01/2014
        RIP: 0010:__alloc_pages_nodemask+0x1c31/0x1d50
        ...
         kmemleak_alloc+0x4e/0xb0
         kmem_cache_alloc+0x2a7/0x3e0
         mempool_alloc_slab+0x2d/0x40
         mempool_alloc+0x118/0x2b0
         bio_alloc_bioset+0x19d/0x350
         get_swap_bio+0x80/0x230
         __swap_writepage+0x5ff/0xb20
      
      The mempool_alloc_slab() clears __GFP_DIRECT_RECLAIM, however kmemleak
      has __GFP_NOFAIL set all the time due to d9570ee3 ("kmemleak:
      allow to coexist with fault injection").  But, it doesn't make any sense
      to have __GFP_NOFAIL and ~__GFP_DIRECT_RECLAIM specified at the same
      time.
      
      According to the discussion on the mailing list, the commit should be
      reverted for short term solution.  Catalin Marinas would follow up with
      a better solution for longer term.
      
      The failure rate of kmemleak metadata allocation may increase in some
      circumstances, but this should be expected side effect.
      
      Link: http://lkml.kernel.org/r/1563299431-111710-1-git-send-email-yang.shi@linux.alibaba.com
      Fixes: d9570ee3
      
       ("kmemleak: allow to coexist with fault injection")
      Signed-off-by: default avatarYang Shi <yang.shi@linux.alibaba.com>
      Suggested-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Qian Cai <cai@lca.pw>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      df9576de
    • Mauro Carvalho Chehab's avatar
      kernel/signal.c: fix a kernel-doc markup · 68d8681e
      Mauro Carvalho Chehab authored
      
      
      The kernel-doc parser doesn't handle expressions with %foo*.  Instead,
      when an asterisk should be part of a constant, it uses an alternative
      notation: `foo*`.
      
      Link: http://lkml.kernel.org/r/7f18c2e0b5e39e6b7eb55ddeb043b8b260b49f2d.1563361575.git.mchehab+samsung@kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
      Cc: Deepa Dinamani <deepa.kernel@gmail.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      68d8681e
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2019-08-02-1' of git://anongit.freedesktop.org/drm/drm · 0e31225f
      Linus Torvalds authored
      Pull more drm fixes from Daniel Vetter:
       "Dave sends his pull, everyone realizes they've been asleep at the
        wheel and hits send on their own pulls :-/
      
        Normally I'd just ignore these all because w/e for me and Dave. But
        this time around the latecomers also included drm-intel-fixes, which
        failed to send out a -fixes pull thus far for this release (screwed up
        vacation coverage, despite that 2/3 maintainers were around ... they
        all look appropriately guilty), and that really is overdue to get
        landed.
      
        And since I had to do a pull request anyway I pulled the other two
        late ones too.
      
        intel fixes (didn't have any ever since the main merge window pull):
         - gvt fixes (2 cc: stable)
         - fix gpu reset vs mm-shrinker vs wakeup fun (needed a few patches)
         - two gem locking fixes (one cc: stable)
         - pile of misc fixes all over with minor impact, 6 cc: stable, others
           from this window
      
        exynos:
         - misc minor fixes
      
        misc:
         - some build/Kconfig fixes
         - regression fix for vm scalability perf test which seems to mostly
           exercise dmesg/console logging ...
         - the vgem cache flush fix for arm64 broke the world on x86, so
           that's reverted again
      
      * tag 'drm-fixes-2019-08-02-1' of git://anongit.freedesktop.org/drm/drm: (42 commits)
        Revert "drm/vgem: fix cache synchronization on arm/arm64"
        drm/exynos: fix missing decrement of retry counter
        drm/exynos: add CONFIG_MMU dependency
        drm/exynos: remove redundant assignment to pointer 'node'
        drm/exynos: using dev_get_drvdata directly
        drm/bochs: Use shadow buffer for bochs framebuffer console
        drm/fb-helper: Instanciate shadow FB if configured in device's mode_config
        drm/fb-helper: Map DRM client buffer only when required
        drm/client: Support unmapping of DRM client buffers
        drm/i915: Only recover active engines
        drm/i915: Add a wakeref getter for iff the wakeref is already active
        drm/i915: Lift intel_engines_resume() to callers
        drm/vgem: fix cache synchronization on arm/arm64
        drm/i810: Use CONFIG_PREEMPTION
        drm/bridge: tc358764: Fix build error
        drm/bridge: lvds-encoder: Fix build error while CONFIG_DRM_KMS_HELPER=m
        drm/i915/gvt: Adding ppgtt to GVT GEM context after shadow pdps settled.
        drm/i915/gvt: grab runtime pm first for forcewake use
        drm/i915/gvt: fix incorrect cache entry for guest page mapping
        drm/i915/gvt: Checking workload's gma earlier
        ...
      0e31225f
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20190801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 4f1a6ef1
      Linus Torvalds authored
      Pull selinux fix from Paul Moore:
       "One more small fix for a potential memory leak in an error path"
      
      * tag 'selinux-pr-20190801' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: fix memory leak in policydb_init()
      4f1a6ef1
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.3a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · dcb8cfbd
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a small cleanup
      
       - a fix for a build error on ARM with some configs
      
       - a fix of a patch for the Xen gntdev driver
      
       - three patches for fixing a potential problem in the swiotlb-xen
         driver which Konrad was fine with me carrying them through the Xen
         tree
      
      * tag 'for-linus-5.3a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/swiotlb: remember having called xen_create_contiguous_region()
        xen/swiotlb: simplify range_straddles_page_boundary()
        xen/swiotlb: fix condition for calling xen_destroy_contiguous_region()
        xen: avoid link error on ARM
        xen/gntdev.c: Replace vm_map_pages() with vm_map_pages_zero()
        xen/pciback: remove set but not used variable 'old_state'
      dcb8cfbd
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · a507f25d
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Update the compat layer to allow single-byte watchpoints on all
         addresses (similar to the native support)
      
       - arm_pmu: fix the restoration of the counters on the
         CPU_PM_ENTER_FAILED path
      
       - Fix build regression with vDSO and Makefile not stripping
         CROSS_COMPILE_COMPAT
      
       - Fix the CTR_EL0 (cache type register) sanitisation on heterogeneous
         machines (e.g. big.LITTLE)
      
       - Fix the interrupt controller priority mask value when pseudo-NMIs are
         enabled
      
       - arm64 kprobes fixes: recovering of the PSTATE.D flag in the
         single-step exception handler, NOKPROBE annotations for
         unwind_frame() and walk_stackframe(), remove unneeded
         rcu_read_lock/unlock from debug handlers
      
       - Several gcc fall-through warnings
      
       - Unused variable warnings
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Make debug exception handlers visible from RCU
        arm64: kprobes: Recover pstate.D in single-step exception handler
        arm64/mm: fix variable 'tag' set but not used
        arm64/mm: fix variable 'pud' set but not used
        arm64: Remove unneeded rcu_read_lock from debug handlers
        arm64: unwind: Prohibit probing on return_address()
        arm64: Lower priority mask for GIC_PRIO_IRQON
        arm64/efi: fix variable 'si' set but not used
        arm64: cpufeature: Fix feature comparison for CTR_EL0.{CWG,ERG}
        arm64: vdso: Fix Makefile regression
        arm64: module: Mark expected switch fall-through
        arm64: smp: Mark expected switch fall-through
        arm64: hw_breakpoint: Fix warnings about implicit fallthrough
        drivers/perf: arm_pmu: Fix failure path in PM notifier
        arm64: compat: Allow single-byte watchpoints on all addresses
      a507f25d
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 9100fc5a
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
       "A few small fixes for the parisc architecture:
      
         - Fix fall-through warnings in parisc math emu code
      
         - Fix vmlinuz linking failure with debug-enabled kernels
      
         - Fix a race condition in kernel live-patching code
      
         - Add missing archclean Makefile target & defconfig adjustments"
      
      * 'parisc-5.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Add archclean Makefile target
        parisc: Strip debug info from kernel before creating compressed vmlinuz
        parisc: Fix build of compressed kernel even with debug enabled
        parisc: fix race condition in patching code
        parisc: rename default_defconfig to defconfig
        parisc: Fix fall-through warnings in fpudispatch.c
        parisc: Mark expected switch fall-throughs in fault.c
      9100fc5a
    • Linus Torvalds's avatar
      Merge tag 's390-5.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 4dd68199
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Default configs updates
      
       - Minor qdio cleanup
      
       - Sparse warnings fixes
      
       - Implicit-fallthrough warnings fixes
      
      * tag 's390-5.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/zcrypt: adjust switch fall through comments for -Wimplicit-fallthrough
        vfio-ccw: make vfio_ccw_async_region_ops static
        s390/3215: add switch fall through comment for -Wimplicit-fallthrough
        s390/tape: add fallthrough annotations
        s390/mm: add fallthrough annotations
        s390/mm: make gmap_test_and_clear_dirty_pmd static
        s390/kexec: add missing include to machine_kexec_reloc.c
        s390/perf: make cf_diag_csd static
        s390/lib: add missing include
        s390/boot: add missing declarations and includes
        s390: update configs
        s390: clean up qdio.h
      4dd68199
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6e6d0536
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Seven fixes to four drivers with no core changes.
      
        The mpt3sas one is theoretical until we get a CPU that goes up to 64
        bits physical, the qla2xxx one fixes an oops in a driver
        initialization error leg and the others are mostly cosmetic"
      
      [ The fcoe patches may be worth highlighting - they may be "just"
        cleanups, but they simplify and fix the odd fc_rport_priv structure
        handling rules so that the new gcc-9 warnings about memset crossing
        structure boundaries are gone.
      
        The old code was hard for humans to understand too, and really
        confused the compiler sanity checks  - Linus ]
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: qla2xxx: Fix possible fcport null-pointer dereferences
        scsi: mpt3sas: Use 63-bit DMA addressing on SAS35 HBA
        scsi: hpsa: remove printing internal cdb on tag collision
        scsi: hpsa: correct scsi command status issue after reset
        scsi: fcoe: pass in fcoe_rport structure instead of fc_rport_priv
        scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure
        scsi: libfc: Whitespace cleanup in libfc.h
      6e6d0536
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190802' of git://git.kernel.dk/linux-block · 10e5ddd7
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Here's a small collection of fixes that should go into this series.
        This contains:
      
         - io_uring potential use-after-free fix (Jackie)
      
         - loop regression fix (Jan)
      
         - O_DIRECT fragmented bio regression fix (Damien)
      
         - Mark Denis as the new floppy maintainer (Denis)
      
         - ataflop switch fall-through annotation (Gustavo)
      
         - libata zpodd overflow fix (Kees)
      
         - libata ahci deferred probe fix (Miquel)
      
         - nbd invalidation BUG_ON() fix (Munehisa)
      
         - dasd endless loop fix (Stefan)"
      
      * tag 'for-linus-20190802' of git://git.kernel.dk/linux-block:
        s390/dasd: fix endless loop after read unit address configuration
        block: Fix __blkdev_direct_IO() for bio fragments
        MAINTAINERS: floppy: take over maintainership
        nbd: replace kill_bdev() with __invalidate_device() again
        ata: libahci: do not complain in case of deferred probe
        io_uring: fix KASAN use after free in io_sq_wq_submit_work
        loop: Fix mount(2) failure due to race with LOOP_SET_FD
        libata: zpodd: Fix small read overflow in zpodd_get_mech_type()
        ataflop: Mark expected switch fall-through
      10e5ddd7
    • Linus Torvalds's avatar
      Merge tag 'for-5.3/dm-fixes-1' of... · b2c74237
      Linus Torvalds authored
      Merge tag 'for-5.3/dm-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
       "Fix NULL pointer and various whitespace issues with DM's recent DAX
        code changes from commit in 5.3 merge"
      
      * tag 'for-5.3/dm-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm table: fix various whitespace issues with recent DAX code
        dm table: fix dax_dev NULL dereference in device_synchronous()
      b2c74237
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · b07042ca
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
       "Here's our second -rc pull request. Nothing particularly special in
        this one. The client removal deadlock fix is kindy tricky, but we had
        multiple eyes on it and no one could find a fault in it. A couple
        Spectre V1 fixes too. Otherwise, all just normal -rc fodder:
      
         - A couple Spectre V1 fixes (umad, hfi1)
      
         - Fix a tricky deadlock in the rdma core code with refcounting
           instead of locks (client removal patches)
      
         - Build errors (hns)
      
         - Fix a scheduling while atomic issue (mlx5)
      
         - Use after free fix (mad)
      
         - Fix error path return code (hns)
      
         - Null deref fix (siw_crypto_hash)
      
         - A few other misc. minor fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/hns: Fix error return code in hns_roce_v1_rsv_lp_qp()
        RDMA/mlx5: Release locks during notifier unregister
        IB/hfi1: Fix Spectre v1 vulnerability
        IB/mad: Fix use-after-free in ib mad completion handling
        RDMA/restrack: Track driver QP types in resource tracker
        IB/mlx5: Fix MR registration flow to use UMR properly
        RDMA/devices: Remove the lock around remove_client_context
        RDMA/devices: Do not deadlock during client removal
        IB/core: Add mitigation for Spectre V1
        Do not dereference 'siw_crypto_shash' before checking
        RDMA/qedr: Fix the hca_type and hca_rev returned in device attributes
        RDMA/hns: Fix build error
      b07042ca
    • Linus Torvalds's avatar
      Merge tag 'for-5.3-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · d38c3fa6
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - tiny race window during 2 transactions aborting at the same time can
         accidentally lead to a commit
      
       - regression fix, possible deadlock during fiemap
      
       - fix for an old bug when incremental send can fail on a file that has
         been deduplicated in a special way
      
      * tag 'for-5.3-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Btrfs: fix deadlock between fiemap and transaction commits
        Btrfs: fix race leading to fs corruption after transaction abort
        Btrfs: fix incremental send failure after deduplication
      d38c3fa6
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.3-rc2.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 97b00aff
      Linus Torvalds authored
      Pull gfs2 fix from Andreas Gruenbacher:
       "Fix gfs2 cluster coherency bug"
      
      * tag 'gfs2-v5.3-rc2.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Inode dirtying fix
      97b00aff
  4. Aug 02, 2019
    • Linus Torvalds's avatar
      Merge tag 'pm-5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 755f1fed
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix recent regression affecting ACPI device power management"
      
      * tag 'pm-5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PM: Fix regression in acpi_device_set_power()
      755f1fed
    • Linus Torvalds's avatar
      Merge tag 'sound-5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 75cdf416
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
      
       - A further fix for syzcaller issues with USB-audio, addressing NULL
         dereference that was introduced by the recent fix
      
       - Avoid a long delay at boot with HD-audio when i915 module was built
         but not installed, found on some Debian systems
      
       - A fix of small race window at PCM draining
      
      * tag 'sound-5.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio: Fix gpf in snd_usb_pipe_sanity_check
        ALSA: pcm: fix lost wakeup event scenarios in snd_pcm_drain
        ALSA: hda: Fix 1-minute detection delay when i915 module is not available
      75cdf416