lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 14 Mar 2017 09:30:19 +0800
From:   kernel test robot <xiaolong.ye@...el.com>
To:     Dmitry Safonov <dsafonov@...tuozzo.com>
Cc:     linux-kernel@...r.kernel.org, 0x7f454c46@...il.com,
        Dmitry Safonov <dsafonov@...tuozzo.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>,
        "H. Peter Anvin" <hpa@...or.com>,
        Andy Lutomirski <luto@...nel.org>,
        Borislav Petkov <bp@...e.de>, x86@...nel.org,
        linux-mm@...ck.org, Cyrill Gorcunov <gorcunov@...nvz.org>,
        "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>, lkp@...org
Subject: [lkp-robot] [x86/mm]  0d708eaade: libhugetlbfs.32bit.unlinked_fd.fail


FYI, we noticed the following commit:

commit: 0d708eaade1be6e0e6da453f5ddde178143b8fa1 ("x86/mm: introduce mmap_compat_base for 32-bit mmap()")
url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Fix-compatible-mmap-return-pointer-over-4Gb/20170307-183052


in testcase: libhugetlbfs
with following parameters:

	pagesize: 2MB
	pagenum: 25
	cpufreq_governor: performance



on test machine: 48 threads 2 sockets Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz with 64G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




2017-03-08 09:13:02 obj/hugeadm --add-temp-swap=25 --pool-pages-min 2MB:25 --hard
Setting up swapspace version 1, size = 50 MiB (52424704 bytes)
no label, UUID=295fdfb1-1054-4692-9512-3d2e4236627f
2017-03-08 09:13:02 make check
zero_filesize_segment (2M: 32):	PASS
zero_filesize_segment (2M: 64):	PASS
test_root (2M: 32):	PASS
test_root (2M: 64):	PASS
meminfo_nohuge (2M: 32):	PASS
meminfo_nohuge (2M: 64):	PASS
gethugepagesize (2M: 32):	PASS
gethugepagesize (2M: 64):	PASS
gethugepagesizes (2M: 32):	PASS
gethugepagesizes (2M: 64):	PASS
HUGETLB_VERBOSE=1 empty_mounts (2M: 32):	PASS
HUGETLB_VERBOSE=1 empty_mounts (2M: 64):	PASS
HUGETLB_VERBOSE=1 large_mounts (2M: 32):	PASS
HUGETLB_VERBOSE=1 large_mounts (2M: 64):	PASS
find_path (2M: 32):	PASS
find_path (2M: 64):	PASS
unlinked_fd (2M: 32):	FAIL	mmap(): Cannot allocate memory
unlinked_fd (2M: 64):	PASS
readback (2M: 32):	FAIL	mmap(): Cannot allocate memory
readback (2M: 64):	PASS
truncate (2M: 32):	FAIL	mmap(): Cannot allocate memory
truncate (2M: 64):	PASS
shared (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
shared (2M: 64):	PASS
mprotect (2M: 32):	FAIL	mmap(): Cannot allocate memory
mprotect (2M: 64):	PASS
mlock (2M: 32):	FAIL	mmap() failed (flags=2): Cannot allocate memory
mlock (2M: 64):	PASS
misalign (2M: 32):	FAIL	mmap() without hint failed: Cannot allocate memory
misalign (2M: 64):	PASS
fallocate_basic.sh (2M: 32):	PASS
fallocate_basic.sh (2M: 64):	PASS
fallocate_align.sh (2M: 32):	PASS
fallocate_align.sh (2M: 64):	PASS
ptrace-write-hugepage (2M: 32):	FAIL	mmap(): Cannot allocate memory
ptrace-write-hugepage (2M: 64):	PASS
icache-hygiene (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
icache-hygiene (2M: 64):	PASS
slbpacaflush (2M: 32):	FAIL	mmap(): Cannot allocate memory
slbpacaflush (2M: 64):	PASS (inconclusive)
straddle_4GB_static (2M: 64):	PASS
huge_at_4GB_normal_below_static (2M: 64):	PASS
huge_below_4GB_normal_above_static (2M: 64):	PASS
map_high_truncate_2 (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
map_high_truncate_2 (2M: 64):	PASS
misaligned_offset (2M: 32):	FAIL	mmap() offset 4GB: Cannot allocate memory
misaligned_offset (2M: 64):	PASS (inconclusive)
truncate_above_4GB (2M: 32):	FAIL	mmap() offset 4GB: Cannot allocate memory
truncate_above_4GB (2M: 64):	PASS
brk_near_huge (2M: 32):	
brk_near_huge (2M: 64):	
task-size-overrun (2M: 32):	PASS
task-size-overrun (2M: 64):	PASS
stack_grow_into_huge (2M: 32):	PASS
stack_grow_into_huge (2M: 64):	PASS
corrupt-by-cow-opt (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
corrupt-by-cow-opt (2M: 64):	PASS
noresv-preserve-resv-page (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
noresv-preserve-resv-page (2M: 64):	PASS
noresv-regarded-as-resv (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
noresv-regarded-as-resv (2M: 64):	PASS
readahead_reserve.sh (2M: 32):	FAIL mmap(): Cannot allocate memory
readahead_reserve.sh (2M: 64):	PASS
madvise_reserve.sh (2M: 32):	FAIL mmap(): Cannot allocate memory
madvise_reserve.sh (2M: 64):	PASS
fadvise_reserve.sh (2M: 32):	FAIL mmap(): Cannot allocate memory
fadvise_reserve.sh (2M: 64):	PASS
mremap-expand-slice-collision.sh (2M: 32):	PASS
mremap-expand-slice-collision.sh (2M: 64):	PASS
mremap-fixed-normal-near-huge.sh (2M: 32):	FAIL mmap(): Cannot allocate memory
mremap-fixed-normal-near-huge.sh (2M: 64):	PASS
mremap-fixed-huge-near-normal.sh (2M: 32):	FAIL mmap(huge page): Cannot allocate memory
mremap-fixed-huge-near-normal.sh (2M: 64):	PASS
set shmmax limit to 67108864
shm-perms (2M: 32):	Bad configuration: Must have at least 32 free hugepages
shm-perms (2M: 64):	Bad configuration: Must have at least 32 free hugepages
private (2M: 32):	FAIL	mmap() SHARED: Cannot allocate memory
private (2M: 64):	PASS
fork-cow (2M: 32):	FAIL	mmap(): Cannot allocate memory
fork-cow (2M: 64):	PASS
direct (2M: 32):	Bad configuration: Failed to open direct-IO file: Invalid argument
direct (2M: 64):	Bad configuration: Failed to open direct-IO file: File exists
malloc (2M: 32):	PASS
malloc (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:none HUGETLB_MORECORE=yes malloc (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:none HUGETLB_MORECORE=yes malloc (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:malloc HUGETLB_MORECORE=yes malloc (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:malloc HUGETLB_MORECORE=yes malloc (2M: 64):	PASS
malloc_manysmall (2M: 32):	PASS
malloc_manysmall (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 64):	PASS
heapshrink (2M: 32):	PASS
heapshrink (2M: 64):	PASS
LD_PRELOAD=libheapshrink.so heapshrink (2M: 32):	PASS
LD_PRELOAD=libheapshrink.so heapshrink (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 64):	PASS
LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 32):	PASS (inconclusive)
LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 64):	PASS (inconclusive)
LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 64):	PASS
HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 32):	PASS
HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 64):	PASS
HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 32):	PASS
HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 xB.linkhuge_nofd (2M: 32):	
HUGETLB_VERBOSE=0 xB.linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 xBDT.linkhuge_nofd (2M: 32):	PASS
HUGETLB_VERBOSE=0 xBDT.linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xB.linkhuge_nofd (2M: 32):	
HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xB.linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xBDT.linkhuge_nofd (2M: 32):	PASS
HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xBDT.linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xB.linkhuge_nofd (2M: 32):	
HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xB.linkhuge_nofd (2M: 64):	PASS
HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xBDT.linkhuge_nofd (2M: 32):	PASS
HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xBDT.linkhuge_nofd (2M: 64):	PASS
linkhuge (2M: 32):	PASS
linkhuge (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 64):	PASS
xB.linkhuge (2M: 32):	FAIL	small_bss is not hugepage
xB.linkhuge (2M: 64):	PASS
xBDT.linkhuge (2M: 32):	FAIL	small_data is not hugepage
xBDT.linkhuge (2M: 64):	PASS
HUGETLB_MINIMAL_COPY=no xB.linkhuge (2M: 32):	FAIL	small_bss is not hugepage
HUGETLB_MINIMAL_COPY=no xB.linkhuge (2M: 64):	PASS
HUGETLB_MINIMAL_COPY=no xBDT.linkhuge (2M: 32):	FAIL	small_data is not hugepage
HUGETLB_MINIMAL_COPY=no xBDT.linkhuge (2M: 64):	PASS
HUGETLB_ELFMAP=no xB.linkhuge (2M: 32):	PASS
HUGETLB_ELFMAP=no xB.linkhuge (2M: 64):	PASS
HUGETLB_ELFMAP=no xBDT.linkhuge (2M: 32):	PASS
HUGETLB_ELFMAP=no xBDT.linkhuge (2M: 64):	PASS
HUGETLB_SHARE=1 xB.linkshare (2M: 32):	PASS
HUGETLB_SHARE=1 xB.linkshare (2M: 64):	PASS
HUGETLB_SHARE=1 xBDT.linkshare (2M: 32):	PASS
HUGETLB_SHARE=1 xBDT.linkshare (2M: 64):	PASS
HUGETLB_SHARE=1 xB.linkshare (2M: 32):	PASS
HUGETLB_SHARE=1 xB.linkshare (2M: 64):	PASS
HUGETLB_SHARE=1 xBDT.linkshare (2M: 32):	PASS
HUGETLB_SHARE=1 xBDT.linkshare (2M: 64):	PASS
HUGETLB_SHARE=0 xB.linkhuge (2M: 32):	FAIL	small_bss is not hugepage
HUGETLB_SHARE=0 xB.linkhuge (2M: 64):	PASS
HUGETLB_SHARE=1 xB.linkhuge (2M: 32):	FAIL	small_bss is not hugepage
HUGETLB_SHARE=1 xB.linkhuge (2M: 64):	PASS
HUGETLB_SHARE=0 xBDT.linkhuge (2M: 32):	FAIL	small_data is not hugepage
HUGETLB_SHARE=0 xBDT.linkhuge (2M: 64):	PASS
HUGETLB_SHARE=1 xBDT.linkhuge (2M: 32):	FAIL	small_data is not hugepage
HUGETLB_SHARE=1 xBDT.linkhuge (2M: 64):	PASS
linkhuge_rw (2M: 32):	PASS
linkhuge_rw (2M: 64):	PASS
HUGETLB_ELFMAP=R linkhuge_rw (2M: 32):	FAIL	small_const is not hugepage
HUGETLB_ELFMAP=R linkhuge_rw (2M: 64):	FAIL	small_const is not hugepage
HUGETLB_ELFMAP=W linkhuge_rw (2M: 32):	
HUGETLB_ELFMAP=W linkhuge_rw (2M: 64):	
HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32):	
HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64):	
HUGETLB_ELFMAP=no linkhuge_rw (2M: 32):	PASS
HUGETLB_ELFMAP=no linkhuge_rw (2M: 64):	PASS
HUGETLB_ELFMAP= HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32):	PASS
HUGETLB_ELFMAP= HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64):	PASS
HUGETLB_ELFMAP=W HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32):	FAIL	small_data is not hugepage
HUGETLB_ELFMAP=W HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64):	FAIL	small_data is not hugepage
HUGETLB_ELFMAP=RW HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32):	FAIL	small_data is not hugepage
HUGETLB_ELFMAP=RW HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64):	FAIL	small_data is not hugepage
HUGETLB_SHARE=0 HUGETLB_ELFMAP=R linkhuge_rw (2M: 32):	FAIL	small_const is not hugepage
HUGETLB_SHARE=0 HUGETLB_ELFMAP=R linkhuge_rw (2M: 64):	FAIL	small_const is not hugepage
HUGETLB_SHARE=1 HUGETLB_ELFMAP=R linkhuge_rw (2M: 32):	FAIL	small_const is not hugepage
HUGETLB_SHARE=1 HUGETLB_ELFMAP=R linkhuge_rw (2M: 64):	FAIL	small_const is not hugepage
HUGETLB_SHARE=0 HUGETLB_ELFMAP=W linkhuge_rw (2M: 32):	
HUGETLB_SHARE=0 HUGETLB_ELFMAP=W linkhuge_rw (2M: 64):	
HUGETLB_SHARE=1 HUGETLB_ELFMAP=W linkhuge_rw (2M: 32):	
HUGETLB_SHARE=1 HUGETLB_ELFMAP=W linkhuge_rw (2M: 64):	
HUGETLB_SHARE=0 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32):	
HUGETLB_SHARE=0 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64):	
HUGETLB_SHARE=1 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32):	
HUGETLB_SHARE=1 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64):	
chunk-overcommit (2M: 32):	FAIL	mmap() chunk1: Cannot allocate memory
chunk-overcommit (2M: 64):	PASS
alloc-instantiate-race shared (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
alloc-instantiate-race shared (2M: 64):	PASS
alloc-instantiate-race private (2M: 32):	FAIL	mmap() 1: Cannot allocate memory
alloc-instantiate-race private (2M: 64):	PASS
truncate_reserve_wraparound (2M: 32):	FAIL	mmap(): Cannot allocate memory
truncate_reserve_wraparound (2M: 64):	PASS
truncate_sigbus_versus_oom (2M: 32):	FAIL	mmap(): Cannot allocate memory
truncate_sigbus_versus_oom (2M: 64):	PASS
get_huge_pages (2M: 32):	FAIL	get_huge_pages() for 1 hugepages
get_huge_pages (2M: 64):	PASS
shmoverride_linked (2M: 32):	PASS
shmoverride_linked (2M: 64):	PASS
HUGETLB_SHM=yes shmoverride_linked (2M: 32):	FAIL	shmmat failed from line 176: Cannot allocate memory
HUGETLB_SHM=yes shmoverride_linked (2M: 64):	PASS
shmoverride_linked_static (2M: 32):	PASS
shmoverride_linked_static (2M: 64):	PASS
HUGETLB_SHM=yes shmoverride_linked_static (2M: 32):	FAIL	shmmat failed from line 176: Cannot allocate memory
HUGETLB_SHM=yes shmoverride_linked_static (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 32):	PASS
LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 64):	PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 32):	FAIL	shmmat failed from line 176: Cannot allocate memory
LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 64):	PASS
quota.sh (2M: 32):	FAIL kernel_has_private_reservations() failed
quota.sh (2M: 64):	PASS
counters.sh (2M: 32):	FAIL kernel_has_private_reservations() failed
counters.sh (2M: 64):	PASS
mmap-gettest 10 25 (2M: 32):	FAIL	Failed to mmap the hugetlb file: Cannot allocate memory
mmap-gettest 10 25 (2M: 64):	PASS
mmap-cow 24 25 (2M: 32):	FAIL	Failed to create shared mapping: Cannot allocate memory
mmap-cow 24 25 (2M: 64):	PASS
set shmmax limit to 52428800
shm-fork 10 12 (2M: 32):	FAIL	Thread 0 (pid=4492) failed
shm-fork 10 12 (2M: 64):	PASS
set shmmax limit to 52428800
shm-fork 10 25 (2M: 32):	FAIL	Thread 0 (pid=4535) failed
shm-fork 10 25 (2M: 64):	PASS
set shmmax limit to 52428800
shm-getraw 25 /dev/full (2M: 32):	FAIL	shmat() failed: Cannot allocate memory
shm-getraw 25 /dev/full (2M: 64):	PASS
fallocate_stress.sh (2M: 32):	FAIL mmap(): Cannot allocate memory FAIL mmap(): FAIL mmap(): Cannot allocate memory FAIL mmap(): Cannot allocate memory
fallocate_stress.sh (2M: 64):	PASS
********** TEST SUMMARY
*                      2M            
*                      32-bit 64-bit 
*     Total testcases:   110    113   
*             Skipped:     0      0   
*                PASS:    45     99   
*                FAIL:    53      5   
*    Killed by signal:    10      7   
*   Bad configuration:     2      2   
*       Expected FAIL:     0      0   
*     Unexpected PASS:     0      0   
* Strange test result:     0      0   
**********



To reproduce:

        git clone https://github.com/01org/lkp-tests.git
        cd lkp-tests
        bin/lkp install job.yaml  # job file is attached in this email
        bin/lkp run     job.yaml



Thanks,
Xiaolong

View attachment "config-4.10.0-11076-g0d708ea" of type "text/plain" (157909 bytes)

View attachment "job-script" of type "text/plain" (6585 bytes)

Download attachment "kmsg.xz" of type "application/octet-stream" (29624 bytes)

View attachment "libhugetlbfs" of type "text/plain" (25802 bytes)

View attachment "job.yaml" of type "text/plain" (4234 bytes)

View attachment "reproduce" of type "text/plain" (181 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