Skip to content
  1. Jul 13, 2019
    • Jason Gunthorpe's avatar
      mm: make !CONFIG_HUGE_PAGE wrappers into static inlines · 442a5a9a
      Jason Gunthorpe authored
      
      
      Instead of using defines, which loses type safety and provokes unused
      variable warnings from gcc, put the constants into static inlines.
      
      Link: http://lkml.kernel.org/r/20190522235102.GA15370@mellanox.com
      Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
      Suggested-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Cc: Jerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      442a5a9a
    • Miklos Szeredi's avatar
      mm/memory.c: trivial clean up in insert_page() · 465fc3a9
      Miklos Szeredi authored
      
      
      Make the success case use the same cleanup path as the failure case.
      
      Link: http://lkml.kernel.org/r/20190523134024.GC24093@localhost.localdomain
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      465fc3a9
    • Bharath Vedartham's avatar
      mm/gup.c: make follow_page_mask() static · a7030aea
      Bharath Vedartham authored
      
      
      follow_page_mask() is only used in gup.c, make it static.
      
      Link: http://lkml.kernel.org/r/20190510190831.GA4061@bharath12345-Inspiron-5559
      Signed-off-by: default avatarBharath Vedartham <linux.bhar@gmail.com>
      Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a7030aea
    • Mike Rapoport's avatar
      sparc: remove ARCH_SELECT_MEMORY_MODEL · 44567607
      Mike Rapoport authored
      
      
      The ARCH_SELECT_MEMORY_MODEL option is enabled only for 64-bit.  However,
      64-bit configuration also enables ARCH_SPARSEMEM_DEFAULT and there is no
      ARCH_FLATMEM_ENABLE in arch/sparc/Kconfig.
      
      With such settings, the dependencies in mm/Kconfig are always evaluated to
      SPARSEMEM=y for 64-bit and to FLATMEM=y for 32-bit.
      
      The ARCH_SELECT_MEMORY_MODEL option in arch/sparc/Kconfig does not affect
      anything and can be removed.
      
      Link: http://lkml.kernel.org/r/1556740577-4140-4-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      44567607
    • Mike Rapoport's avatar
      s390: remove ARCH_SELECT_MEMORY_MODEL · a9d8777e
      Mike Rapoport authored
      The only reason s390 has ARCH_SELECT_MEMORY_MODEL option in
      arch/s390/Kconfig is an ancient compile error with allnoconfig which was
      fixed by commit 97195d6b
      
       ("[S390] fix sparsemem related compile error
      with allnoconfig on s390") by adding the ARCH_SELECT_MEMORY_MODEL option.
      
      Since then a lot have changed and now allnoconfig builds just fine without
      ARCH_SELECT_MEMORY_MODEL, so it can be removed.
      
      Link: http://lkml.kernel.org/r/1556740577-4140-3-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a9d8777e
    • Mike Rapoport's avatar
      arm: remove ARCH_SELECT_MEMORY_MODEL · 03069bb0
      Mike Rapoport authored
      
      
      Patch series "remove ARCH_SELECT_MEMORY_MODEL where it has no effect".
      
      For several architectures the ARCH_SELECT_MEMORY_MODEL has no real effect
      because the dependencies for the memory model are always evaluated to a
      single value.
      
      Remove the ARCH_SELECT_MEMORY_MODEL from the Kconfigs for these
      architectures.
      
      This patch (of 3):
      
      The ARCH_SELECT_MEMORY_MODEL in arch/arm/Kconfig is enabled only when
      ARCH_SPARSEMEM_ENABLE=y.  But in this case, ARCH_SPARSEMEM_DEFAULT is also
      enabled and this in turn enables SPARSEMEM_MANUAL.
      
      Since there is no definition of ARCH_FLATMEM_ENABLE in arch/arm/Kconfig,
      SPARSEMEM_MANUAL is the only enabled memory model, hence the final
      selection will evaluate to SPARSEMEM=y.
      
      Since ARCH_SPARSEMEM_ENABLE is set to 'y' only by several sub-arch
      configurations, the default for must sub-arches would be the falback to
      FLATMEM regardless of ARCH_SELECT_MEMORY_MODEL.
      
      Link: http://lkml.kernel.org/r/1556740577-4140-2-git-send-email-rppt@linux.ibm.com
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      03069bb0
    • Andrew Morton's avatar
      include/linux/pfn_t.h: remove pfn_t_to_virt() · 2236b99d
      Andrew Morton authored
      
      
      It has no callers and there is no virt_to_pfn_t().
      
      Reported-by: default avatarAnshuman Khandual <anshuman.khandual@arm.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jérôme Glisse <jglisse@redhat.com>
      Cc: Laurent Dufour <ldufour@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2236b99d
    • Marco Elver's avatar
      mm/kasan: add object validation in ksize() · 0d4ca4c9
      Marco Elver authored
      
      
      ksize() has been unconditionally unpoisoning the whole shadow memory
      region associated with an allocation.  This can lead to various undetected
      bugs, for example, double-kzfree().
      
      Specifically, kzfree() uses ksize() to determine the actual allocation
      size, and subsequently zeroes the memory.  Since ksize() used to just
      unpoison the whole shadow memory region, no invalid free was detected.
      
      This patch addresses this as follows:
      
      1. Add a check in ksize(), and only then unpoison the memory region.
      
      2. Preserve kasan_unpoison_slab() semantics by explicitly unpoisoning
         the shadow memory region using the size obtained from __ksize().
      
      Tested:
      1. With SLAB allocator: a) normal boot without warnings; b) verified the
         added double-kzfree() is detected.
      2. With SLUB allocator: a) normal boot without warnings; b) verified the
         added double-kzfree() is detected.
      
      [elver@google.com: s/BUG_ON/WARN_ON_ONCE/, per Kees]
        Link: http://lkml.kernel.org/r/20190627094445.216365-6-elver@google.com
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199359
      Link: http://lkml.kernel.org/r/20190626142014.141844-6-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.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>
      0d4ca4c9
    • Marco Elver's avatar
      mm/slab: refactor common ksize KASAN logic into slab_common.c · 10d1f8cb
      Marco Elver authored
      
      
      This refactors common code of ksize() between the various allocators into
      slab_common.c: __ksize() is the allocator-specific implementation without
      instrumentation, whereas ksize() includes the required KASAN logic.
      
      Link: http://lkml.kernel.org/r/20190626142014.141844-5-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Acked-by: default avatarChristoph Lameter <cl@linux.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Mark Rutland <mark.rutland@arm.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>
      10d1f8cb
    • Marco Elver's avatar
      lib/test_kasan: Add test for double-kzfree detection · bb104ed7
      Marco Elver authored
      
      
      Add a simple test that checks if double-kzfree is being detected
      correctly.
      
      Link: http://lkml.kernel.org/r/20190626142014.141844-4-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Mark Rutland <mark.rutland@arm.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>
      bb104ed7
    • Marco Elver's avatar
      mm/kasan: change kasan_check_{read,write} to return boolean · b5f6e0fc
      Marco Elver authored
      
      
      This changes {,__}kasan_check_{read,write} functions to return a boolean
      denoting if the access was valid or not.
      
      [sfr@canb.auug.org.au: include types.h for "bool"]
        Link: http://lkml.kernel.org/r/20190705184949.13cdd021@canb.auug.org.au
      Link: http://lkml.kernel.org/r/20190626142014.141844-3-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Mark Rutland <mark.rutland@arm.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>
      b5f6e0fc
    • Marco Elver's avatar
      mm/kasan: introduce __kasan_check_{read,write} · 7d8ad890
      Marco Elver authored
      
      
      Patch series "mm/kasan: Add object validation in ksize()", v3.
      
      This patch (of 5):
      
      This introduces __kasan_check_{read,write}.  __kasan_check functions may
      be used from anywhere, even compilation units that disable instrumentation
      selectively.
      
      This change eliminates the need for the __KASAN_INTERNAL definition.
      
      [elver@google.com: v5]
        Link: http://lkml.kernel.org/r/20190708170706.174189-2-elver@google.com
      Link: http://lkml.kernel.org/r/20190626142014.141844-2-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.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>
      7d8ad890
    • Marco Elver's avatar
      asm-generic, x86: add bitops instrumentation for KASAN · 751ad98d
      Marco Elver authored
      This adds a new header to asm-generic to allow optionally instrumenting
      architecture-specific asm implementations of bitops.
      
      This change includes the required change for x86 as reference and
      changes the kernel API doc to point to bitops-instrumented.h instead.
      Rationale: the functions in x86's bitops.h are no longer the kernel API
      functions, but instead the arch_ prefixed functions, which are then
      instrumented via bitops-instrumented.h.
      
      Other architectures can similarly add support for asm implementations of
      bitops.
      
      The documentation text was derived from x86 and existing bitops
      asm-generic versions: 1) references to x86 have been removed; 2) as a
      result, some of the text had to be reworded for clarity and consistency.
      
      Tested using lib/test_kasan with bitops tests (pre-requisite patch).
      Bugzilla ref: https://bugzilla.kernel.org/show_bug.cgi?id=198439
      
      Link: http://lkml.kernel.org/r/20190613125950.197667-4-elver@google.com
      Signed-off-by: Marco Elve...
      751ad98d
    • Marco Elver's avatar
      x86: use static_cpu_has in uaccess region to avoid instrumentation · ff661350
      Marco Elver authored
      
      
      This patch is a pre-requisite for enabling KASAN bitops instrumentation;
      using static_cpu_has instead of boot_cpu_has avoids instrumentation of
      test_bit inside the uaccess region.  With instrumentation, the KASAN
      check would otherwise be flagged by objtool.
      
      For consistency, kernel/signal.c was changed to mirror this change,
      however, is never instrumented with KASAN (currently unsupported under
      x86 32bit).
      
      Link: http://lkml.kernel.org/r/20190613125950.197667-3-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Suggested-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      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>
      ff661350
    • Marco Elver's avatar
      lib/test_kasan: add bitops tests · 19a33ca6
      Marco Elver authored
      
      
      Patch series "Bitops instrumentation for KASAN", v5.
      
      This patch (of 3):
      
      This adds bitops tests to the test_kasan module.  In a follow-up patch,
      support for bitops instrumentation will be added.
      
      Link: http://lkml.kernel.org/r/20190613125950.197667-2-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Andrey Konovalov <andreyknvl@google.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      19a33ca6
    • Marco Elver's avatar
      mm/kasan: print frame description for stack bugs · e8969219
      Marco Elver authored
      
      
      This adds support for printing stack frame description on invalid stack
      accesses.  The frame description is embedded by the compiler, which is
      parsed and then pretty-printed.
      
      Currently, we can only print the stack frame info for accesses to the
      task's own stack, but not accesses to other tasks' stacks.
      
      Example of what it looks like:
      
        page dumped because: kasan: bad access detected
      
        addr ffff8880673ef98a is located in stack of task insmod/2008 at offset 106 in frame:
         kasan_stack_oob+0x0/0xf5 [test_kasan]
      
        this frame has 2 objects:
         [32, 36) 'i'
         [96, 106) 'stack_array'
      
        Memory state around the buggy address:
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198435
      Link: http://lkml.kernel.org/r/20190522100048.146841-1-elver@google.com
      Signed-off-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e8969219
    • André Almeida's avatar
      docs: kmemleak: add more documentation details · b7c3613e
      André Almeida authored
      
      
      Wikipedia now has a main article to "tracing garbage collector" topic.
      Change the URL and use the reStructuredText syntax for hyperlinks and add
      more details about the use of the tool.  Add a section about how to use
      the kmemleak-test module to test the memory leak scanning.
      
      Link: http://lkml.kernel.org/r/20190612155231.19448-2-andrealmeid@collabora.com
      Signed-off-by: default avatarAndré Almeida <andrealmeid@collabora.com>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.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>
      b7c3613e
    • André Almeida's avatar
      mm/kmemleak.c: change error at _write when kmemleak is disabled · 4e4dfce2
      André Almeida authored
      
      
      According to POSIX, EBUSY means that the "device or resource is busy", and
      this can lead to people thinking that the file
      `/sys/kernel/debug/kmemleak/` is somehow locked or being used by other
      process.  Change this error code to a more appropriate one.
      
      Link: http://lkml.kernel.org/r/20190612155231.19448-1-andrealmeid@collabora.com
      Signed-off-by: default avatarAndré Almeida <andrealmeid@collabora.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e4dfce2
    • Dmitry Vyukov's avatar
      mm/kmemleak.c: fix check for softirq context · 6ef90569
      Dmitry Vyukov authored
      
      
      in_softirq() is a wrong predicate to check if we are in a softirq
      context.  It also returns true if we have BH disabled, so objects are
      falsely stamped with "softirq" comm.  The correct predicate is
      in_serving_softirq().
      
      If user does cat from /sys/kernel/debug/kmemleak previously they would
      see this, which is clearly wrong, this is system call context (see the
      comm):
      
      unreferenced object 0xffff88805bd661c0 (size 64):
        comm "softirq", pid 0, jiffies 4294942959 (age 12.400s)
        hex dump (first 32 bytes):
          00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00  ................
          00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
        backtrace:
          [<0000000007dcb30c>] kmemleak_alloc_recursive include/linux/kmemleak.h:55 [inline]
          [<0000000007dcb30c>] slab_post_alloc_hook mm/slab.h:439 [inline]
          [<0000000007dcb30c>] slab_alloc mm/slab.c:3326 [inline]
          [<0000000007dcb30c>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553
          [<00000000969722b7>] kmalloc include/linux/slab.h:547 [inline]
          [<00000000969722b7>] kzalloc include/linux/slab.h:742 [inline]
          [<00000000969722b7>] ip_mc_add1_src net/ipv4/igmp.c:1961 [inline]
          [<00000000969722b7>] ip_mc_add_src+0x36b/0x400 net/ipv4/igmp.c:2085
          [<00000000a4134b5f>] ip_mc_msfilter+0x22d/0x310 net/ipv4/igmp.c:2475
          [<00000000d20248ad>] do_ip_setsockopt.isra.0+0x19fe/0x1c00 net/ipv4/ip_sockglue.c:957
          [<000000003d367be7>] ip_setsockopt+0x3b/0xb0 net/ipv4/ip_sockglue.c:1246
          [<000000003c7c76af>] udp_setsockopt+0x4e/0x90 net/ipv4/udp.c:2616
          [<000000000c1aeb23>] sock_common_setsockopt+0x3e/0x50 net/core/sock.c:3130
          [<000000000157b92b>] __sys_setsockopt+0x9e/0x120 net/socket.c:2078
          [<00000000a9f3d058>] __do_sys_setsockopt net/socket.c:2089 [inline]
          [<00000000a9f3d058>] __se_sys_setsockopt net/socket.c:2086 [inline]
          [<00000000a9f3d058>] __x64_sys_setsockopt+0x26/0x30 net/socket.c:2086
          [<000000001b8da885>] do_syscall_64+0x7c/0x1a0 arch/x86/entry/common.c:301
          [<00000000ba770c62>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      now they will see this:
      
      unreferenced object 0xffff88805413c800 (size 64):
        comm "syz-executor.4", pid 8960, jiffies 4294994003 (age 14.350s)
        hex dump (first 32 bytes):
          00 7a 8a 57 80 88 ff ff e0 00 00 01 00 00 00 00  .z.W............
          00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
        backtrace:
          [<00000000c5d3be64>] kmemleak_alloc_recursive include/linux/kmemleak.h:55 [inline]
          [<00000000c5d3be64>] slab_post_alloc_hook mm/slab.h:439 [inline]
          [<00000000c5d3be64>] slab_alloc mm/slab.c:3326 [inline]
          [<00000000c5d3be64>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553
          [<0000000023865be2>] kmalloc include/linux/slab.h:547 [inline]
          [<0000000023865be2>] kzalloc include/linux/slab.h:742 [inline]
          [<0000000023865be2>] ip_mc_add1_src net/ipv4/igmp.c:1961 [inline]
          [<0000000023865be2>] ip_mc_add_src+0x36b/0x400 net/ipv4/igmp.c:2085
          [<000000003029a9d4>] ip_mc_msfilter+0x22d/0x310 net/ipv4/igmp.c:2475
          [<00000000ccd0a87c>] do_ip_setsockopt.isra.0+0x19fe/0x1c00 net/ipv4/ip_sockglue.c:957
          [<00000000a85a3785>] ip_setsockopt+0x3b/0xb0 net/ipv4/ip_sockglue.c:1246
          [<00000000ec13c18d>] udp_setsockopt+0x4e/0x90 net/ipv4/udp.c:2616
          [<0000000052d748e3>] sock_common_setsockopt+0x3e/0x50 net/core/sock.c:3130
          [<00000000512f1014>] __sys_setsockopt+0x9e/0x120 net/socket.c:2078
          [<00000000181758bc>] __do_sys_setsockopt net/socket.c:2089 [inline]
          [<00000000181758bc>] __se_sys_setsockopt net/socket.c:2086 [inline]
          [<00000000181758bc>] __x64_sys_setsockopt+0x26/0x30 net/socket.c:2086
          [<00000000d4b73623>] do_syscall_64+0x7c/0x1a0 arch/x86/entry/common.c:301
          [<00000000c1098bec>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Link: http://lkml.kernel.org/r/20190517171507.96046-1-dvyukov@gmail.com
      Signed-off-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6ef90569
    • Shakeel Butt's avatar
      slub: don't panic for memcg kmem cache creation failure · cb097cd4
      Shakeel Butt authored
      
      
      Currently for CONFIG_SLUB, if a memcg kmem cache creation is failed and
      the corresponding root kmem cache has SLAB_PANIC flag, the kernel will
      be crashed.  This is unnecessary as the kernel can handle the creation
      failures of memcg kmem caches.  Additionally CONFIG_SLAB does not
      implement this behavior.  So, to keep the behavior consistent between
      SLAB and SLUB, removing the panic for memcg kmem cache creation
      failures.  The root kmem cache creation failure for SLAB_PANIC correctly
      panics for both SLAB and SLUB.
      
      Link: http://lkml.kernel.org/r/20190619232514.58994-1-shakeelb@google.com
      Reported-by: default avatarDave Hansen <dave.hansen@intel.com>
      Signed-off-by: default avatarShakeel Butt <shakeelb@google.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Roman Gushchin <guro@fb.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb097cd4
    • Yury Norov's avatar
      mm/slub.c: avoid double string traverse in kmem_cache_flags() · 9cf3a8d8
      Yury Norov authored
      
      
      If ',' is not found, kmem_cache_flags() calls strlen() to find the end of
      line.  We can do it in a single pass using strchrnul().
      
      Link: http://lkml.kernel.org/r/20190501053111.7950-1-ynorov@marvell.com
      Signed-off-by: default avatarYury Norov <ynorov@marvell.com>
      Acked-by: default avatarAaron Tomlin <atomlin@redhat.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9cf3a8d8
    • Kees Cook's avatar
      lkdtm/heap: add tests for freelist hardening · 966fede8
      Kees Cook authored
      
      
      This adds tests for double free and cross-cache freeing, which should both
      be caught by CONFIG_SLAB_FREELIST_HARDENED.
      
      Link: http://lkml.kernel.org/r/20190530045017.15252-4-keescook@chromium.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Alexander Popov <alex.popov@linux.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      966fede8
    • Kees Cook's avatar
      mm/slab: sanity-check page type when looking up cache · a64b5378
      Kees Cook authored
      
      
      This avoids any possible type confusion when looking up an object.  For
      example, if a non-slab were to be passed to kfree(), the invalid
      slab_cache pointer (i.e.  overlapped with some other value from the
      struct page union) would be used for subsequent slab manipulations that
      could lead to further memory corruption.
      
      Since the page is already in cache, adding the PageSlab() check will
      have nearly zero cost, so add a check and WARN() to virt_to_cache().
      Additionally replaces an open-coded virt_to_cache().  To support the
      failure mode this also updates all callers of virt_to_cache() and
      cache_from_obj() to handle a NULL cache pointer return value (though
      note that several already handle this case gracefully).
      
      [dan.carpenter@oracle.com: restore IRQs in kfree()]
        Link: http://lkml.kernel.org/r/20190613065637.GE16334@mwanda
      Link: http://lkml.kernel.org/r/20190530045017.15252-3-keescook@chromium.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Cc: Alexander Popov <alex.popov@linux.com>
      Cc: Alexander Potapenko <glider@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a64b5378
    • Kees Cook's avatar
      mm/slab: validate cache membership under freelist hardening · 598a0717
      Kees Cook authored
      
      
      Patch series "mm/slab: Improved sanity checking".
      
      This adds defenses against slab cache confusion (as seen in real-world
      exploits[1]) and gracefully handles type confusions when trying to look
      up slab caches from an arbitrary page.  (Also is patch 3: new LKDTM
      tests for these defenses as well as for the existing double-free
      detection.
      
      This patch (of 3):
      
      When building under CONFIG_SLAB_FREELIST_HARDENING, it makes sense to
      perform sanity-checking on the assumed slab cache during
      kmem_cache_free() to make sure the kernel doesn't mix freelists across
      slab caches and corrupt memory (as seen in the exploitation of flaws
      like CVE-2018-9568[1]).  Note that the prior code might WARN() but still
      corrupt memory (i.e.  return the assumed cache instead of the owned
      cache).
      
      There is no noticeable performance impact (changes are within noise).
      Measuring parallel kernel builds, I saw the following with
      CONFIG_SLAB_FREELIST_HARDENED, before and after this patch:
      
      before:
      
      	Run times: 288.85 286.53 287.09 287.07 287.21
      	Min: 286.53 Max: 288.85 Mean: 287.35 Std Dev: 0.79
      
      after:
      
      	Run times: 289.58 287.40 286.97 287.20 287.01
      	Min: 286.97 Max: 289.58 Mean: 287.63 Std Dev: 0.99
      
      Delta: 0.1% which is well below the standard deviation
      
      [1] https://github.com/ThomasKing2014/slides/raw/master/Building%20universal%20Android%20rooting%20with%20a%20type%20confusion%20vulnerability.pdf
      
      Link: http://lkml.kernel.org/r/20190530045017.15252-2-keescook@chromium.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Alexander Popov <alex.popov@linux.com>
      Cc: Alexander Potapenko <glider@google.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>
      598a0717
    • Fuqian Huang's avatar
      ocfs2: use kmemdup rather than duplicating its implementation · d8b2fa65
      Fuqian Huang authored
      
      
      kmemdup is introduced to duplicate a region of memory in a neat way.
      
      Rather than kmalloc/kzalloc + memcpy, which the programmer needs to
      write the size twice (sometimes lead to mistakes), kmemdup improves
      readability, leads to smaller code and also reduce the chances of
      mistakes.
      
      Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy.
      
      [akpm@linux-foundation.org: coding style fixes]
      Link: http://lkml.kernel.org/r/20190703163147.881-1-huangfq.daxian@gmail.com
      Signed-off-by: default avatarFuqian Huang <huangfq.daxian@gmail.com>
      Reviewed-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>
      d8b2fa65
    • Hariprasad Kelam's avatar
      fs/ocfs2/dlmglue.c: unneeded variable: "status" · 4658d87c
      Hariprasad Kelam authored
      
      
      fix below issue reported by coccicheck
      
        fs/ocfs2/dlmglue.c:4410:5-11: Unneeded variable: "status". Return "0" on line 4428
      
      We can not change return type of ocfs2_downconvert_thread as its
      registered as callback of kthread_create.
      
      Link: http://lkml.kernel.org/r/20190702183237.GA13975@hari-Inspiron-1545
      Signed-off-by: default avatarHariprasad Kelam <hariprasad.kelam@gmail.com>
      Reviewed-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>
      4658d87c
    • Greg Kroah-Hartman's avatar
      ocfs: no need to check return value of debugfs_create functions · e581595e
      Greg Kroah-Hartman authored
      
      
      When calling debugfs functions, there is no need to ever check the
      return value.  The function can work or not, but the code logic should
      never do something different based on this.
      
      Also, because there is no need to save the file dentry, remove all of
      the variables that were being saved, and just recursively delete the
      whole directory when shutting down, saving a lot of logic and local
      variables.
      
      [gregkh@linuxfoundation.org: v2]
        Link: http://lkml.kernel.org/r/20190613055455.GE19717@kroah.com
      Link: http://lkml.kernel.org/r/20190612152912.GA19151@kroah.com
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Jia Guo <guojia12@huawei.com>
      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>
      e581595e
    • Gang He's avatar
      ocfs2: add first lock wait time in locking_state · 5da844a2
      Gang He authored
      
      
      ocfs2 file system uses locking_state file under debugfs to dump each
      ocfs2 file system's dlm lock resources, but the users ever encountered
      some hang(deadlock) problems in ocfs2 file system.  I'd like to add
      first lock wait time in locking_state file, which can help the upper
      scripts detect these deadlock problems via comparing the first lock wait
      time with the current time.
      
      Link: http://lkml.kernel.org/r/20190611015414.27754-3-ghe@suse.com
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-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>
      5da844a2
    • Gang He's avatar
      ocfs2: add locking filter debugfs file · 8056773a
      Gang He authored
      
      
      Add locking filter debugfs file, which is used to filter lock resources
      dump from locking_state debugfs file.  We use d_filter_secs field to
      filter lock resources dump, the default d_filter_secs(0) value filters
      nothing, otherwise, only dump the last N seconds active lock resources.
      This enhancement can avoid dumping lots of old records.  The
      d_filter_secs value can be changed via locking_filter file.
      
      [akpm@linux-foundation.org: fix undefined reference to `__udivdi3']
      Link: http://lkml.kernel.org/r/20190611015414.27754-2-ghe@suse.com
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Acked-by: Randy Dunlap <rdunlap@infradead.org>	[build-tested]
      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>
      8056773a
    • Gang He's avatar
      ocfs2: add last unlock times in locking_state · 8a7f5f4c
      Gang He authored
      
      
      ocfs2 file system uses locking_state file under debugfs to dump each
      ocfs2 file system's dlm lock resources, but the dlm lock resources in
      memory are becoming more and more after the files were touched by the
      user.  it will become a bit difficult to analyze these dlm lock resource
      records in locking_state file by the upper scripts, though some files
      are not active for now, which were accessed long time ago.
      
      Then, I'd like to add last pr/ex unlock times in locking_state file for
      each dlm lock resource record, the the upper scripts can use last unlock
      time to filter inactive dlm lock resource record.
      
      Link: http://lkml.kernel.org/r/20190611015414.27754-1-ghe@suse.com
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-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>
      8a7f5f4c
    • Gustavo A. R. Silva's avatar
      ocfs2/dlm: use struct_size() helper · 0e71666b
      Gustavo A. R. Silva authored
      
      
      One of the more common cases of allocation size calculations is finding
      the size of a structure that has a zero-sized array at the end, along
      with memory for some number of elements for that array.  For example:
      
        struct dlm_migratable_lockres
        {
                ...
                struct dlm_migratable_lock ml[0];  // 16 bytes each, begins at byte 112
        };
      
      Make use of the struct_size() helper instead of an open-coded version in
      order to avoid any potential type mistakes.
      
      So, replace the following form:
      
         sizeof(struct dlm_migratable_lockres) + (mres->num_locks * sizeof(struct dlm_migratable_lock))
      
      with:
      
         struct_size(mres, ml, mres->num_locks)
      
      Notice that, in this case, variable sz is not necessary, hence it is
      removed.
      
      This code was detected with the help of Coccinelle.
      
      Link: http://lkml.kernel.org/r/20190605204926.GA24467@embeddedor
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Reviewed-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>
      0e71666b
    • ChenGang's avatar
      fs: ocfs: fix spelling mistake "hearbeating" -> "heartbeat" · e926d8a1
      ChenGang authored
      
      
      There are some spelling mistakes in ocfs, fix it.
      
      Link: http://lkml.kernel.org/r/1558964623-106628-1-git-send-email-cg.chen@huawei.com
      Signed-off-by: default avatarChenGang <cg.chen@huawei.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Joseph Qi <jiangqi903@gmail.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>
      e926d8a1
    • Sam Ravnborg's avatar
      sh: prevent warnings when using iounmap · 733f0025
      Sam Ravnborg authored
      
      
      When building drm/exynos for sh, as part of an allmodconfig build, the
      following warning triggered:
      
        exynos7_drm_decon.c: In function `decon_remove':
        exynos7_drm_decon.c:769:24: warning: unused variable `ctx'
          struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
      
      The ctx variable is only used as argument to iounmap().
      
      In sh - allmodconfig CONFIG_MMU is not defined
      so it ended up in:
      
      \#define __iounmap(addr)	do { } while (0)
      \#define iounmap		__iounmap
      
      Fix the warning by introducing a static inline function for iounmap.
      
      This is similar to several other architectures.
      
      Link: http://lkml.kernel.org/r/20190622114208.24427-1-sam@ravnborg.org
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      733f0025
    • Krzysztof Kozlowski's avatar
      sh: config: remove left-over BACKLIGHT_LCD_SUPPORT · 41061547
      Krzysztof Kozlowski authored
      CONFIG_BACKLIGHT_LCD_SUPPORT was removed in 8c5dc8d9
      
       ("video:
      backlight: Remove useless BACKLIGHT_LCD_SUPPORT kernel symbol").
      Options protected by CONFIG_BACKLIGHT_LCD_SUPPORT are now available
      directly.
      
      Link: http://lkml.kernel.org/r/20190603191925.20659-1-krzk@kernel.org
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      41061547
    • Kefeng Wang's avatar
      arch/sh/configs/sdk7786_defconfig: remove CONFIG_LOGFS · 38ce85f0
      Kefeng Wang authored
      After commit 1d0fd57a
      
       ("logfs: remove from tree"), logfs was
      removed, drop CONFIG_LOGFS from all defconfigs.
      
      Link: http://lkml.kernel.org/r/20190530021032.190639-1-wangkefeng.wang@huawei.com
      Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      38ce85f0
    • Colin Ian King's avatar
      scripts/spelling.txt: add more spellings to spelling.txt · 6e22fd00
      Colin Ian King authored
      
      
      Here are some of the more common spelling mistakes and typos that I've
      found while fixing up spelling mistakes in the kernel over the past few
      months.  Developers keep on coming up with more inventive ways to spell
      words.
      
      Link: http://lkml.kernel.org/r/20190618134807.9729-1-colin.king@canonical.com
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6e22fd00
    • Evan Green's avatar
      scripts/decode_stacktrace: Accept dash/underscore in modules · ca90bbd4
      Evan Green authored
      
      
      The manpage for modprobe mentions that dashes and underscores are
      treated interchangeably in module names.  The stack trace dumps seem to
      print module names with underscores.  Use bash to replace _ with the
      pattern [-_] so that file names with dashes or underscores can be found.
      
      For example, this line:
      [   27.919759]  hda_widget_sysfs_init+0x2b8/0x3a5 [snd_hda_core]
      
      should find a module named snd-hda-core.ko.
      
      Link: http://lkml.kernel.org/r/20190531205926.42474-1-evgreen@chromium.org
      Signed-off-by: default avatarEvan Green <evgreen@chromium.org>
      Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
      Acked-by: default avatarKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Douglas Anderson <dianders@chromium.org>
      Cc: Evan Green <evgreen@chromium.org>
      Cc: Nicolas Boichat <drinkcat@chromium.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Manuel Traut <manut@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca90bbd4
    • Chris Paterson's avatar
      scripts/spelling.txt: add spelling fix for prohibited · 85f946ff
      Chris Paterson authored
      Misspelling 'prohibited' is quite common in the real world, although
      surprisingly not so much in the Linux Kernel.  In addition to fixing the
      typo we may as well add it to the spelling checker.
      
      Also adding the present participle (prohibiting).
      
      Link: http://lkml.kernel.org/r/20190514153341.22540-1-chris.paterson2@renesas.com
      Fixes: 5bf2fbbe
      
       ("clk: renesas: cpg-mssr: Add r8a77470 support")
      Signed-off-by: default avatarChris Paterson <chris.paterson2@renesas.com>
      Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
      Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      85f946ff
    • Paul Walmsley's avatar
      scripts/spelling.txt: drop "sepc" from the misspelling list · cc0e5f1c
      Paul Walmsley authored
      
      
      The RISC-V architecture has a register named the "Supervisor Exception
      Program Counter", or "sepc".  This abbreviation triggers checkpatch.pl's
      misspelling detector, resulting in noise in the checkpatch output.  The
      risk that this noise could cause more useful warnings to be missed seems
      to outweigh the harm of an occasional misspelling of "spec".  Thus drop
      the "sepc" entry from the misspelling list.
      
      [akpm@linux-foundation.org: fix existing "sepc" instances, per Joe]
      Link: http://lkml.kernel.org/r/20190518210037.13674-1-paul.walmsley@sifive.com
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cc0e5f1c
    • Nicolas Boichat's avatar
      scripts/decode_stacktrace: look for modules with .ko.debug extension · fe7d14f1
      Nicolas Boichat authored
      
      
      In Chromium OS kernel builds, we split the debug information as .ko.debug
      files, and that's what decode_stacktrace.sh needs to use.
      
      Relax objfile matching rule to allow any .ko* file to be matched.
      
      [drinkcat@chromium.org: add quotes around name pattern]
        Link: http://lkml.kernel.org/r/20190528103346.42720-1-drinkcat@chromium.org
      Link: http://lkml.kernel.org/r/20190521234148.64060-1-drinkcat@chromium.org
      Signed-off-by: default avatarNicolas Boichat <drinkcat@chromium.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe7d14f1