07 Nov, 2018

1 commit

  • The lib/raid6/test fails to build the neon objects
    on arm64 because the correct machine type is 'aarch64'.

    Once this is correctly enabled, the neon recovery objects
    need to be added to the build.

    Reviewed-by: Ard Biesheuvel
    Signed-off-by: Jeremy Linton
    Signed-off-by: Catalin Marinas

    Jeremy Linton
     

02 Nov, 2018

1 commit

  • Pull AFS updates from Al Viro:
    "AFS series, with some iov_iter bits included"

    * 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (26 commits)
    missing bits of "iov_iter: Separate type from direction and use accessor functions"
    afs: Probe multiple fileservers simultaneously
    afs: Fix callback handling
    afs: Eliminate the address pointer from the address list cursor
    afs: Allow dumping of server cursor on operation failure
    afs: Implement YFS support in the fs client
    afs: Expand data structure fields to support YFS
    afs: Get the target vnode in afs_rmdir() and get a callback on it
    afs: Calc callback expiry in op reply delivery
    afs: Fix FS.FetchStatus delivery from updating wrong vnode
    afs: Implement the YFS cache manager service
    afs: Remove callback details from afs_callback_break struct
    afs: Commit the status on a new file/dir/symlink
    afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS
    afs: Don't invoke the server to read data beyond EOF
    afs: Add a couple of tracepoints to log I/O errors
    afs: Handle EIO from delivery function
    afs: Fix TTL on VL server and address lists
    afs: Implement VL server rotation
    afs: Improve FS server rotation error handling
    ...

    Linus Torvalds
     

01 Nov, 2018

2 commits

  • …l/git/palmer/riscv-linux

    Pull more RISC-V updates from Palmer Dabbelt:
    "This contains the follow-on patches I'd like to target for the 4.20
    merge window. I'm being somewhat conservative here, as while there are
    a few patches on the mailing list that were posted early in the merge
    window I'd like to let those bake for another round -- this was a
    fairly big release as far as RISC-V is concerened, and we need to walk
    before we can run.

    As far as the patches that made it go:

    - A patch to ignore offline CPUs when calculating AT_HWCAP. This
    should fix GDB on the HiFive unleashed, which has an embedded core
    for hart 0 which is exposed to Linux as an offline CPU.

    - A move of EM_RISCV to elf-em.h, which is where it should have been
    to begin with.

    - I've also removed the 64-bit divide routines. I know I'm not really
    playing by my own rules here because I posted the patches this
    morning, but since they shouldn't be in the kernel I think it's
    better to err on the side of going too fast here.

    I don't anticipate any more patch sets for the merge window"

    * tag 'riscv-for-linus-4.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
    Move EM_RISCV into elf-em.h
    RISC-V: properly determine hardware caps
    Revert "lib: Add umoddi3 and udivmoddi4 of GCC library routines"
    Revert "RISC-V: Select GENERIC_LIB_UMODDI3 on RV32"

    Linus Torvalds
     
  • We don't want 64-bit divide in the kernel.

    This reverts commit 6315730e9eab7de5fa9864bb13a352713f48aef1.

    Signed-off-by: Palmer Dabbelt

    Palmer Dabbelt
     

31 Oct, 2018

