1. 07 Jan, 2019 17 commits
    • Palmer Dabbelt's avatar
      Fix a handful of audit-related issue · 80100942
      Palmer Dabbelt authored
      This is sort of a mix between a new feature and a bug fix.  I've managed
      to screw up merging this patch set a handful of times but I think it's
      OK this time around.  The main new feature here is audit support for
      RISC-V, with some fixes to audit-related bugs that cropped up along the
      way:
      
      * The addition of NR_syscalls into unistd.h, which is necessary for
        CONFIG_FTRACE_SYSCALLS.
      * The definition of CREATE_TRACE_POINTS so
        __tracepoint_sys_{enter,exit} get defined.
      * A fix for trace_sys_exit() so we can enable
        CONFIG_HAVE_SYSCALL_TRACEPOINTS.
      80100942
    • David Abdurachmanov's avatar
      riscv: add HAVE_SYSCALL_TRACEPOINTS to Kconfig · 5aeb1b36
      David Abdurachmanov authored
      I looked into Documentation/trace/ftrace-design.rst and, I think,
      we check all the boxes needed for HAVE_SYSCALL_TRACEPOINTS.
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      5aeb1b36
    • David Abdurachmanov's avatar
      riscv: fix trace_sys_exit hook · 775800b0
      David Abdurachmanov authored
      Fix compilation error.
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      775800b0
    • David Abdurachmanov's avatar
      riscv: define CREATE_TRACE_POINTS in ptrace.c · 008e901b
      David Abdurachmanov authored
      Define CREATE_TRACE_POINTS in order to create functions and structures
      for the trace events. This is needed if HAVE_SYSCALL_TRACEPOINTS and
      CONFIG_FTRACE_SYSCALLS are enabled, otherwise we get linking errors:
      
      [..]
        MODPOST vmlinux.o
      kernel/trace/trace_syscalls.o: In function `.L0 ':
      trace_syscalls.c:(.text+0x1152): undefined reference to `__tracepoint_sys_enter'
      trace_syscalls.c:(.text+0x126c): undefined reference to `__tracepoint_sys_enter'
      trace_syscalls.c:(.text+0x1328): undefined reference to `__tracepoint_sys_enter'
      trace_syscalls.c:(.text+0x14aa): undefined reference to `__tracepoint_sys_enter'
      trace_syscalls.c:(.text+0x1684): undefined reference to `__tracepoint_sys_exit'
      trace_syscalls.c:(.text+0x17a0): undefined reference to `__tracepoint_sys_exit'
      trace_syscalls.c:(.text+0x185c): undefined reference to `__tracepoint_sys_exit'
      trace_syscalls.c:(.text+0x19de): undefined reference to `__tracepoint_sys_exit'
      arch/riscv/kernel/ptrace.o: In function `.L0 ':
      ptrace.c:(.text+0x4dc): undefined reference to `__tracepoint_sys_enter'
      ptrace.c:(.text+0x632): undefined reference to `__tracepoint_sys_exit'
      make: *** [Makefile:1036: vmlinux] Error 1
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Fixes: b78002b395b4 ("riscv: add HAVE_SYSCALL_TRACEPOINTS to Kconfig")
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      008e901b
    • David Abdurachmanov's avatar
      riscv: define NR_syscalls in unistd.h · 45ef1aa8
      David Abdurachmanov authored
      This macro is used by kernel/trace/{trace.h,trace_syscalls.c} if we
      have CONFIG_FTRACE_SYSCALLS enabled.
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Fixes: b78002b395b4 ("riscv: add HAVE_SYSCALL_TRACEPOINTS to Kconfig")
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      45ef1aa8
    • David Abdurachmanov's avatar
      riscv: audit: add audit hook in do_syscall_trace_enter/exit() · 0aea8943
      David Abdurachmanov authored
      This patch adds auditing functions on entry to and exit from every system
      call invocation.
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      0aea8943
    • David Abdurachmanov's avatar
      riscv: add audit support · efe75c49
      David Abdurachmanov authored
      On RISC-V (riscv) audit is supported through generic lib/audit.c.
      The patch adds required arch specific definitions.
      Signed-off-by: default avatarDavid Abdurachmanov <david.abdurachmanov@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      efe75c49
    • Zong Li's avatar
      RISC-V: Support MODULE_SECTIONS mechanism on RV32 · 2cffc956
      Zong Li authored
      This patch supports dynamic generate got and plt sections mechanism on
      rv32. It contains the modification as follows:
       - Always enable MODULE_SECTIONS (both rv64 and rv32)
       - Change the fixed size type.
      
      This patch had been tested by following modules:
      
      btrfs 6795991 0 - Live 0xa544b000
      test_static_keys 17304 0 - Live 0xa28be000
      zstd_compress 1198986 1 btrfs, Live 0xa2a25000
      zstd_decompress 608112 1 btrfs, Live 0xa24e7000
      lzo 8787 0 - Live 0xa2049000
      xor 27461 1 btrfs, Live 0xa2041000
      zram 78849 0 - Live 0xa2276000
      netdevsim 55909 0 - Live 0xa202d000
      tun 211534 0 - Live 0xa21b5000
      fuse 566049 0 - Live 0xa25fb000
      nfs_layout_flexfiles 192597 0 - Live 0xa229b000
      ramoops 74895 0 - Live 0xa2019000
      xfs 3973221 0 - Live 0xa507f000
      libcrc32c 3053 2 btrfs,xfs, Live 0xa34af000
      lzo_compress 17302 2 btrfs,lzo, Live 0xa347d000
      lzo_decompress 7178 2 btrfs,lzo, Live 0xa3451000
      raid6_pq 142086 1 btrfs, Live 0xa33a4000
      reed_solomon 31022 1 ramoops, Live 0xa31eb000
      test_bitmap 3734 0 - Live 0xa31af000
      test_bpf 1588736 0 - Live 0xa2c11000
      test_kmod 41161 0 - Live 0xa29f8000
      test_module 1356 0 - Live 0xa299e000
      test_printf 6024 0 [permanent], Live 0xa2971000
      test_static_key_base 5797 1 test_static_keys, Live 0xa2931000
      test_user_copy 4382 0 - Live 0xa28c9000
      xxhash 70501 2 zstd_compress,zstd_decompress, Live 0xa2055000
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      2cffc956
    • Paul Walmsley's avatar
      MAINTAINERS: SiFive drivers: add myself as a SiFive driver maintainer · 3b56adcf
      Paul Walmsley authored
      I'll be helping Palmer review drivers for SiFive-specific IP blocks,
      so add myself to the MAINTAINERS file.
      
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-riscv@lists.infradead.org
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      3b56adcf
    • Paul Walmsley's avatar
      MAINTAINERS: SiFive drivers: change the git tree to a SiFive git tree · af5f462c
      Paul Walmsley authored
      Update the git tree URL for drivers for SiFive-related IP blocks to
      point to a SiFive-managed URL.
      
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-riscv@lists.infradead.org
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      af5f462c
    • Andreas Schwab's avatar
      riscv: don't stop itself in smp_send_stop · 37a107ff
      Andreas Schwab authored
      Add IPI_CPU_STOP message and use it in smp_send_stop to stop other cpus,
      but not itself.  Mark cpu offline on reception of IPI_CPU_STOP.
      Signed-off-by: default avatarAndreas Schwab <schwab@suse.de>
      Reviewed-by: default avatarAtish Patra <atish.patra@wdc.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      37a107ff
    • Paul Walmsley's avatar
      arch: riscv: support kernel command line forcing when no DTB passed · 8fd6e05c
      Paul Walmsley authored
      CONFIG_CMDLINE_FORCE doesn't work on RISC-V when no DTB is passed into
      the kernel.  This is because the code that forces the kernel command
      line only runs if a valid DTB is present at boot.  During debugging,
      it's useful to have the ability to force kernel command lines even
      when no DTB is present.  This patch adds support for doing so.
      
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: linux-riscv@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org (open list)
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      8fd6e05c
    • Aurelien Jarno's avatar
      tools uapi: fix RISC-V 64-bit support · d0df00e3
      Aurelien Jarno authored
      The BPF library is not built on 64-bit RISC-V, as the BPF feature is
      not detected. Looking more in details, feature/test-bpf.c fails to build
      with the following error:
      
      | In file included from /tmp/linux-4.19.12/tools/include/uapi/asm/bitsperlong.h:17,
      |                  from /tmp/linux-4.19.12/tools/include/uapi/asm-generic/unistd.h:2,
      |                  from /usr/include/riscv64-linux-gnu/asm/unistd.h:1,
      |                  from test-bpf.c:2:
      | /tmp/linux-4.19.12/tools/include/asm-generic/bitsperlong.h:14:2: error: #error Inconsistent word size. Check asm/bitsperlong.h
      |  #error Inconsistent word size. Check asm/bitsperlong.h
      |   ^~~~~
      
      The UAPI from the tools directory is missing RISC-V support, therefore
      bitsperlong.h from asm-generic is used, defaulting to 32 bits.
      
      Fix that by adding tools/arch/riscv/include/uapi/asm/bitsperlong.h as
      a copy of arch/riscv/include/uapi/asm/bitsperlong.h and by updating
      tools/include/uapi/asm/bitsperlong.h.
      Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      d0df00e3
    • Anup Patel's avatar
      RISC-V: Make BSS section as the last section in vmlinux.lds.S · 22e6a2e1
      Anup Patel authored
      The objcopy only emits loadable sections when creating flat kernel
      Image. To have minimal possible size of flat kernel Image, we should
      have all non-loadable sections after loadable sections.
      
      Currently, execption table section (loadable section) is after BSS
      section (non-loadable section) in the RISC-V vmlinux.lds.S. This
      is not optimal for having minimal flat kernel Image size hence this
      patch makes BSS section as the last section in RISC-V vmlinux.lds.S.
      
      In addition, we make BSS section aligned to 16byte instead of PAGE
      aligned which further reduces flat kernel Image size by few KBs.
      
      The flat kernel Image size of Linux-4.20-rc4 using GCC 8.2.0 is
      8819980 bytes with current RISC-V vmlinux.lds.S and it reduces to
      7991740 bytes with this patch applied. In summary, this patch reduces
      Linux-4.20-rc4 flat kernel Image size by 809 KB.
      Signed-off-by: default avatarAnup Patel <anup@brainfault.org>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
      22e6a2e1
    • Linus Torvalds's avatar
      Linux 5.0-rc1 · bfeffd15
      Linus Torvalds authored
      bfeffd15
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.21-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 85e1ffbd
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - improve boolinit.cocci and use_after_iter.cocci semantic patches
      
       - fix alignment for kallsyms
      
       - move 'asm goto' compiler test to Kconfig and clean up jump_label
         CONFIG option
      
       - generate asm-generic wrappers automatically if arch does not
         implement mandatory UAPI headers
      
       - remove redundant generic-y defines
      
       - misc cleanups
      
      * tag 'kbuild-v4.21-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kconfig: rename generated .*conf-cfg to *conf-cfg
        kbuild: remove unnecessary stubs for archheader and archscripts
        kbuild: use assignment instead of define ... endef for filechk_* rules
        arch: remove redundant UAPI generic-y defines
        kbuild: generate asm-generic wrappers if mandatory headers are missing
        arch: remove stale comments "UAPI Header export list"
        riscv: remove redundant kernel-space generic-y
        kbuild: change filechk to surround the given command with { }
        kbuild: remove redundant target cleaning on failure
        kbuild: clean up rule_dtc_dt_yaml
        kbuild: remove UIMAGE_IN and UIMAGE_OUT
        jump_label: move 'asm goto' support test to Kconfig
        kallsyms: lower alignment on ARM
        scripts: coccinelle: boolinit: drop warnings on named constants
        scripts: coccinelle: check for redeclaration
        kconfig: remove unused "file" field of yylval union
        nds32: remove redundant kernel-space generic-y
        nios2: remove unneeded HAS_DMA define
      85e1ffbd
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac5eed2b
      Linus Torvalds authored
      Pull perf tooling updates form Ingo Molnar:
       "A final batch of perf tooling changes: mostly fixes and small
        improvements"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        perf session: Add comment for perf_session__register_idle_thread()
        perf thread-stack: Fix thread stack processing for the idle task
        perf thread-stack: Allocate an array of thread stacks
        perf thread-stack: Factor out thread_stack__init()
        perf thread-stack: Allow for a thread stack array
        perf thread-stack: Avoid direct reference to the thread's stack
        perf thread-stack: Tidy thread_stack__bottom() usage
        perf thread-stack: Simplify some code in thread_stack__process()
        tools gpio: Allow overriding CFLAGS
        tools power turbostat: Override CFLAGS assignments and add LDFLAGS to build command
        tools thermal tmon: Allow overriding CFLAGS assignments
        tools power x86_energy_perf_policy: Override CFLAGS assignments and add LDFLAGS to build command
        perf c2c: Increase the HITM ratio limit for displayed cachelines
        perf c2c: Change the default coalesce setup
        perf trace beauty ioctl: Beautify USBDEVFS_ commands
        perf trace beauty: Export function to get the files for a thread
        perf trace: Wire up ioctl's USBDEBFS_ cmd table generator
        perf beauty ioctl: Add generator for USBDEVFS_ ioctl commands
        tools headers uapi: Grab a copy of usbdevice_fs.h
        perf trace: Store the major number for a file when storing its pathname
        ...
      ac5eed2b
  2. 06 Jan, 2019 23 commits
    • Linus Torvalds's avatar
      Change mincore() to count "mapped" pages rather than "cached" pages · 574823bf
      Linus Torvalds authored
      The semantics of what "in core" means for the mincore() system call are
      somewhat unclear, but Linux has always (since 2.3.52, which is when
      mincore() was initially done) treated it as "page is available in page
      cache" rather than "page is mapped in the mapping".
      
      The problem with that traditional semantic is that it exposes a lot of
      system cache state that it really probably shouldn't, and that users
      shouldn't really even care about.
      
      So let's try to avoid that information leak by simply changing the
      semantics to be that mincore() counts actual mapped pages, not pages
      that might be cheaply mapped if they were faulted (note the "might be"
      part of the old semantics: being in the cache doesn't actually guarantee
      that you can access them without IO anyway, since things like network
      filesystems may have to revalidate the cache before use).
      
      In many ways the old semantics were somewhat insane even aside from the
      information leak issue.  From the very beginning (and that beginning is
      a long time ago: 2.3.52 was released in March 2000, I think), the code
      had a comment saying
      
        Later we can get more picky about what "in core" means precisely.
      
      and this is that "later".  Admittedly it is much later than is really
      comfortable.
      
      NOTE! This is a real semantic change, and it is for example known to
      change the output of "fincore", since that program literally does a
      mmmap without populating it, and then doing "mincore()" on that mapping
      that doesn't actually have any pages in it.
      
      I'm hoping that nobody actually has any workflow that cares, and the
      info leak is real.
      
      We may have to do something different if it turns out that people have
      valid reasons to want the old semantics, and if we can limit the
      information leak sanely.
      
      Cc: Kevin Easton <kevin@guarana.org>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Masatake YAMATO <yamato@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg KH <gregkh@linuxfoundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      574823bf
    • Linus Torvalds's avatar
      Fix 'acccess_ok()' on alpha and SH · 94bd8a05
      Linus Torvalds authored
      Commit 594cc251 ("make 'user_access_begin()' do 'access_ok()'")
      broke both alpha and SH booting in qemu, as noticed by Guenter Roeck.
      
      It turns out that the bug wasn't actually in that commit itself (which
      would have been surprising: it was mostly a no-op), but in how the
      addition of access_ok() to the strncpy_from_user() and strnlen_user()
      functions now triggered the case where those functions would test the
      access of the very last byte of the user address space.
      
      The string functions actually did that user range test before too, but
      they did it manually by just comparing against user_addr_max().  But
      with user_access_begin() doing the check (using "access_ok()"), it now
      exposed problems in the architecture implementations of that function.
      
      For example, on alpha, the access_ok() helper macro looked like this:
      
        #define __access_ok(addr, size) \
              ((get_fs().seg & (addr | size | (addr+size))) == 0)
      
      and what it basically tests is of any of the high bits get set (the
      USER_DS masking value is 0xfffffc0000000000).
      
      And that's completely wrong for the "addr+size" check.  Because it's
      off-by-one for the case where we check to the very end of the user
      address space, which is exactly what the strn*_user() functions do.
      
      Why? Because "addr+size" will be exactly the size of the address space,
      so trying to access the last byte of the user address space will fail
      the __access_ok() check, even though it shouldn't.  As a result, the
      user string accessor functions failed consistently - because they
      literally don't know how long the string is going to be, and the max
      access is going to be that last byte of the user address space.
      
      Side note: that alpha macro is buggy for another reason too - it re-uses
      the arguments twice.
      
      And SH has another version of almost the exact same bug:
      
        #define __addr_ok(addr) \
              ((unsigned long __force)(addr) < current_thread_info()->addr_limit.seg)
      
      so far so good: yes, a user address must be below the limit.  But then:
      
        #define __access_ok(addr, size)         \
              (__addr_ok((addr) + (size)))
      
      is wrong with the exact same off-by-one case: the case when "addr+size"
      is exactly _equal_ to the limit is actually perfectly fine (think "one
      byte access at the last address of the user address space")
      
      The SH version is actually seriously buggy in another way: it doesn't
      actually check for overflow, even though it did copy the _comment_ that
      talks about overflow.
      
      So it turns out that both SH and alpha actually have completely buggy
      implementations of access_ok(), but they happened to work in practice
      (although the SH overflow one is a serious serious security bug, not
      that anybody likely cares about SH security).
      
      This fixes the problems by using a similar macro on both alpha and SH.
      It isn't trying to be clever, the end address is based on this logic:
      
              unsigned long __ao_end = __ao_a + __ao_b - !!__ao_b;
      
      which basically says "add start and length, and then subtract one unless
      the length was zero".  We can't subtract one for a zero length, or we'd
      just hit an underflow instead.
      
      For a lot of access_ok() users the length is a constant, so this isn't
      actually as expensive as it initially looks.
      Reported-and-tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94bd8a05
    • Linus Torvalds's avatar
      Merge tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt · baa67073
      Linus Torvalds authored
      Pull fscrypt updates from Ted Ts'o:
       "Add Adiantum support for fscrypt"
      
      * tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt:
        fscrypt: add Adiantum support
      baa67073
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 21524046
      Linus Torvalds authored
      Pull ext4 bug fixes from Ted Ts'o:
       "Fix a number of ext4 bugs"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix special inode number checks in __ext4_iget()
        ext4: track writeback errors using the generic tracking infrastructure
        ext4: use ext4_write_inode() when fsyncing w/o a journal
        ext4: avoid kernel warning when writing the superblock to a dead device
        ext4: fix a potential fiemap/page fault deadlock w/ inline_data
        ext4: make sure enough credits are reserved for dioread_nolock writes
      21524046
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.21-1' of git://git.infradead.org/users/hch/dma-mapping · e2b745f4
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
       "Fix various regressions introduced in this cycles:
      
         - fix dma-debug tracking for the map_page / map_single
           consolidatation
      
         - properly stub out DMA mapping symbols for !HAS_DMA builds to avoid
           link failures
      
         - fix AMD Gart direct mappings
      
         - setup the dma address for no kernel mappings using the remap
           allocator"
      
      * tag 'dma-mapping-4.21-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-direct: fix DMA_ATTR_NO_KERNEL_MAPPING for remapped allocations
        x86/amd_gart: fix unmapping of non-GART mappings
        dma-mapping: remove a few unused exports
        dma-mapping: properly stub out the DMA API for !CONFIG_HAS_DMA
        dma-mapping: remove dmam_{declare,release}_coherent_memory
        dma-mapping: implement dmam_alloc_coherent using dmam_alloc_attrs
        dma-mapping: implement dma_map_single_attrs using dma_map_page_attrs
      e2b745f4
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v4.21' of... · 12133258
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform
      
      Pull chrome platform updates from Benson Leung:
      
       - Changes for EC_MKBP_EVENT_SENSOR_FIFO handling.
      
       - Also, maintainership changes. Olofj out, Enric balletbo in.
      
      * tag 'tag-chrome-platform-for-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/bleung/chrome-platform:
        MAINTAINERS: add maintainers for ChromeOS EC sub-drivers
        MAINTAINERS: platform/chrome: Add Enric as a maintainer
        MAINTAINERS: platform/chrome: remove myself as maintainer
        platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup
        platform/chrome: straighten out cros_ec_get_{next,host}_event() error codes
      12133258
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v4.21' of git://github.com/andersson/remoteproc · 66e012f6
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This adds support for the hardware semaphores found in STM32MP1"
      
      * tag 'hwlock-v4.21' of git://github.com/andersson/remoteproc:
        hwspinlock: fix return value check in stm32_hwspinlock_probe()
        hwspinlock: add STM32 hwspinlock device
        dt-bindings: hwlock: Document STM32 hwspinlock bindings
      66e012f6
    • Eric Biggers's avatar
      fscrypt: add Adiantum support · 8094c3ce
      Eric Biggers authored
      Add support for the Adiantum encryption mode to fscrypt.  Adiantum is a
      tweakable, length-preserving encryption mode with security provably
      reducible to that of XChaCha12 and AES-256, subject to a security bound.
      It's also a true wide-block mode, unlike XTS.  See the paper
      "Adiantum: length-preserving encryption for entry-level processors"
      (https://eprint.iacr.org/2018/720.pdf) for more details.  Also see
      commit 059c2a4d ("crypto: adiantum - add Adiantum support").
      
      On sufficiently long messages, Adiantum's bottlenecks are XChaCha12 and
      the NH hash function.  These algorithms are fast even on processors
      without dedicated crypto instructions.  Adiantum makes it feasible to
      enable storage encryption on low-end mobile devices that lack AES
      instructions; currently such devices are unencrypted.  On ARM Cortex-A7,
      on 4096-byte messages Adiantum encryption is about 4 times faster than
      AES-256-XTS encryption; decryption is about 5 times faster.
      
      In fscrypt, Adiantum is suitable for encrypting both file contents and
      names.  With filenames, it fixes a known weakness: when two filenames in
      a directory share a common prefix of >= 16 bytes, with CTS-CBC their
      encrypted filenames share a common prefix too, leaking information.
      Adiantum does not have this problem.
      
      Since Adiantum also accepts long tweaks (IVs), it's also safe to use the
      master key directly for Adiantum encryption rather than deriving
      per-file keys, provided that the per-file nonce is included in the IVs
      and the master key isn't used for any other encryption mode.  This
      configuration saves memory and improves performance.  A new fscrypt
      policy flag is added to allow users to opt-in to this configuration.
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      8094c3ce
    • Linus Torvalds's avatar
      Merge tag 'docs-5.0-fixes' of git://git.lwn.net/linux · b5aef86e
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A handful of late-arriving documentation fixes"
      
      * tag 'docs-5.0-fixes' of git://git.lwn.net/linux:
        doc: filesystems: fix bad references to nonexistent ext4.rst file
        Documentation/admin-guide: update URL of LKML information link
        Docs/kernel-api.rst: Remove blk-tag.c reference
      b5aef86e
    • Linus Torvalds's avatar
      Merge tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · 15b215e5
      Linus Torvalds authored
      Pull firewire fixlet from Stefan Richter:
       "Remove an explicit dependency in Kconfig which is implied by another
        dependency"
      
      * tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: Remove depends on HAS_DMA in case of platform dependency
      15b215e5
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190104' of git://git.kernel.dk/linux-block · d7252d0d
      Linus Torvalds authored
      Pull block updates and fixes from Jens Axboe:
      
       - Pulled in MD changes that Shaohua had queued up for 4.21.
      
         Unfortunately we lost Shaohua late 2018, I'm sending these in on his
         behalf.
      
       - In conjunction with the above, I added a CREDITS entry for Shaoua.
      
       - sunvdc queue restart fix (Ming)
      
      * tag 'for-linus-20190104' of git://git.kernel.dk/linux-block:
        Add CREDITS entry for Shaohua Li
        block: sunvdc: don't run hw queue synchronously from irq context
        md: fix raid10 hang issue caused by barrier
        raid10: refactor common wait code from regular read/write request
        md: remvoe redundant condition check
        lib/raid6: add option to skip algo benchmarking
        lib/raid6: sort algos in rough performance order
        lib/raid6: check for assembler SSSE3 support
        lib/raid6: avoid __attribute_const__ redefinition
        lib/raid6: add missing include for raid6test
        md: remove set but not used variable 'bi_rdev'
      d7252d0d
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2019-01-05' of git://anongit.freedesktop.org/drm/drm · 0fe4e2d5
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Happy New Year, just decloaking from leave to get some stuff from the
        last week in before rc1:
      
        core:
         - two regression fixes for damage blob and atomic
      
        i915 gvt:
         - Some missed GVT fixes from the original pull
      
        amdgpu:
         - new PCI IDs
         - SR-IOV fixes
         - DC fixes
         - Vega20 fixes"
      
      * tag 'drm-next-2019-01-05' of git://anongit.freedesktop.org/drm/drm: (53 commits)
        drm: Put damage blob when destroy plane state
        drm: fix null pointer dereference on null state pointer
        drm/amdgpu: Add new VegaM pci id
        drm/ttm: Use drm_debug_printer for all ttm_bo_mem_space_debug output
        drm/amdgpu: add Vega20 PSP ASD firmware loading
        drm/amd/display: Fix MST dp_blank REG_WAIT timeout
        drm/amd/display: validate extended dongle caps
        drm/amd/display: Use div_u64 for flip timestamp ns to ms
        drm/amdgpu/uvd:Change uvd ring name convention
        drm/amd/powerplay: add Vega20 LCLK DPM level setting support
        drm/amdgpu: print process info when job timeout
        drm/amdgpu/nbio7.4: add hw bug workaround for vega20
        drm/amdgpu/nbio6.1: add hw bug workaround for vega10/12
        drm/amd/display: Optimize passive update planes.
        drm/amd/display: verify lane status before exiting verify link cap
        drm/amd/display: Fix bug with not updating VSP infoframe
        drm/amd/display: Add retry to read ddc_clock pin
        drm/amd/display: Don't skip link training for empty dongle
        drm/amd/display: Wait edp HPD to high in detect_sink
        drm/amd/display: fix surface update sequence
        ...
      0fe4e2d5
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 3954e1d0
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "Over the break a few defects were found, so this is a -rc style pull
        request of various small things that have been posted.
      
         - An attempt to shorten RCU grace period driven delays showed crashes
           during heavier testing, and has been entirely reverted
      
         - A missed merge/rebase error between the advise_mr and ib_device_ops
           series
      
         - Some small static analysis driven fixes from Julia and Aditya
      
         - Missed ability to create a XRC_INI in the devx verbs interop
           series"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        infiniband/qedr: Potential null ptr dereference of qp
        infiniband: bnxt_re: qplib: Check the return value of send_message
        IB/ipoib: drop useless LIST_HEAD
        IB/core: Add advise_mr to the list of known ops
        Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads"
        IB/mlx5: Allow XRC INI usage via verbs in DEVX context
      3954e1d0
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.21' of git://github.com/bzolnier/linux · a8a6b118
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
       "This time the pull request is really small.
      
        The most notable changes are fixing fbcon to not cause crash on
        unregister_framebuffer() operation when there is more than one
        framebuffer, adding config option to center the bootup logo and making
        FB_BACKLIGHT config option tristate (which in turn uncovered incorrect
        FB_BACKLIGHT usage by DRM's nouveau driver).
      
        Summary:
      
         - fix fbcon to not cause crash on unregister_framebuffer() when there
           is more than one framebuffer (Noralf Trønnes)
      
         - improve support for small rotated displays (Peter Rosin)
      
         - fix probe failure handling in udlfb driver (Dan Carpenter)
      
         - add config option to center the bootup logo (Peter Rosin)
      
         - make FB_BACKLIGHT config option tristate (Rob Clark)
      
         - remove superfluous HAS_DMA dependency for goldfishfb driver (Geert
           Uytterhoeven)
      
         - misc fixes (Alexey Khoroshilov, YueHaibing, Colin Ian King, Lubomir
           Rintel)
      
         - misc cleanups (Yangtao Li, Wen Yang)
      
        also there is DRM's nouveau driver fix for wrong FB_BACKLIGHT config
        option usage (FB_BACKLIGHT is for internal fbdev subsystem use only)"
      
      * tag 'fbdev-v4.21' of git://github.com/bzolnier/linux:
        drm/nouveau: fix incorrect FB_BACKLIGHT usage in Kconfig
        fbdev: fbcon: Fix unregister crash when more than one framebuffer
        fbdev: Remove depends on HAS_DMA in case of platform dependency
        pxa168fb: trivial typo fix
        fbdev: fsl-diu: remove redundant null check on cmap
        fbdev: omap2: omapfb: convert to DEFINE_SHOW_ATTRIBUTE
        fbdev: uvesafb: fix spelling mistake "memoery" -> "memory"
        fbdev: fbmem: add config option to center the bootup logo
        fbdev: fbmem: make fb_show_logo_line return the end instead of the height
        video: fbdev: pxafb: Fix "WARNING: invalid free of devm_ allocated data"
        fbdev: fbmem: behave better with small rotated displays and many CPUs
        video: clps711x-fb: release disp device node in probe()
        fbdev: make FB_BACKLIGHT a tristate
        udlfb: fix some inconsistent NULL checking
      a8a6b118
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 7671c14e
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has only driver updates for you this time.
      
        Mostly new IDs/DT compatibles, also SPDX conversions, small cleanups.
        STM32F7 got FastMode+ and PM support, Axxia some reliabilty
        improvements"
      
      * 'i2c/for-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (26 commits)
        i2c: Add Actions Semiconductor Owl family S700 I2C support
        dt-bindings: i2c: Add S700 support for Actions Semi Soc's
        i2c: ismt: Add support for Intel Cedar Fork
        i2c: tegra: Switch to SPDX identifier
        i2c: tegra: Add missing kerneldoc for some fields
        i2c: tegra: Cleanup kerneldoc comments
        i2c: axxia: support sequence command mode
        dt-bindings: i2c: rcar: Add r8a774c0 support
        dt-bindings: i2c: sh_mobile: Add r8a774c0 support
        i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E)
        i2c: i2c-cros-ec-tunnel: Switch to SPDX identifier.
        i2c: powermac: Use of_node_name_eq for node name comparisons
        i2c-axxia: check for error conditions first
        i2c-axxia: dedicated function to set client addr
        dt-bindings: i2c: Use correct vendor prefix for Atmel
        i2c: tegra: replace spin_lock_irqsave with spin_lock in ISR
        eeprom: at24: add support for 24c2048
        dt-bindings: eeprom: at24: add "atmel,24c2048" compatible string
        i2c: i2c-stm32f7: add PM Runtime support
        i2c: sh_mobile: add support for r8a77990 (R-Car E3)
        ...
      7671c14e
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 926b02d3
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
      
       - Remove unused lists from ASPM pcie_link_state (Frederick Lawler)
      
       - Fix Broadcom CNB20LE host bridge unintended sign extension (Colin Ian
         King)
      
       - Expand Kconfig "PF" acronyms (Randy Dunlap)
      
       - Update MAINTAINERS for arch/x86/kernel/early-quirks.c (Bjorn Helgaas)
      
       - Add missing include to drivers/pci.h (Alexandru Gagniuc)
      
       - Override Synopsys USB 3.x HAPS device class so dwc3-haps can claim it
         instead of xhci (Thinh Nguyen)
      
       - Clean up P2PDMA documentation (Randy Dunlap)
      
       - Allow runtime PM even if driver doesn't supply callbacks (Jarkko
         Nikula)
      
       - Remove status check after submitting Switchtec MRPC Firmware Download
         commands to avoid Completion Timeouts (Kelvin Cao)
      
       - Set Switchtec coherent DMA mask to allow 64-bit DMA (Boris Glimcher)
      
       - Fix Switchtec SWITCHTEC_IOCTL_EVENT_IDX_ALL flag overwrite issue
         (Joey Zhang)
      
       - Enable write combining for Switchtec MRPC Input buffers (Kelvin Cao)
      
       - Add Switchtec MRPC DMA mode support (Wesley Sheng)
      
       - Skip VF scanning on powerpc, which does this in firmware (Sebastian
         Ott)
      
       - Add Amlogic Meson PCIe controller driver and DT bindings (Yue Wang)
      
       - Constify histb dw_pcie_host_ops structure (Julia Lawall)
      
       - Support multiple power domains for imx6 (Leonard Crestez)
      
       - Constify layerscape driver data (Stefan Agner)
      
       - Update imx6 Kconfig to allow imx6 PCIe in imx7 kernel (Trent Piepho)
      
       - Support armada8k GPIO reset (Baruch Siach)
      
       - Support suspend/resume support on imx6 (Leonard Crestez)
      
       - Don't hard-code DesignWare DBI/ATU offst (Stephen Warren)
      
       - Skip i.MX6 PHY setup on i.MX7D (Andrey Smirnov)
      
       - Remove Jianguo Sun from HiSilicon STB maintainers (Lorenzo Pieralisi)
      
       - Mask DesignWare interrupts instead of disabling them to avoid lost
         interrupts (Marc Zyngier)
      
       - Add locking when acking DesignWare interrupts (Marc Zyngier)
      
       - Ack DesignWare interrupts in the proper callbacks (Marc Zyngier)
      
       - Use devm resource parser in mediatek (Honghui Zhang)
      
       - Remove unused mediatek "num-lanes" DT property (Honghui Zhang)
      
       - Add UniPhier PCIe controller driver and DT bindings (Kunihiko
         Hayashi)
      
       - Enable MSI for imx6 downstream components (Richard Zhu)
      
      * tag 'pci-v4.21-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (40 commits)
        PCI: imx: Enable MSI from downstream components
        s390/pci: skip VF scanning
        PCI/IOV: Add flag so platforms can skip VF scanning
        PCI/IOV: Factor out sriov_add_vfs()
        PCI: uniphier: Add UniPhier PCIe host controller support
        dt-bindings: PCI: Add UniPhier PCIe host controller description
        PCI: amlogic: Add the Amlogic Meson PCIe controller driver
        dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller
        arm64: dts: mt7622: Remove un-used property for PCIe
        arm: dts: mt7623: Remove un-used property for PCIe
        dt-bindings: PCI: MediaTek: Remove un-used property
        PCI: mediatek: Remove un-used variant in struct mtk_pcie_port
        MAINTAINERS: Remove Jianguo Sun from HiSilicon STB DWC entry
        PCI: dwc: Don't hard-code DBI/ATU offset
        PCI: imx: Add imx6sx suspend/resume support
        PCI: armada8k: Add support for gpio controlled reset signal
        PCI: dwc: Adjust Kconfig to allow IMX6 PCIe host on IMX7
        PCI: dwc: layerscape: Constify driver data
        PCI: imx: Add multi-pd support
        PCI: Override Synopsys USB 3.x HAPS device class
        ...
      926b02d3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · cf26057a
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - high-resolution scrolling support that gracefully handles differences
         between MS and Logitech implementations in HW, from Peter Hutterer
         and Harry Cutts
      
       - MSI IRQ support for intel-ish driver, from Song Hongyan
      
       - support for new hardware (Cougar 700K, Odys Winbook 13, ASUS FX503VD,
         ASUS T101HA) from Daniel M. Lambea, Hans de Goede and Aleix Roca
         Nonell
      
       - other small assorted fixups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (22 commits)
        HID: i2c-hid: Add Odys Winbook 13 to descriptor override
        HID: lenovo: Add checks to fix of_led_classdev_register
        HID: intel-ish-hid: add MSI interrupt support
        HID: debug: Change to use DEFINE_SHOW_ATTRIBUTE macro
        HID: doc: fix wrong data structure reference for UHID_OUTPUT
        HID: intel-ish-hid: fixes incorrect error handling
        HID: asus: Add support for the ASUS T101HA keyboard dock
        HID: logitech: Use LDJ_DEVICE macro for existing Logitech mice
        HID: logitech: Enable high-resolution scrolling on Logitech mice
        HID: logitech: Add function to enable HID++ 1.0 "scrolling acceleration"
        HID: logitech-hidpp: fix typo, hiddpp to hidpp
        HID: input: use the Resolution Multiplier for high-resolution scrolling
        HID: core: process the Resolution Multiplier
        HID: core: store the collections as a basic tree
        Input: add `REL_WHEEL_HI_RES` and `REL_HWHEEL_HI_RES`
        HID: input: support Microsoft wireless radio control hotkey
        HID: use macros in IS_INPUT_APPLICATION
        HID: asus: Add support for the ASUS FX503VD laptop
        HID: asus: Add event handler to catch unmapped Asus Vendor UsagePage codes
        HID: cougar: Add support for Cougar 700K Gaming Keyboard
        ...
      cf26057a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · 1686cc1a
      Linus Torvalds authored
      Pull livepatch update from Jiri Kosina:
       "Return value checking fixup in livepatching samples, from Nicholas Mc
        Guire"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch: check kzalloc return values
      1686cc1a
    • Masahiro Yamada's avatar
      kconfig: rename generated .*conf-cfg to *conf-cfg · d86271af
      Masahiro Yamada authored
      Remove the dot-prefixing since it is just a matter of the
      .gitignore file.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      d86271af
    • Masahiro Yamada's avatar
      kbuild: remove unnecessary stubs for archheader and archscripts · f7de64b7
      Masahiro Yamada authored
      Make simply skips a missing rule when it is marked as .PHONY.
      Remove the dummy targets.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      f7de64b7
    • Masahiro Yamada's avatar
      kbuild: use assignment instead of define ... endef for filechk_* rules · ba97df45
      Masahiro Yamada authored
      You do not have to use define ... endef for filechk_* rules.
      
      For simple cases, the use of assignment looks cleaner, IMHO.
      
      I updated the usage for scripts/Kbuild.include in case somebody
      misunderstands the 'define ... endif' is the requirement.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      ba97df45
    • Masahiro Yamada's avatar
      arch: remove redundant UAPI generic-y defines · d6e4b3e3
      Masahiro Yamada authored
      Now that Kbuild automatically creates asm-generic wrappers for missing
      mandatory headers, it is redundant to list the same headers in
      generic-y and mandatory-y.
      Suggested-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      d6e4b3e3
    • Masahiro Yamada's avatar
      kbuild: generate asm-generic wrappers if mandatory headers are missing · 91998731
      Masahiro Yamada authored
      Some time ago, Sam pointed out a certain degree of overwrap between
      generic-y and mandatory-y. (https://lkml.org/lkml/2017/7/10/121)
      
      I tweaked the meaning of mandatory-y a little bit; now it defines the
      minimum set of ASM headers that all architectures must have.
      
      If arch does not have specific implementation of a mandatory header,
      Kbuild will let it fallback to the asm-generic one by automatically
      generating a wrapper. This will allow to drop lots of redundant
      generic-y defines.
      
      Previously, "mandatory" was used in the context of UAPI, but I guess
      this can be extended to kernel space ASM headers.
      Suggested-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      91998731