Buildresult: powerpc-next/powerpc-randconfig/powerpc-gcc5 built on Apr 4 2018, 23:49
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
Failed
Date/Time:
Apr 4 2018, 23:49
Duration:
0:01:57.833141
Builder:
ka1
Revision:
cxl: Fix possible deadlock when processing page faults from cxllib (
ad7b4e8022b9864c075fe71e1328b1d25cad82f6)
Target:
powerpc-next/powerpc-randconfig/powerpc-gcc5
Branch:
powerpc-next
Compiler:
powerpc-gcc5
(powerpc64-linux-gcc (GCC) 5.3.0)
Config:
randconfig
(
download
)
Log:
Download original
Possible errors
make[1]: *** [vmlinux] Error 139 make: *** [sub-make] Error 2
Possible warnings (8)
drivers/gpu/drm/amd/amdgpu/soc15.c:549:3: warning: #warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." [-Wcpp] # warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." drivers/gpu/drm/amd/amdgpu/soc15.c:568:3: warning: #warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." [-Wcpp] # warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." WARNING: vmlinux.o(.text+0x13c90): Section mismatch in reference from the function .setup_rfi_flush() to the function .init.text:.ppc64_bolted_size() WARNING: vmlinux.o(.text+0x13cb8): Section mismatch in reference from the function .setup_rfi_flush() to the function .init.text:.memblock_alloc_base() WARNING: vmlinux.o(.text+0x19f534): Section mismatch in reference from the function .devm_memremap_pages_release() to the function .meminit.text:.arch_remove_memory() WARNING: vmlinux.o(.text+0x19fa94): Section mismatch in reference from the function .devm_memremap_pages() to the function .meminit.text:.arch_add_memory()
Full Log
# git rev-parse -q --verify ad7b4e8022b9864c075fe71e1328b1d25cad82f6^{commit} ad7b4e8022b9864c075fe71e1328b1d25cad82f6 already have revision, skipping fetch # git checkout -q -f -B kisskb ad7b4e8022b9864c075fe71e1328b1d25cad82f6 # git clean -qxdf # < git log -1 # commit ad7b4e8022b9864c075fe71e1328b1d25cad82f6 # Author: Frederic Barrat <fbarrat@linux.vnet.ibm.com> # Date: Tue Apr 3 15:54:02 2018 +0200 # # cxl: Fix possible deadlock when processing page faults from cxllib # # cxllib_handle_fault() is called by an external driver when it needs to # have the host resolve page faults for a buffer. The buffer can cover # several pages and VMAs. The function iterates over all the pages used # by the buffer, based on the page size of the VMA. # # To ensure some stability while processing the faults, the thread T1 # grabs the mm->mmap_sem semaphore with read access (R1). However, when # processing a page fault for a single page, one of the underlying # functions, copro_handle_mm_fault(), also grabs the same semaphore with # read access (R2). So the thread T1 takes the semaphore twice. # # If another thread T2 tries to access the semaphore in write mode W1 # (say, because it wants to allocate memory and calls 'brk'), then that # thread T2 will have to wait because there's a reader (R1). If the # thread T1 is processing a new page at that time, it won't get an # automatic grant at R2, because there's now a writer thread # waiting (T2). And we have a deadlock. # # The timeline is: # 1. thread T1 owns the semaphore with read access R1 # 2. thread T2 requests write access W1 and waits # 3. thread T1 requests read access R2 and waits # # The fix is for the thread T1 to release the semaphore R1 once it got # the information it needs from the current VMA. The address space/VMAs # could evolve while T1 iterates over the full buffer, but in the # unlikely case where T1 misses a page, the external driver will raise a # new page fault when retrying the memory access. # # Fixes: 3ced8d730063 ("cxl: Export library to support IBM XSL") # Cc: stable@vger.kernel.org # 4.13+ # Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> # Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 ad7b4e8022b9864c075fe71e1328b1d25cad82f6 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0x5C235C08 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=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_LD_HEAD_STUB_CATCH=y # Added to kconfig # yes \n | make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- oldconfig yes: standard output: Broken pipe yes: write error # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/drivers/gpu/drm/amd/amdgpu/soc15.c: In function 'soc15_set_ip_blocks': /kisskb/src/drivers/gpu/drm/amd/amdgpu/soc15.c:549:3: warning: #warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." [-Wcpp] # warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." ^ /kisskb/src/drivers/gpu/drm/amd/amdgpu/soc15.c:568:3: warning: #warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." [-Wcpp] # warning "Enable CONFIG_DRM_AMD_DC for display support on SOC15." ^ WARNING: vmlinux.o(.text+0x13c90): Section mismatch in reference from the function .setup_rfi_flush() to the function .init.text:.ppc64_bolted_size() The function .setup_rfi_flush() references the function __init .ppc64_bolted_size(). This is often because .setup_rfi_flush lacks a __init annotation or the annotation of .ppc64_bolted_size is wrong. WARNING: vmlinux.o(.text+0x13cb8): Section mismatch in reference from the function .setup_rfi_flush() to the function .init.text:.memblock_alloc_base() The function .setup_rfi_flush() references the function __init .memblock_alloc_base(). This is often because .setup_rfi_flush lacks a __init annotation or the annotation of .memblock_alloc_base is wrong. WARNING: vmlinux.o(.text+0x19f534): Section mismatch in reference from the function .devm_memremap_pages_release() to the function .meminit.text:.arch_remove_memory() The function .devm_memremap_pages_release() references the function __meminit .arch_remove_memory(). This is often because .devm_memremap_pages_release lacks a __meminit annotation or the annotation of .arch_remove_memory is wrong. WARNING: vmlinux.o(.text+0x19fa94): Section mismatch in reference from the function .devm_memremap_pages() to the function .meminit.text:.arch_add_memory() The function .devm_memremap_pages() references the function __meminit .arch_add_memory(). This is often because .devm_memremap_pages lacks a __meminit annotation or the annotation of .arch_add_memory is wrong. /kisskb/src/scripts/link-vmlinux.sh: line 94: 22141 Segmentation fault ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} -T ${lds} ${objects} /kisskb/src/Makefile:1032: recipe for target 'vmlinux' failed make[1]: *** [vmlinux] Error 139 Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-next_powerpc-randconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-next_powerpc-randconfig_powerpc-5.3 # Build took: 0:01:57.833141
© Michael Ellerman 2006-2018.