# git rev-parse -q --verify c145ff82749b4daa660ab4739f5412b2d62e2d8a^{commit} c145ff82749b4daa660ab4739f5412b2d62e2d8a already have revision, skipping fetch # git checkout -q -f -B kisskb c145ff82749b4daa660ab4739f5412b2d62e2d8a # git clean -qxdf # < git log -1 # commit c145ff82749b4daa660ab4739f5412b2d62e2d8a # Author: Aneesh Kumar K.V # Date: Tue Sep 17 18:08:51 2019 +0530 # # powerpc/nvdimm: Update vmemmap_populated to check sub-section range # # With commit: 7cc7867fb061 ("mm/devm_memremap_pages: enable sub-section remap") # pmem namespaces are remapped in 2M chunks. On architectures like ppc64 we # can map the memmap area using 16MB hugepage size and that can cover # a memory range of 16G. # # While enabling new pmem namespaces, since memory is added in sub-section chunks, # before creating a new memmap mapping, kernel should check whether there is an # existing memmap mapping covering the new pmem namespace. Currently, this is # validated by checking whether the section covering the range is already # initialized or not. Considering there can be multiple namespaces in the same # section this can result in wrong validation. Update this to check for # sub-sections in the range. This is done by checking for all pfns in the range we # are mapping. # # We could optimize this by checking only just one pfn in each sub-section. But # since this is not fast-path we keep this simple. # # Signed-off-by: Aneesh Kumar K.V # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20190917123851.22553-1-aneesh.kumar@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 c145ff82749b4daa660ab4739f5412b2d62e2d8a # < make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_powernv_defconfig+STRICT_RWX_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- powernv_defconfig # Added to kconfig CONFIG_RELOCATABLE=n # Added to kconfig CONFIG_STRICT_KERNEL_RWX=y # yes \n | make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_powernv_defconfig+STRICT_RWX_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 10 ARCH=powerpc O=/kisskb/build/powerpc-next_powernv_defconfig+STRICT_RWX_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/include/linux/list.h:9:0, from /kisskb/src/include/linux/wait.h:7, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/btrfs/send.c:7: /kisskb/src/fs/btrfs/send.c: In function 'process_extent': /kisskb/src/include/linux/kernel.h:37:33: warning: 'clone_src_i_size' may be used uninitialized in this function [-Wmaybe-uninitialized] #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) ^ /kisskb/src/fs/btrfs/send.c:5088:6: note: 'clone_src_i_size' was declared here u64 clone_src_i_size; ^ WARNING: vmlinux.o(.text+0x2fc8): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. Completed OK # rm -rf /kisskb/build/powerpc-next_powernv_defconfig+STRICT_RWX_ppc64le-gcc5 # Build took: 0:05:47.390501