# git rev-parse -q --verify dad4f140edaa3f6bb452b6913d41af1ffd672e45^{commit} dad4f140edaa3f6bb452b6913d41af1ffd672e45 already have revision, skipping fetch # git checkout -q -f -B kisskb dad4f140edaa3f6bb452b6913d41af1ffd672e45 # git clean -qxdf # < git log -1 # commit dad4f140edaa3f6bb452b6913d41af1ffd672e45 # Merge: 69d5b97c5973 3a08cd52c37c # Author: Linus Torvalds # Date: Sun Oct 28 11:35:40 2018 -0700 # # Merge branch 'xarray' of git://git.infradead.org/users/willy/linux-dax # # 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 # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < git log --format=%s --max-count=1 dad4f140edaa3f6bb452b6913d41af1ffd672e45 # < make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0xD0219893 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # yes \n | make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- /kisskb/src/scripts/unifdef.c: In function 'Mpass': /kisskb/src/scripts/unifdef.c:453:28: warning: 'strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] static void Mpass (void) { strncpy(keyword, "if ", 4); Pelif(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'ZSTD_copyRawBlock', inlined from 'ZSTD_decompressContinue' at /kisskb/src/lib/zstd/decompress.c:1811:24, inlined from 'ZSTD_decompressStream' at /kisskb/src/lib/zstd/decompress.c:2353:5: /kisskb/src/lib/zstd/decompress.c:416:2: warning: argument 1 null where non-null expected [-Wnonnull] memcpy(dst, src, srcSize); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/x86/include/asm/string.h:5, from /kisskb/src/include/linux/string.h:20, from /kisskb/src/lib/zstd/mem.h:24, from /kisskb/src/lib/zstd/bitstream.h:54, from /kisskb/src/lib/zstd/fse.h:228, from /kisskb/src/lib/zstd/decompress.c:32: /kisskb/src/lib/zstd/decompress.c: In function 'ZSTD_decompressStream': /kisskb/src/arch/x86/include/asm/string_64.h:32:14: note: in a call to function 'memcpy' declared here extern void *memcpy(void *to, const void *from, size_t len); ^~~~~~ In function 'ZSTD_setRleBlock', inlined from 'ZSTD_decompressContinue' at /kisskb/src/lib/zstd/decompress.c:1812:24, inlined from 'ZSTD_decompressStream' at /kisskb/src/lib/zstd/decompress.c:2353:5: /kisskb/src/lib/zstd/decompress.c:426:2: warning: argument 1 null where non-null expected [-Wnonnull] memset(dst, *(const BYTE *)src, regenSize); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/x86/include/asm/string.h:5, from /kisskb/src/include/linux/string.h:20, from /kisskb/src/lib/zstd/mem.h:24, from /kisskb/src/lib/zstd/bitstream.h:54, from /kisskb/src/lib/zstd/fse.h:228, from /kisskb/src/lib/zstd/decompress.c:32: /kisskb/src/lib/zstd/decompress.c: In function 'ZSTD_decompressStream': /kisskb/src/arch/x86/include/asm/string_64.h:51:7: note: in a call to function 'memset' declared here void *memset(void *s, int c, size_t n); ^~~~~~ In function 'ZSTD_copyRawBlock', inlined from 'ZSTD_decompressContinue' at /kisskb/src/lib/zstd/decompress.c:1811:24, inlined from 'ZSTD_decompressStream' at /kisskb/src/lib/zstd/decompress.c:2356:6: /kisskb/src/lib/zstd/decompress.c:416:2: warning: argument 1 null where non-null expected [-Wnonnull] memcpy(dst, src, srcSize); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/x86/include/asm/string.h:5, from /kisskb/src/include/linux/string.h:20, from /kisskb/src/lib/zstd/mem.h:24, from /kisskb/src/lib/zstd/bitstream.h:54, from /kisskb/src/lib/zstd/fse.h:228, from /kisskb/src/lib/zstd/decompress.c:32: /kisskb/src/lib/zstd/decompress.c: In function 'ZSTD_decompressStream': /kisskb/src/arch/x86/include/asm/string_64.h:32:14: note: in a call to function 'memcpy' declared here extern void *memcpy(void *to, const void *from, size_t len); ^~~~~~ In function 'ZSTD_setRleBlock', inlined from 'ZSTD_decompressContinue' at /kisskb/src/lib/zstd/decompress.c:1812:24, inlined from 'ZSTD_decompressStream' at /kisskb/src/lib/zstd/decompress.c:2356:6: /kisskb/src/lib/zstd/decompress.c:426:2: warning: argument 1 null where non-null expected [-Wnonnull] memset(dst, *(const BYTE *)src, regenSize); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/x86/include/asm/string.h:5, from /kisskb/src/include/linux/string.h:20, from /kisskb/src/lib/zstd/mem.h:24, from /kisskb/src/lib/zstd/bitstream.h:54, from /kisskb/src/lib/zstd/fse.h:228, from /kisskb/src/lib/zstd/decompress.c:32: /kisskb/src/lib/zstd/decompress.c: In function 'ZSTD_decompressStream': /kisskb/src/arch/x86/include/asm/string_64.h:51:7: note: in a call to function 'memset' declared here void *memset(void *s, int c, size_t n); ^~~~~~ Completed OK # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:10:21.347334