14 commits

  • When a memblock allocation APIs are called with align = 0, the alignment
    is implicitly set to SMP_CACHE_BYTES.

    Implicit alignment is done deep in the memblock allocator and it can
    come as a surprise. Not that such an alignment would be wrong even
    when used incorrectly but it is better to be explicit for the sake of
    clarity and the prinicple of the least surprise.

    Replace all such uses of memblock APIs with the 'align' parameter
    explicitly set to SMP_CACHE_BYTES and stop implicit alignment assignment
    in the memblock internal allocation functions.

    For the case when memblock APIs are used via helper functions, e.g. like
    iommu_arena_new_node() in Alpha, the helper functions were detected with
    Coccinelle's help and then manually examined and updated where
    appropriate.

    The direct memblock APIs users were updated using the semantic patch below:

    @@
    expression size, min_addr, max_addr, nid;
    @@
    (
    |
    - memblock_alloc_try_nid_raw(size, 0, min_addr, max_addr, nid)
    + memblock_alloc_try_nid_raw(size, SMP_CACHE_BYTES, min_addr, max_addr,
    nid)
    |
    - memblock_alloc_try_nid_nopanic(size, 0, min_addr, max_addr, nid)
    + memblock_alloc_try_nid_nopanic(size, SMP_CACHE_BYTES, min_addr, max_addr,
    nid)
    |
    - memblock_alloc_try_nid(size, 0, min_addr, max_addr, nid)
    + memblock_alloc_try_nid(size, SMP_CACHE_BYTES, min_addr, max_addr, nid)
    |
    - memblock_alloc(size, 0)
    + memblock_alloc(size, SMP_CACHE_BYTES)
    |
    - memblock_alloc_raw(size, 0)
    + memblock_alloc_raw(size, SMP_CACHE_BYTES)
    |
    - memblock_alloc_from(size, 0, min_addr)
    + memblock_alloc_from(size, SMP_CACHE_BYTES, min_addr)
    |
    - memblock_alloc_nopanic(size, 0)
    + memblock_alloc_nopanic(size, SMP_CACHE_BYTES)
    |
    - memblock_alloc_low(size, 0)
    + memblock_alloc_low(size, SMP_CACHE_BYTES)
    |
    - memblock_alloc_low_nopanic(size, 0)
    + memblock_alloc_low_nopanic(size, SMP_CACHE_BYTES)
    |
    - memblock_alloc_from_nopanic(size, 0, min_addr)
    + memblock_alloc_from_nopanic(size, SMP_CACHE_BYTES, min_addr)
    |
    - memblock_alloc_node(size, 0, nid)
    + memblock_alloc_node(size, SMP_CACHE_BYTES, nid)
    )

    [mhocko@suse.com: changelog update]
    [akpm@linux-foundation.org: coding-style fixes]
    [rppt@linux.ibm.com: fix missed uses of implicit alignment]
    Link: http://lkml.kernel.org/r/20181016133656.GA10925@rapoport-lnx
    Link: http://lkml.kernel.org/r/1538687224-17535-1-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Suggested-by: Michal Hocko
    Acked-by: Paul Burton [MIPS]
    Acked-by: Michael Ellerman [powerpc]
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: Matt Turner
    Cc: Michal Simek
    Cc: Richard Weinberger
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Move remaining definitions and declarations from include/linux/bootmem.h
    into include/linux/memblock.h and remove the redundant header.

    The includes were replaced with the semantic patch below and then
    semi-automated removal of duplicated '#include

    @@
    @@
    - #include
    + #include

    [sfr@canb.auug.org.au: dma-direct: fix up for the removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181002185342.133d1680@canb.auug.org.au
    [sfr@canb.auug.org.au: powerpc: fix up for removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181005161406.73ef8727@canb.auug.org.au
    [sfr@canb.auug.org.au: x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal]
    Link: http://lkml.kernel.org/r/20181008190341.5e396491@canb.auug.org.au
    Link: http://lkml.kernel.org/r/1536927045-23536-30-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Stephen Rothwell
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • The conversion is done using

    sed -i 's@memblock_virt_alloc@memblock_alloc@g' \
    $(git grep -l memblock_virt_alloc)

    Link: http://lkml.kernel.org/r/1536927045-23536-8-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Hocko
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • All architecures use memblock for early memory management. There is no need
    for the CONFIG_HAVE_MEMBLOCK configuration option.

    [rppt@linux.vnet.ibm.com: of/fdt: fixup #ifdefs]
    Link: http://lkml.kernel.org/r/20180919103457.GA20545@rapoport-lnx
    [rppt@linux.vnet.ibm.com: csky: fixups after bootmem removal]
    Link: http://lkml.kernel.org/r/20180926112744.GC4628@rapoport-lnx
    [rppt@linux.vnet.ibm.com: remove stale #else and the code it protects]
    Link: http://lkml.kernel.org/r/1538067825-24835-1-git-send-email-rppt@linux.vnet.ibm.com
    Link: http://lkml.kernel.org/r/1536927045-23536-4-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Acked-by: Michal Hocko
    Tested-by: Jonathan Cameron
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     
  • Update the LZ4 compression module based on LZ4 v1.8.3 in order for the
    erofs file system to use the newest LZ4_decompress_safe_partial() which
    can now decode exactly the nb of bytes requested [1] to take place of the
    open hacked code in the erofs file system itself.

    Currently, apart from the erofs file system, no other users use
    LZ4_decompress_safe_partial, so no worry about the interface.

    In addition, LZ4 v1.8.x boosts up decompression speed compared to the
    current code which is based on LZ4 v1.7.3, mainly due to shortcut
    optimization for the specific common LZ4-sequences [2].

    lzbench testdata (tested in kirin710, 8 cores, 4 big cores
    at 2189Mhz, 2GB DDR RAM at 1622Mhz, with enwik8 testdata [3]):

    Compressor name Compress. Decompress. Compr. size Ratio Filename
    memcpy 5004 MB/s 4924 MB/s 100000000 100.00 enwik8
    lz4hc 1.7.3 -9 12 MB/s 653 MB/s 42203253 42.20 enwik8
    lz4hc 1.8.0 -9 12 MB/s 908 MB/s 42203096 42.20 enwik8
    lz4hc 1.8.3 -9 11 MB/s 965 MB/s 42203094 42.20 enwik8

    [1] https://github.com/lz4/lz4/issues/566
    https://github.com/lz4/lz4/commit/08d347b5b217b011ff7487130b79480d8cfdaeb8

    [2] v1.8.1 perf: slightly faster compression and decompression speed
    https://github.com/lz4/lz4/commit/a31b7058cb97e4393da55e78a77a1c6f0c9ae038
    v1.8.2 perf: slightly faster HC compression and decompression speed
    https://github.com/lz4/lz4/commit/45f8603aae389d34c689d3ff7427b314071ccd2c
    https://github.com/lz4/lz4/commit/1a191b3f8d26b50a7c1d41590b529ec308d768cd

    [3] http://mattmahoney.net/dc/textdata.html
    http://mattmahoney.net/dc/enwik8.zip

    Link: http://lkml.kernel.org/r/1537181207-21932-1-git-send-email-gaoxiang25@huawei.com
    Signed-off-by: Gao Xiang
    Tested-by: Guo Xuenan
    Cc: Colin Ian King
    Cc: Yann Collet
    Cc: Greg Kroah-Hartman
    Cc: Fang Wei
    Cc: Chao Yu
    Cc: Miao Xie
    Cc: Sven Schmidt
    Cc: Kyungsik Lee
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gao Xiang
     
  • Implicit casts to the same type are done by the language if necessary.

    Link: http://lkml.kernel.org/r/20181014223934.GA18107@avx2
    Signed-off-by: Alexey Dobriyan
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • mempool_destroy(NULL) and kmem_cache_destroy(NULL) are legal

    Link: http://lkml.kernel.org/r/1533054107-35657-1-git-send-email-zhongjiang@huawei.com
    Signed-off-by: zhong jiang
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    zhong jiang
     
  • This patch remove all following fall through warnings by
    adding /* fall through */ markers.
    Note that we cannot add "__attribute__ ((fallthrough));" due to it is GCC7 only
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:384:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:391:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:393:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:430:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:556:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:595:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:602:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:627:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:646:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
    arch/arm/boot/compressed/../../../../lib/zlib_inflate/inflate.c:696:25: warning: this statement may fall through [-Wimplicit-fallthrough=]

    It is easy to see that thoses fall through are needed since in each case state->mode are set to the case value just below.

    Link: http://lkml.kernel.org/r/1536215920-19955-1-git-send-email-clabbe@baylibre.com
    Signed-off-by: Corentin Labbe
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corentin Labbe
     
  • This simplifies the code. No change in behavior.

    Link: http://lkml.kernel.org/r/20180830194727.191555-1-ebiggers@kernel.org
    Signed-off-by: Eric Biggers
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • This simplifies the code. No change in behavior.

    Link: http://lkml.kernel.org/r/20180830194814.192880-1-ebiggers@kernel.org
    Signed-off-by: Eric Biggers
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • This simplifies the code. No change in behavior.

    Link: http://lkml.kernel.org/r/20180830194436.188867-1-ebiggers@kernel.org
    Signed-off-by: Eric Biggers
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • len is guaranteed to lie in [1, PAGE_SIZE]. If scnprintf is called with a
    buffer size of 1, it is guaranteed to return 0. So in the extremely
    unlikely case of having just one byte remaining in the page, let's just
    call scnprintf anyway. The only difference is that this will write a '\0'
    to that final byte in the page, but that's an improvement: We now
    guarantee that after the call, buf is a properly terminated C string of
    length exactly the return value.

    Link: http://lkml.kernel.org/r/20180818131623.8755-8-linux@rasmusvillemoes.dk
    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Andy Shevchenko
    Cc: Yury Norov
    Cc: Rasmus Villemoes
    Cc: Sudeep Holla
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • For various alignments of buf, the current expression computes

    4096 ok
    4095 ok
    8190
    8189
    ...
    4097

    i.e., if the caller has already written two bytes into the page buffer,
    len is 8190 rather than 4094, because PTR_ALIGN aligns up to the next
    boundary. So if the printed version of the bitmap is huge, scnprintf()
    ends up writing beyond the page boundary.

    I don't think any current callers actually write anything before
    bitmap_print_to_pagebuf, but the API seems to be designed to allow it.

    [akpm@linux-foundation.org: use offset_in_page(), per Andy]
    [akpm@linux-foundation.org: include mm.h for offset_in_page()]
    Link: http://lkml.kernel.org/r/20180818131623.8755-7-linux@rasmusvillemoes.dk
    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Andy Shevchenko
    Cc: Yury Norov
    Cc: Rasmus Villemoes
    Cc: Sudeep Holla
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • This promise is violated in a number of places, e.g. already in the
    second function below this paragraph. Since I don't think anybody relies
    on this being true, and since actually honouring it would hurt performance
    and code size in various places, just remove the paragraph.

    Link: http://lkml.kernel.org/r/20180818131623.8755-2-linux@rasmusvillemoes.dk
    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Andy Shevchenko
    Cc: Yury Norov
    Cc: Rasmus Villemoes
    Cc: Sudeep Holla
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     

29 Oct, 2018

2 commits

  • Pull VLA removal from Kees Cook:
    "Globally warn on VLA use.

    This turns on "-Wvla" globally now that the last few trees with their
    VLA removals have landed (crypto, block, net, and powerpc).

    Arnd mentioned that there may be a couple more VLAs hiding in
    hard-to-find randconfigs, but nothing big has shaken out in the last
    month or so in linux-next.

    We should be basically VLA-free now! Wheee. :)

    Summary:

    - Remove unused fallback for BUILD_BUG_ON (which technically contains
    a VLA)

    - Lift -Wvla to the top-level Makefile"

    * tag 'vla-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    Makefile: Globally enable VLA warning
    compiler.h: give up __compiletime_assert_fallback()

    Linus Torvalds
     
  • Pull XArray conversion from Matthew Wilcox:
    "The XArray provides an improved interface to the radix tree data
    structure, providing locking as part of the API, specifying GFP flags
    at allocation time, eliminating preloading, less re-walking the tree,
    more efficient iterations and not exposing RCU-protected pointers to
    its users.

    This patch set

    1. Introduces the XArray implementation

    2. Converts the pagecache to use it

    3. Converts memremap to use it

    The page cache is the most complex and important user of the radix
    tree, so converting it was most important. Converting the memremap
    code removes the only other user of the multiorder code, which allows
    us to remove the radix tree code that supported it.

    I have 40+ followup patches to convert many other users of the radix
    tree over to the XArray, but I'd like to get this part in first. The
    other conversions haven't been in linux-next and aren't suitable for
    applying yet, but you can see them in the xarray-conv branch if you're
    interested"

    * 'xarray' of git://git.infradead.org/users/willy/linux-dax: (90 commits)
    radix tree: Remove multiorder support
    radix tree test: Convert multiorder tests to XArray
    radix tree tests: Convert item_delete_rcu to XArray
    radix tree tests: Convert item_kill_tree to XArray
    radix tree tests: Move item_insert_order
    radix tree test suite: Remove multiorder benchmarking
    radix tree test suite: Remove __item_insert
    memremap: Convert to XArray
    xarray: Add range store functionality
    xarray: Move multiorder_check to in-kernel tests
    xarray: Move multiorder_shrink to kernel tests
    xarray: Move multiorder account test in-kernel
    radix tree test suite: Convert iteration test to XArray
    radix tree test suite: Convert tag_tagged_items to XArray
    radix tree: Remove radix_tree_clear_tags
    radix tree: Remove radix_tree_maybe_preload_order
    radix tree: Remove split/join code
    radix tree: Remove radix_tree_update_node_t
    page cache: Finish XArray conversion
    dax: Convert page fault handlers to XArray
    ...

    Linus Torvalds
     

27 Oct, 2018

4 commits

  • Merge updates from Andrew Morton:

    - a few misc things

    - ocfs2 updates

    - most of MM

    * emailed patches from Andrew Morton : (132 commits)
    hugetlbfs: dirty pages as they are added to pagecache
    mm: export add_swap_extent()
    mm: split SWP_FILE into SWP_ACTIVATED and SWP_FS
    tools/testing/selftests/vm/map_fixed_noreplace.c: add test for MAP_FIXED_NOREPLACE
    mm: thp: relocate flush_cache_range() in migrate_misplaced_transhuge_page()
    mm: thp: fix mmu_notifier in migrate_misplaced_transhuge_page()
    mm: thp: fix MADV_DONTNEED vs migrate_misplaced_transhuge_page race condition
    mm/kasan/quarantine.c: make quarantine_lock a raw_spinlock_t
    mm/gup: cache dev_pagemap while pinning pages
    Revert "x86/e820: put !E820_TYPE_RAM regions into memblock.reserved"
    mm: return zero_resv_unavail optimization
    mm: zero remaining unavailable struct pages
    tools/testing/selftests/vm/gup_benchmark.c: add MAP_HUGETLB option
    tools/testing/selftests/vm/gup_benchmark.c: add MAP_SHARED option
    tools/testing/selftests/vm/gup_benchmark.c: allow user specified file
    tools/testing/selftests/vm/gup_benchmark.c: fix 'write' flag usage
    mm/gup_benchmark.c: add additional pinning methods
    mm/gup_benchmark.c: time put_page()
    mm: don't raise MEMCG_OOM event due to failed high-order allocation
    mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock
    ...

    Linus Torvalds
     
  • Arch code may have asm implementation of string/memory API functions
    instead of using generic one from lib/string.c. KASAN don't see memory
    accesses in asm code, thus can miss many bugs.

    E.g. on ARM64 KASAN don't see bugs in memchr(), memcmp(), str[r]chr(),
    str[n]cmp(), str[n]len(). Add tests for these functions to be sure that
    we notice the problem on other architectures.

    Link: http://lkml.kernel.org/r/20180920135631.23833-3-aryabinin@virtuozzo.com
    Signed-off-by: Andrey Ryabinin
    Cc: Alexander Potapenko
    Cc: Ard Biesheuvel
    Cc: Dmitry Vyukov
    Cc: Kyeongdon Kim
    Cc: Mark Rutland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Ryabinin
     
  • Pull Devicetree updates from Rob Herring:
    "A bit bigger than normal as I've been busy this cycle.

    There's a few things with dependencies and a few things subsystem
    maintainers didn't pick up, so I'm taking them thru my tree.

    The fixes from Johan didn't get into linux-next, but they've been
    waiting for some time now and they are what's left of what subsystem
    maintainers didn't pick up.

    Summary:

    - Sync dtc with upstream version v1.4.7-14-gc86da84d30e4

    - Work to get rid of direct accesses to struct device_node name and
    type pointers in preparation for removing them. New helpers for
    parsing DT cpu nodes and conversions to use the helpers. printk
    conversions to %pOFn for printing DT node names. Most went thru
    subystem trees, so this is the remainder.

    - Fixes to DT child node lookups to actually be restricted to child
    nodes instead of treewide.

    - Refactoring of dtb targets out of arch code. This makes the support
    more uniform and enables building all dtbs on c6x, microblaze, and
    powerpc.

    - Various DT binding updates for Renesas r8a7744 SoC

    - Vendor prefixes for Facebook, OLPC

    - Restructuring of some ARM binding docs moving some peripheral
    bindings out of board/SoC binding files

    - New "secure-chosen" binding for secure world settings on ARM

    - Dual licensing of 2 DT IRQ binding headers"

    * tag 'devicetree-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (78 commits)
    ARM: dt: relicense two DT binding IRQ headers
    power: supply: twl4030-charger: fix OF sibling-node lookup
    NFC: nfcmrvl_uart: fix OF child-node lookup
    net: stmmac: dwmac-sun8i: fix OF child-node lookup
    net: bcmgenet: fix OF child-node lookup
    drm/msm: fix OF child-node lookup
    drm/mediatek: fix OF sibling-node lookup
    of: Add missing exports of node name compare functions
    dt-bindings: Add OLPC vendor prefix
    dt-bindings: misc: bk4: Add device tree binding for Liebherr's BK4 SPI bus
    dt-bindings: thermal: samsung: Add SPDX license identifier
    dt-bindings: clock: samsung: Add SPDX license identifiers
    dt-bindings: timer: ostm: Add R7S9210 support
    dt-bindings: phy: rcar-gen2: Add r8a7744 support
    dt-bindings: can: rcar_can: Add r8a7744 support
    dt-bindings: timer: renesas, cmt: Document r8a7744 CMT support
    dt-bindings: watchdog: renesas-wdt: Document r8a7744 support
    dt-bindings: thermal: rcar: Add device tree support for r8a7744
    Documentation: dt: Add binding for /secure-chosen/stdout-path
    dt-bindings: arm: zte: Move sysctrl bindings to their own doc
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char/misc patches for 4.20-rc1.

    Loads of things here, we have new code in all of these driver
    subsystems:
    - fpga
    - stm
    - extcon
    - nvmem
    - eeprom
    - hyper-v
    - gsmi
    - coresight
    - thunderbolt
    - vmw_balloon
    - goldfish
    - soundwire
    along with lots of fixes and minor changes to other small drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (245 commits)
    Documentation/security-bugs: Clarify treatment of embargoed information
    lib: Fix ia64 bootloader linkage
    MAINTAINERS: Clarify UIO vs UIOVEC maintainer
    docs/uio: fix a grammar nitpick
    docs: fpga: document programming fpgas using regions
    fpga: add devm_fpga_region_create
    fpga: bridge: add devm_fpga_bridge_create
    fpga: mgr: add devm_fpga_mgr_create
    hv_balloon: Replace spin_is_locked() with lockdep
    sgi-xp: Replace spin_is_locked() with lockdep
    eeprom: New ee1004 driver for DDR4 memory
    eeprom: at25: remove unneeded 'at25_remove'
    w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size).
    misc: mic: scif: remove set but not used variables 'src_dma_addr, dst_dma_addr'
    misc: mic: fix a DMA pool free failure
    platform: goldfish: pipe: Add a blank line to separate varibles and code
    platform: goldfish: pipe: Remove redundant casting
    platform: goldfish: pipe: Call misc_deregister if init fails
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_dev variable into the driver state
    platform: goldfish: pipe: Move the file-scope goldfish_pipe_miscdev variable into the driver state
    ...

    Linus Torvalds
     

26 Oct, 2018

3 commits

  • …l/git/palmer/riscv-linux

    Pull RISC-V updates from Palmer Dabbelt:
    "This patch set contains a lot (at least, for me) of improvements to
    the RISC-V kernel port:

    - The removal of some cacheinfo values that were bogus.

    - On systems with F but without D the kernel will not show the F
    extension to userspace, as it isn't actually supported.

    - Support for futexes.

    - Removal of some unused code.

    - Cleanup of some menuconfig entries.

    - Support for systems without a floating-point unit, and for building
    kernels that will never use the floating-point unit.

    - More fixes to the RV32I port, which regressed again. It's really
    time to get this into a regression test somewhere so I stop
    breaking it. Thanks to Zong for resurrecting it again!

    - Various fixes that resulted from a year old review of our original
    patch set that I finally got around to.

    - Various improvements to SMP support, largely based around having
    switched to logical hart numbering, as well as some interrupt
    improvements. This one is in the same patch set as above, thanks to
    Atish for sheparding everything though as my patch set was a bit of
    a mess.

    I'm pretty sure this is our largest patch set since the original
    kernel contribution, and it's certainly the one with the most
    contributors. While I don't have anything else I know I'm going to
    submit for the merge window, I would be somewhat surprised if I didn't
    screw anything up.

    Thanks for the help, everyone!"

    * tag 'riscv-for-linus-4.20-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux: (31 commits)
    RISC-V: Cosmetic menuconfig changes
    riscv: move GCC version check for ARCH_SUPPORTS_INT128 to Kconfig
    RISC-V: remove the unused return_to_handler export
    RISC-V: Add futex support.
    RISC-V: Add FP register ptrace support for gdb.
    RISC-V: Mask out the F extension on systems without D
    RISC-V: Don't set cacheinfo.{physical_line_partition,attributes}
    RISC-V: Show IPI stats
    RISC-V: Show CPU ID and Hart ID separately in /proc/cpuinfo
    RISC-V: Use Linux logical CPU number instead of hartid
    RISC-V: Add logical CPU indexing for RISC-V
    RISC-V: Use WRITE_ONCE instead of direct access
    RISC-V: Use mmgrab()
    RISC-V: Rename im_okay_therefore_i_am to found_boot_cpu
    RISC-V: Rename riscv_of_processor_hart to riscv_of_processor_hartid
    RISC-V: Provide a cleaner raw_smp_processor_id()
    RISC-V: Disable preemption before enabling interrupts
    RISC-V: Comment on the TLB flush in smp_callin()
    RISC-V: Filter ISA and MMU values in cpuinfo
    RISC-V: Don't set cacheinfo.{physical_line_partition,attributes}
    ...

    Linus Torvalds
     
  • Pull printk updates from Petr Mladek:

    - Fix two more locations where printf formatting leaked pointers

    - Better log_buf_len parameter handling

    - Add prefix to messages from printk code

    - Do not miss messages on other consoles when the log is replayed on a
    new one

    - Reduce race between console registration and panic() when the log
    might get replayed on all consoles

    - Some cont buffer code clean up

    - Call console only when there is something to do (log vs cont buffer)

    * tag 'printk-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
    lib/vsprintf: Hash printed address for netdev bits fallback
    lib/vsprintf: Hash legacy clock addresses
    lib/vsprintf: Prepare for more general use of ptr_to_id()
    lib/vsprintf: Make ptr argument conts in ptr_to_id()
    printk: fix integer overflow in setup_log_buf()
    printk: do not preliminary split up cont buffer
    printk: lock/unlock console only for new logbuf entries
    printk: keep kernel cont support always enabled
    printk: Give error on attempt to set log buffer length to over 2G
    printk: Add KBUILD_MODNAME and remove a redundant print prefix
    printk: Correct wrong casting
    printk: Fix panic caused by passing log_buf_len to command line
    printk: CON_PRINTBUFFER console registration is a bit racy
    printk: Do not miss new messages when replaying the log

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "API:
    - Remove VLA usage
    - Add cryptostat user-space interface
    - Add notifier for new crypto algorithms

    Algorithms:
    - Add OFB mode
    - Remove speck

    Drivers:
    - Remove x86/sha*-mb as they are buggy
    - Remove pcbc(aes) from x86/aesni
    - Improve performance of arm/ghash-ce by up to 85%
    - Implement CTS-CBC in arm64/aes-blk, faster by up to 50%
    - Remove PMULL based arm64/crc32 driver
    - Use PMULL in arm64/crct10dif
    - Add aes-ctr support in s5p-sss
    - Add caam/qi2 driver

    Others:
    - Pick better transform if one becomes available in crc-t10dif"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (124 commits)
    crypto: chelsio - Update ntx queue received from cxgb4
    crypto: ccree - avoid implicit enum conversion
    crypto: caam - add SPDX license identifier to all files
    crypto: caam/qi - simplify CGR allocation, freeing
    crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
    crypto: arm64/aes-blk - ensure XTS mask is always loaded
    crypto: testmgr - fix sizeof() on COMP_BUF_SIZE
    crypto: chtls - remove set but not used variable 'csk'
    crypto: axis - fix platform_no_drv_owner.cocci warnings
    crypto: x86/aes-ni - fix build error following fpu template removal
    crypto: arm64/aes - fix handling sub-block CTS-CBC inputs
    crypto: caam/qi2 - avoid double export
    crypto: mxs-dcp - Fix AES issues
    crypto: mxs-dcp - Fix SHA null hashes and output length
    crypto: mxs-dcp - Implement sha import/export
    crypto: aegis/generic - fix for big endian systems
    crypto: morus/generic - fix for big endian systems
    crypto: lrw - fix rebase error after out of bounds fix
    crypto: cavium/nitrox - use pci_alloc_irq_vectors() while enabling MSI-X.
    crypto: cavium/nitrox - NITROX command queue changes.
    ...

    Linus Torvalds
     

25 Oct, 2018

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "This is a fairly typical cycle for documentation. There's some welcome
    readability improvements for the formatted output, some LICENSES
    updates including the addition of the ISC license, the removal of the
    unloved and unmaintained 00-INDEX files, the deprecated APIs document
    from Kees, more MM docs from Mike Rapoport, and the usual pile of typo
    fixes and corrections"

    * tag 'docs-4.20' of git://git.lwn.net/linux: (41 commits)
    docs: Fix typos in histogram.rst
    docs: Introduce deprecated APIs list
    kernel-doc: fix declaration type determination
    doc: fix a typo in adding-syscalls.rst
    docs/admin-guide: memory-hotplug: remove table of contents
    doc: printk-formats: Remove bogus kobject references for device nodes
    Documentation: preempt-locking: Use better example
    dm flakey: Document "error_writes" feature
    docs/completion.txt: Fix a couple of punctuation nits
    LICENSES: Add ISC license text
    LICENSES: Add note to CDDL-1.0 license that it should not be used
    docs/core-api: memory-hotplug: add some details about locking internals
    docs/core-api: rename memory-hotplug-notifier to memory-hotplug
    docs: improve readability for people with poorer eyesight
    yama: clarify ptrace_scope=2 in Yama documentation
    docs/vm: split memory hotplug notifier description to Documentation/core-api
    docs: move memory hotplug description into admin-guide/mm
    doc: Fix acronym "FEKEK" in ecryptfs
    docs: fix some broken documentation references
    iommu: Fix passthrough option documentation
    ...

    Linus Torvalds
     

24 Oct, 2018

5 commits

  • Pull networking updates from David Miller:

    1) Add VF IPSEC offload support in ixgbe, from Shannon Nelson.

    2) Add zero-copy AF_XDP support to i40e, from Björn Töpel.

    3) All in-tree drivers are converted to {g,s}et_link_ksettings() so we
    can get rid of the {g,s}et_settings ethtool callbacks, from Michal
    Kubecek.

    4) Add software timestamping to veth driver, from Michael Walle.

    5) More work to make packet classifiers and actions lockless, from Vlad
    Buslov.

    6) Support sticky FDB entries in bridge, from Nikolay Aleksandrov.

    7) Add ipv6 version of IP_MULTICAST_ALL sockopt, from Andre Naujoks.

    8) Support batching of XDP buffers in vhost_net, from Jason Wang.

    9) Add flow dissector BPF hook, from Petar Penkov.

    10) i40e vf --> generic iavf conversion, from Jesse Brandeburg.

    11) Add NLA_REJECT netlink attribute policy type, to signal when users
    provide attributes in situations which don't make sense. From
    Johannes Berg.

    12) Switch TCP and fair-queue scheduler over to earliest departure time
    model. From Eric Dumazet.

    13) Improve guest receive performance by doing rx busy polling in tx
    path of vhost networking driver, from Tonghao Zhang.

    14) Add per-cgroup local storage to bpf

    15) Add reference tracking to BPF, from Joe Stringer. The verifier can
    now make sure that references taken to objects are properly released
    by the program.

    16) Support in-place encryption in TLS, from Vakul Garg.

    17) Add new taprio packet scheduler, from Vinicius Costa Gomes.

    18) Lots of selftests additions, too numerous to mention one by one here
    but all of which are very much appreciated.

    19) Support offloading of eBPF programs containing BPF to BPF calls in
    nfp driver, frm Quentin Monnet.

    20) Move dpaa2_ptp driver out of staging, from Yangbo Lu.

    21) Lots of u32 classifier cleanups and simplifications, from Al Viro.

    22) Add new strict versions of netlink message parsers, and enable them
    for some situations. From David Ahern.

    23) Evict neighbour entries on carrier down, also from David Ahern.

    24) Support BPF sk_msg verdict programs with kTLS, from Daniel Borkmann
    and John Fastabend.

    25) Add support for filtering route dumps, from David Ahern.

    26) New igc Intel driver for 2.5G parts, from Sasha Neftin et al.

    27) Allow vxlan enslavement to bridges in mlxsw driver, from Ido
    Schimmel.

    28) Add queue and stack map types to eBPF, from Mauricio Vasquez B.

    29) Add back byte-queue-limit support to r8169, with all the bug fixes
    in other areas of the driver it works now! From Florian Westphal and
    Heiner Kallweit.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2147 commits)
    tcp: add tcp_reset_xmit_timer() helper
    qed: Fix static checker warning
    Revert "be2net: remove desc field from be_eq_obj"
    Revert "net: simplify sock_poll_wait"
    net: socionext: Reset tx queue in ndo_stop
    net: socionext: Add dummy PHY register read in phy_write()
    net: socionext: Stop PHY before resetting netsec
    net: stmmac: Set OWN bit for jumbo frames
    arm64: dts: stratix10: Support Ethernet Jumbo frame
    tls: Add maintainers
    net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode
    octeontx2-af: Support for NIXLF's UCAST/PROMISC/ALLMULTI modes
    octeontx2-af: Support for setting MAC address
    octeontx2-af: Support for changing RSS algorithm
    octeontx2-af: NIX Rx flowkey configuration for RSS
    octeontx2-af: Install ucast and bcast pkt forwarding rules
    octeontx2-af: Add LMAC channel info to NIXLF_ALLOC response
    octeontx2-af: NPC MCAM and LDATA extract minimal configuration
    octeontx2-af: Enable packet length and csum validation
    octeontx2-af: Support for VTAG strip and capture
    ...

    Linus Torvalds
     
  • Add a new iterator, ITER_DISCARD, that can only be used in READ mode and
    just discards any data copied to it.

    This is useful in a network filesystem for discarding any unwanted data
    sent by a server.

    Signed-off-by: David Howells

    David Howells
     
  • In the iov_iter struct, separate the iterator type from the iterator
    direction and use accessor functions to access them in most places.

    Convert a bunch of places to use switch-statements to access them rather
    then chains of bitwise-AND statements. This makes it easier to add further
    iterator types. Also, this can be more efficient as to implement a switch
    of small contiguous integers, the compiler can use ~50% fewer compare
    instructions than it has to use bitwise-and instructions.

    Further, cease passing the iterator type into the iterator setup function.
    The iterator function can set that itself. Only the direction is required.

    Signed-off-by: David Howells

    David Howells
     
  • Use accessor functions to access an iterator's type and direction. This
    allows for the possibility of using some other method of determining the
    type of iterator than if-chains with bitwise-AND conditions.

    Signed-off-by: David Howells

    David Howells
     
  • Pull ARM updates from Russell King:
    "The main item in this pull request are the Spectre variant 1.1 fixes
    from Julien Thierry.

    A few other patches to improve various areas, and removal of some
    obsolete mcount bits and a redundant kbuild conditional"

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8802/1: Call syscall_trace_exit even when system call skipped
    ARM: 8797/1: spectre-v1.1: harden __copy_to_user
    ARM: 8796/1: spectre-v1,v1.1: provide helpers for address sanitization
    ARM: 8795/1: spectre-v1.1: use put_user() for __put_user()
    ARM: 8794/1: uaccess: Prevent speculative use of the current addr_limit
    ARM: 8793/1: signal: replace __put_user_error with __put_user
    ARM: 8792/1: oabi-compat: copy oabi events using __copy_to_user()
    ARM: 8791/1: vfp: use __copy_to_user() when saving VFP state
    ARM: 8790/1: signal: always use __copy_to_user to save iwmmxt context
    ARM: 8789/1: signal: copy registers using __copy_to_user()
    ARM: 8801/1: makefile: use ARMv3M mode for RiscPC
    ARM: 8800/1: use choice for kernel unwinders
    ARM: 8798/1: remove unnecessary KBUILD_SRC ifeq conditional
    ARM: 8788/1: ftrace: remove old mcount support
    ARM: 8786/1: Debug kernel copy by printing

    Linus Torvalds
     

23 Oct, 2018

5 commits

  • Pull locking and misc x86 updates from Ingo Molnar:
    "Lots of changes in this cycle - in part because locking/core attracted
    a number of related x86 low level work which was easier to handle in a
    single tree:

    - Linux Kernel Memory Consistency Model updates (Alan Stern, Paul E.
    McKenney, Andrea Parri)

    - lockdep scalability improvements and micro-optimizations (Waiman
    Long)

    - rwsem improvements (Waiman Long)

    - spinlock micro-optimization (Matthew Wilcox)

    - qspinlocks: Provide a liveness guarantee (more fairness) on x86.
    (Peter Zijlstra)

    - Add support for relative references in jump tables on arm64, x86
    and s390 to optimize jump labels (Ard Biesheuvel, Heiko Carstens)

    - Be a lot less permissive on weird (kernel address) uaccess faults
    on x86: BUG() when uaccess helpers fault on kernel addresses (Jann
    Horn)

    - macrofy x86 asm statements to un-confuse the GCC inliner. (Nadav
    Amit)

    - ... and a handful of other smaller changes as well"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
    locking/lockdep: Make global debug_locks* variables read-mostly
    locking/lockdep: Fix debug_locks off performance problem
    locking/pvqspinlock: Extend node size when pvqspinlock is configured
    locking/qspinlock_stat: Count instances of nested lock slowpaths
    locking/qspinlock, x86: Provide liveness guarantee
    x86/asm: 'Simplify' GEN_*_RMWcc() macros
    locking/qspinlock: Rework some comments
    locking/qspinlock: Re-order code
    locking/lockdep: Remove duplicated 'lock_class_ops' percpu array
    x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
    futex: Replace spin_is_locked() with lockdep
    locking/lockdep: Make class->ops a percpu counter and move it under CONFIG_DEBUG_LOCKDEP=y
    x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs
    x86/cpufeature: Macrofy inline assembly code to work around GCC inlining bugs
    x86/extable: Macrofy inline assembly code to work around GCC inlining bugs
    x86/paravirt: Work around GCC inlining bugs when compiling paravirt ops
    x86/bug: Macrofy the BUG table section handling, to work around GCC inlining bugs
    x86/alternatives: Macrofy lock prefixes to work around GCC inlining bugs
    x86/refcount: Work around GCC inlining bug
    x86/objtool: Use asm macros to work around GCC inlining bugs
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:

    - Improved access control for the zcrypt driver, multiple device nodes
    can now be created with different access control lists

    - Extend the pkey API to provide random protected keys, this is useful
    for encrypted swap device with ephemeral protected keys

    - Add support for virtually mapped kernel stacks

    - Rework the early boot code, this moves the memory detection into the
    boot code that runs prior to decompression.

    - Add KASAN support

    - Bug fixes and cleanups

    * tag 's390-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (83 commits)
    s390/pkey: move pckmo subfunction available checks away from module init
    s390/kasan: support preemptible kernel build
    s390/pkey: Load pkey kernel module automatically
    s390/perf: Return error when debug_register fails
    s390/sthyi: Fix machine name validity indication
    s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function
    s390/vmalloc: fix VMALLOC_START calculation
    s390/mem_detect: add missing include
    s390/dumpstack: print psw mask and address again
    s390/crypto: Enhance paes cipher to accept variable length key material
    s390/pkey: Introduce new API for transforming key blobs
    s390/pkey: Introduce new API for random protected key verification
    s390/pkey: Add sysfs attributes to emit secure key blobs
    s390/pkey: Add sysfs attributes to emit protected key blobs
    s390/pkey: Define protected key blob format
    s390/pkey: Introduce new API for random protected key generation
    s390/zcrypt: add ap_adapter_mask sysfs attribute
    s390/zcrypt: provide apfs failure code on type 86 error reply
    s390/zcrypt: zcrypt device driver cleanup
    s390/kasan: add support for mem= kernel parameter
    ...

    Linus Torvalds
     
  • Add umoddi3 and udivmoddi4 support for 32-bit.

    The RV32 need the umoddi3 to do modulo when the operands are long long
    type, like other libraries implementation such as ucmpdi2, lshrdi3 and
    so on.

    I encounter the undefined reference 'umoddi3' when I use the in
    house dma driver, although it is in house driver, but I think that
    umoddi3 is a common function for RV32.

    The udivmoddi4 and umoddi3 are copies from libgcc in gcc. There are other
    functions use the udivmoddi4 in libgcc, so I separate the umoddi3 and
    udivmoddi4 for flexible extension in the future.

    Signed-off-by: Zong Li
    Signed-off-by: Palmer Dabbelt

    Zong Li
     
  • Pull block layer updates from Jens Axboe:
    "This is the main pull request for block changes for 4.20. This
    contains:

    - Series enabling runtime PM for blk-mq (Bart).

    - Two pull requests from Christoph for NVMe, with items such as;
    - Better AEN tracking
    - Multipath improvements
    - RDMA fixes
    - Rework of FC for target removal
    - Fixes for issues identified by static checkers
    - Fabric cleanups, as prep for TCP transport
    - Various cleanups and bug fixes

    - Block merging cleanups (Christoph)

    - Conversion of drivers to generic DMA mapping API (Christoph)

    - Series fixing ref count issues with blkcg (Dennis)

    - Series improving BFQ heuristics (Paolo, et al)

    - Series improving heuristics for the Kyber IO scheduler (Omar)

    - Removal of dangerous bio_rewind_iter() API (Ming)

    - Apply single queue IPI redirection logic to blk-mq (Ming)

    - Set of fixes and improvements for bcache (Coly et al)

    - Series closing a hotplug race with sysfs group attributes (Hannes)

    - Set of patches for lightnvm:
    - pblk trace support (Hans)
    - SPDX license header update (Javier)
    - Tons of refactoring patches to cleanly abstract the 1.2 and 2.0
    specs behind a common core interface. (Javier, Matias)
    - Enable pblk to use a common interface to retrieve chunk metadata
    (Matias)
    - Bug fixes (Various)

    - Set of fixes and updates to the blk IO latency target (Josef)

    - blk-mq queue number updates fixes (Jianchao)

    - Convert a bunch of drivers from the old legacy IO interface to
    blk-mq. This will conclude with the removal of the legacy IO
    interface itself in 4.21, with the rest of the drivers (me, Omar)

    - Removal of the DAC960 driver. The SCSI tree will introduce two
    replacement drivers for this (Hannes)"

    * tag 'for-4.20/block-20181021' of git://git.kernel.dk/linux-block: (204 commits)
    block: setup bounce bio_sets properly
    blkcg: reassociate bios when make_request() is called recursively
    blkcg: fix edge case for blk_get_rl() under memory pressure
    nvme-fabrics: move controller options matching to fabrics
    nvme-rdma: always have a valid trsvcid
    mtip32xx: fully switch to the generic DMA API
    rsxx: switch to the generic DMA API
    umem: switch to the generic DMA API
    sx8: switch to the generic DMA API
    sx8: remove dead IF_64BIT_DMA_IS_POSSIBLE code
    skd: switch to the generic DMA API
    ubd: remove use of blk_rq_map_sg
    nvme-pci: remove duplicate check
    drivers/block: Remove DAC960 driver
    nvme-pci: fix hot removal during error handling
    nvmet-fcloop: suppress a compiler warning
    nvme-core: make implicit seed truncation explicit
    nvmet-fc: fix kernel-doc headers
    nvme-fc: rework the request initialization code
    nvme-fc: introduce struct nvme_fcp_op_w_sgl
    ...

    Linus Torvalds
     
  • Pull arm64 updates from Catalin Marinas:
    "Apart from some new arm64 features and clean-ups, this also contains
    the core mmu_gather changes for tracking the levels of the page table
    being cleared and a minor update to the generic
    compat_sys_sigaltstack() introducing COMPAT_SIGMINSKSZ.

    Summary:

    - Core mmu_gather changes which allow tracking the levels of
    page-table being cleared together with the arm64 low-level flushing
    routines

    - Support for the new ARMv8.5 PSTATE.SSBS bit which can be used to
    mitigate Spectre-v4 dynamically without trapping to EL3 firmware

    - Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack

    - Optimise emulation of MRS instructions to ID_* registers on ARMv8.4

    - Support for Common Not Private (CnP) translations allowing threads
    of the same CPU to share the TLB entries

    - Accelerated crc32 routines

    - Move swapper_pg_dir to the rodata section

    - Trap WFI instruction executed in user space

    - ARM erratum 1188874 workaround (arch_timer)

    - Miscellaneous fixes and clean-ups"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (78 commits)
    arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work
    arm64: cpufeature: Trap CTR_EL0 access only where it is necessary
    arm64: cpufeature: Fix handling of CTR_EL0.IDC field
    arm64: cpufeature: ctr: Fix cpu capability check for late CPUs
    Documentation/arm64: HugeTLB page implementation
    arm64: mm: Use __pa_symbol() for set_swapper_pgd()
    arm64: Add silicon-errata.txt entry for ARM erratum 1188873
    Revert "arm64: uaccess: implement unsafe accessors"
    arm64: mm: Drop the unused cpu parameter
    MAINTAINERS: fix bad sdei paths
    arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines
    arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c
    arm64: xen: Use existing helper to check interrupt status
    arm64: Use daifflag_restore after bp_hardening
    arm64: daifflags: Use irqflags functions for daifflags
    arm64: arch_timer: avoid unused function warning
    arm64: Trap WFI executed in userspace
    arm64: docs: Document SSBS HWCAP
    arm64: docs: Fix typos in ELF hwcaps
    arm64/kprobes: remove an extra semicolon in arch_prepare_kprobe
    ...

    Linus Torvalds
     

21 Oct, 2018

2 commits